Comp 14: Introduction to Programming


    Course Description:
      • 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.

    Meeting times and Places:
      Lectures: MTWRF 9:15am - 11:15am, Sitterson Hall 011
      Office Hours: MTWR 2:00pm - 3:00pm, Sitterson Hall 257

    Course Materials:
        Java Programming: From Problem Analysis to Program Design (companion website)
        D. Malik, P. Nair
        ISBN: 0-619-06497-8
        Available online and at UNC Student Stores.


    Course Topics:
    This course will cover the following topics:
    • Algorithm design
    • Variables, types, values, declarations
    • Keyboard input and screen output
    • Expressions and assignments
    • Flow Control (if/else and switch)
    • Loops (for and while)
    • 1D and 2D arrays
    • Classes
    • Functions

      Check your email and the course web page often!! Assignments and announcements will be made available on the course web page and not being aware of them is not an excuse for missing an assignment - especially if you miss class.
      Every student is responsible for the material in the assigned reading, and the material covered at every lecture. The lecture topics and the reading will correspond, but will offer complementary explanations. The lectures will also be the venue for announcing and explaining the programming assignments, etc.

    Assignments and Grading:
      This course will involve a number of take-home assignments and programming projects, quizzes, a midterm exam and a final exam. Assignments are to be handed in by 11:59pm on the due date. Students may discuss and explore general topics with each other, but each student must do their own work including the entire write-up. There will be a quiz every week, the lowest quiz grade will be dropped. Each quiz will be on material covered during the past week. The exams, Midterm and Final, will be cumulative. The quizzes and exams will be closed-book.

    The weights of the grades are as follows:
      Programming Assignments 45 %
      Homeworks/Quizzes 10 %
      Midterm Exam 15 %
      Final Exam/Project 25 %
      Class Participation 5 %

    Honor Code
    Every student should read about the honor code policy of the school and the department, which is described at:

    Late Policy
    5 points will be deducted from an assignment for each day it is late. An assignment is considered late if it is turned in after 11:59pm on the day it is due, unless otherwise expressed. There will be no make-ups permitted for quizzes or exams due to a missed class, unless with an appropriate excuse (such as a doctor's note).