Comp 14: Introduction to Programming

Section 002: [MW 3:00pm-4:15pm], [F 3pm-3:50pm]
Fall 2005

"You think of yourself as writing for a human being, explaining to a human being what a computer should do, instead of thinking of yourself as talking to the computer telling it what to do."
--Donald Knuth

    Schedule & Lectures Assignments Additional Files Blackboard Syllabus


    • 12/05/2005: The final exam will be on Friday, December 16th at 4pm in Phillips room 383
    • 12/02/2005: Tetris is cancled.
    • 11/30/2005: Tetris is now available.
    • 11/18/2005: Program 4 is now available.
    • 11/16/2005: I've posted some original student drawings to accompany program 2.
    • 11/11/2005: To avoid confusion, I'm extending the Tic Tac Toe due date until Friday.
    • 11/08/2005: Wired has an article about the 10 worst software bugs in history.
    • 11/07/2005: Applet not working in your web browser? Here's Matt's fix.
    • 11/05/2005: Program 3 has been posted.
    • 11/04/2005: SecureCRT may be downloaded from UNC's shareware distribution page
    • 09/07/2005: Java SDK 1.5.0 (aka JDK 5.0 update 4) availalbe here.
    • 09/05/2005: WinZip is available from UNC's Shareware Website
    • 09/01/2005: Sassafrass! is available on Ted Kim's website

    Instructor and Class Information:

      Andrew Leaver-Fay
      email: plato AT cs DOT unc DOT edu
      Office: Sitterson 343, 962-1934 (I am no longer at this number)
      Lectures: MW 3pm - 4:15pm, Peabody Hall 217
      Recitation: F 3pm - 3:50pm, Peabody Hall 217

      Office Hours: MW 4:15pm-5:15pm, Sitterson Hall 042

      All assignments should be submitted through Blackboard.

    Course Objectives and Overview:


      • Introduction to computer use. Approaches to problem-solving; algorithms and their design; fundamental programming skills.
      • This course is an introduction to computer programming for students with no prior programming experience.
      • We will use the Java programming language.

      There are no official course pre-requisites for this class, but a basic background in math is needed. Basic computer skills (using a web browser, writing email, using word processing applications, downloading and installing software) are assumed for COMP 14. If you are not comfortable using a computer, consider taking COMP 4 ("Power Tools for the Mind") before taking COMP 14.
      If you have previous programming experience, such as in a high school course, (especially, a Computer Science AP course) consider taking COMP 114 ("Foundation of Programming") instead.

      This course (or COMP 15 or COMP 16) is required for COMP 114. COMP 14 satisfies a mathematical sciences perspective.


      Java Programming: From Problem Analysis to Program Design, 2nd Edition ( companion website)
      D.S. Malik
      ISBN: 0-619-21608-5
      Available online and at UNC Student Stores.

    A large part of class material has been borrowed from Michele Clark Weigle (, Miguel Otaduy (, and Kelly Ward ( previous instructors of Comp14.