Intro to Computer Programming
New York University
Department of Computer Science

Course description

An introduction to the fundamentals of computer programming, which is the foundation of computer science. Students design, write, and debug computer programs. No knowledge of programming is assumed.



Fully online modality

This course is fully online, primarily via Zoom. A link to the online Zoom sessions and other hepful links will be shared via email prior to the first class.

Learning objectives

Upon completing this course, students will be familiar with the fundamentals of computer programming in Python, a high-level programming language. Specific topics include:

To achieve mastery in these topics, students will take quizzes and complete exercises corresponding to each lecture topic as well as a midterm and final exam.


Amos Bloomberg
amos at cs dot nyu dot edu
WWH 424


This course is offered by the Computer Science Department. For department-related questions or concerns, please see the department’s contact information.



We do not teach directly from any textbook. If you do purchase a textbook, this is a recommended textbook for this course:

Additional helpful texts

Getting help

Help resources available to you are listed in order of urgency of your problem:


Our course will use a message board (link to be distributed in class) as its main communication channel for announcements and discussion. This is a good place to ask questions that anyone - other students, graders, tutors, or the professor - can answer. This is a resource best used when the answer is not required urgently.


Tutors for this course are waiting to answer your questions, either on our message board or during dedicated tutoring hours. Use tutoring for more involved questions and when you prefer a more immeidate answer.

Tutoring hours (all times in Eastern Time):

Talk with the instructor

For any issues at all, contact the instructor:

Additional tutoring resources

Additional academic support is also available through the University Learning Center.

Attendance & participation

Attendance is mandatory. In-class and online message board participation is encouraged. Anecdotally, students who do not attend class regularly and who do not participate in discussions tend to do poorly.

Required software and hardware

All students require access to a desktop or laptop computer on which they can write software using a specific set of applications.


You will receive a grade calculated mechanically on the following rubric.

Notification of grades

Students will be sent their complete individual grades via email approximately once per week.


Quizzes are completed outside of class. You must be logged into Google with your NYU Net ID account in Google in order to view the Quizzes.

Quizzes are submitted by submitting a Google Form.


Exercises are completed outside of class. In general, there is one exercises for each main topic of lecture.

Most exercises include a set of automated tests that can be run when the student wishes to evaluate the correctness of their own work.

All exercises are submitted by pushing code to GitHub.

Late policy

All assigned work is due before class on the due date indicated on the schedule


Students are automatically granted 2 late assignment extensions of up to 3 days late each, with the exception that all assignments must be submitted before the last day of regular classes before the final exam period.

Regrade requests

If a student requests a regrade of any work, we will regrade the work in full, not just the part that the student believes has been mis-graded.

How to study

Everyone has their own style and way of learning. The following is a general study plan that is probably pretty good for most people but probably not perfect for anyone.

Come to class

Plan to spend significant time alone doing work for the course

Don’t move ahead until you’ve covered your behind:

Come to class and pay attention:

Review anything and everything:

Student Accommodations and Accessibility

Students who believe that they may need accessibility accommodations in this class are encouraged to contact the Moses Center for Student Accessibility at (212) 998-4980 as soon as possible to better ensure that such accommodations are implemented in a timely fashion.

Academic Integrity

Working with others and leveraging all resources available to you is a prerequisite for success. This is different from copying, cheating, plagiarism, and mental laziness. All submitted work must be your own. There are very reliable systems we use to detect plagiarism in computer code, such as moss and compare50. If you submit any work that is not your own, you risk failure or worse.

Please read the Computer Science department’s policy on academic integrity and the University-wide policy which supercedes it.