Tuesday and Thursday, 9:30–10:45
Room 102, Warren Weaver Hall

Professor: Marsha Berger

Email: berger [at] cs.nyu.edu

Office hours: Immediately after class for an hour. If you can't make my office hours email me to set up another time, or feel free to try dropping in to my office, where I am usually around until 6.

Course Description

Students will learn how to design algorithms to solve problems, and translate these algorithms into working computer programs using the Java programming language. No previous java experience is required. This is the first course for computer science majors. Students are expected to already have some programming experience (see prerequisites below).

Class participation is important. Students should note that I generally ask all students to close their laptops and put away their phones at the start of class (i.e. no checking email or web surfing during class) to help promote participation and reduce multi-tasking, unless we are engaged in programming exercises. (See this article about student multitasking). I also expect students to come to class on time.


Students must have either taken 0002 (Intro. to Programming), or passed a placement test.

Students who have taken the AP test for a high school course and received a 4 or 5 should take Data Structures / CSCI-UA.0102 instead of this course. If you didn't take the AP test but feel you know the material, you could take a placement test for 102.

Course Textbook

"Introduction to Java Programming, Brief Version", 10th edition, by Y. Daniel Liang. This is a required textbook. There are copies on reserve in Bobst. There will be weekly quizzes based on readings from the textbook.

Course Work

The course will include weekly or biweekly programming assignments, one or two midterms, and a final exam.There are no makeup exams. The exams will count for approximately 75% of the grade. There will be a weekly on-line quizzes (~5% of the grade) based on the textbook. This will help free up class time so we can do in-class programming exercises. We will be using NYU classes to submit homework. The percentages are subject to change. Students should be aware that the second half of the class is substantially more difficult than the first half.

Lab Tutors

All 101 sections can use the lab tutors at Kimmel for help with programming issues and related questions. There is some tutoring every day, located in the Kimmel labs. The tutoring schedule is here. There is no TA for the course.

Late Policy

Homework must be submitted before the announced date and time deadline for full credit. 5% credit will be be deducted for every day late. Late homework will not be accepted after 3 days, unless previous arrangements with a documented excuse have been made.

Academic Integrity

All students should submit their own work. You should personally have written and entered every line in your code, unless a group project has been assigned. Students who cheat or plagiarize will be reported to the Dean. The department academic integrity policy is here.