Introduction to Computer Programming

CSCI-UA.0002: Introduction to Computer Programming, Spring 2014
Section #05 – Monday / Wednesday, 11:00AM — 12:15PM, CIWW 102

Professor Craig Kapp
Office Hours: Tuesday / Thursday, 11:00am – 12:30pm, CIWW 420
E-mail: kapp [-at-] cs [-dot] nyu [-dot-] edu
Course Blog:

Common Course Syllabus

General information regarding the course, topics covered, required textbooks, course tutors, etc. can be found at:


Three years of high school mathematics or equivalent. No prior computer experience assumed. Students with any programming experience should consult with the computer science department before registering. Students who have taken or are taking CSCI-UA 101 will not receive credit for this course. Note: This course is not intended for computer science majors, although it is a prerequisite for students with no previous programming experience who want to continue in CSCI-UA 101.Offered every semester. 4 points.

Course Description

This course is designed to be a “gentle introduction” to the fundamentals of computer programming, which is the foundation of Computer Science. Students will design, write and debug computer programs. No knowledge of programming is assumed.

Course Tutors

Tutoring is held in the 14 Washington Place lab.  Tutors will be at the PC just to the right near the bottom of the stairs.  For information regarding the tutoring schedule please refer to the common course syllabus.


In this course, we will study the fundamentals of computer programming … one of the towering intellectual achievements of the 20th century. We will design, code, and debug programs using Python as we explore these concepts.


There will be two midterm exams and one final exam. Your grade will be 20 percent for each midterm, 40 percent for the final and 20 percent for homework. If you plan to continue with computer science courses such as CSCI-UA.0101, you *MUST* get a grade of C or better in this course. No exceptions will be made.  Attendance is mandatory and will be taken at the beginning of every class.  Grades will be determined using the following scale:

A 94-100
A- 90-94
B+ 87-90
B 84-87
B- 80-84
C+ 77-80
C 74-80
C- 70-74
D 65-70
F less than 65


There will be twelve assignments in this course that will be assigned on a weekly basis. In general, assignments are due one week (7 days) after they are assigned at 11:59pm (midnight).  For a full outline of assignment due dates please refer to the “Schedule” tab above.  Each assignment will be scored out of 20 points.

It is important not to get behind in turning your assignments.  Late submissions will be penalized by 10% off per day late (2 points), and assignments that are more than 1 week late (7 days) can not be turned in for credit.

You will be using NYU classes to turn in your homework assignments.  It is your responsibility to make sure that your assignments have been submitted successfully.  You can do this by simply attempting to download your work after it has been uploaded to the system – if you are able to do so, your assignment was submitted successfully.  If you do have trouble with NYU classes you can always e-mail your homework to me directly.

With this said, your lowest assignment grade will be dropped and will not factor into your final grade.

All grading will be done via NYU’s official course management system (NYU Classes). You can check your grades at any time by logging into your NYU Home page ( and clicking through to the NYU Classes section established for our class. If you notice an irregularity (i.e. you mistakenly lost points for an item that you successfully completed) please let me know and I will be happy to sit down with you to review your work. All grade changes must be completed in person and cannot be done over e-mail.

Assignments that you turn in should be your own work. It is fine to talk to other students and to get assistance in how to do something, but you should not ask your fellow students to actually do the work for you. When you turn in an assignment, you are saying that you have done this work yourself. The definition of plagiarism is to present someone else’s work as though it were your own.  Please read the Computer Science Department statement on academic integrity for more information.


The main software package that we will be working with this semester is the Python programming language.  Python is an open-source project, and anyone can get their own copy free of charge at We will be using Python 3.3 this semester.

In addition, Macintosh and PC computers with Python 3.3 pre-installed will be made available to you in the ITS labs. Theoretically, you do not need your own computer to complete the required coursework for this class.

Saving your work in the lab

You will be able to save your work ITS labs under your NYU Home Account and/or on your own flash drives. Although you can write to the hard disks of the machines in the labs, you cannot be sure that you will have access to the same machine the next time you enter the lab and the drives in the lab are frequently erased. The best option is to upload your files online and download them as needed (we will go over this in class).

Home Computers

Many students will have access to home computers or computers at work. It is fine to do your assignments on whatever resources you have available, as long as your software is current. You are not required to do your assignments in the NYU labs. You may find it advantageous to visit the labs however since there will be a tutor available 20 hours per week, and other students can sometimes assist you with general features of the programs.

Using the NYU Computing Facilities

The main computer labs to use for this class are in the Third Avenue North Dorm and in the Education building. Further information on the labs is available from ITS.

  • Third Avenue North Lab is located at 75 Third Avenue, Level C3 (downstairs) near 12th Street.
  • Multimedia lab is located in the Education Building, at 35 W. 4th Street, on the second floor.
  • There are other labs, although those are the main two with Macintosh computers. You use your ID card to gain access to the computer labs.


I recognize that every student has a different level of background knowledge prior experience when it comes to technology. This course is designed as an introductory level class and topics will be presented assuming very little prior exposure to the topics. With that said, every student learns differently and I want to ensure that each of you is getting the maximum amount out of the course content as possible. Please do not hesitate to get in touch with me via e-mail or during office hours if you feel as though you are falling behind or you are not understanding a certain concept.