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

Professor: Marsha Berger

Email: berger [at] cs.nyu.edu

Office hours: T/TH 11-12 (immediately after class) or email me to make an appointment if you can't make it.

Course Description

Students will learn how to design algorithms to solve problems, and translate these algorithms into working computer programs using the Java progamming language. This is a first course for computer science majors, or for students from other scientific disciplines. Students are expected to already have some programming experience (it doesn't have to be in java). This can be either by taking the prerequisite course CSCI-UA.0002 or the placement exam. Students with a lot of previous experience should consider taking the placement exam to place out of 101 and take Data Structures.

Class participation is important. Students should note that I generally ask all students to close their laptops at the start of class unless we are using them for writing programs, to promote participation. An interesting perspective on the use of laptops to take notes in class is Laptop Policy I generally make announcements at the start of the class, so please come on time.

Please note that the second part of the class is significantly more difficult than the first part. The honors section (001) meets simultaneously with the regular section (009). It will have more intensive homework.

Course Textbook and Software

"Introduction to Java Programming, Brief Version", 10th edition, by Y. Daniel Liang. This is a required textbook. There will be a copy on reserve in Bobst. (Note: this is NOT the more expensive Comprehensive Edition, which contains an additional 10 or more chapters). All software is freely available - eclpse, and the java. Instructions on how and where to find them will be in the first homework. The Processing software will be used for graphics.

Course Work

The course will include weekly (at first) then perhaps biweekly programming assignments, for approximately 20% of the course grade. There will be one midterm, some quizzes, and a final exam, which account for approximately 75% of the class grade. Class participation will count for the remaining 5%.

Lab Tutors

All 101 sections can use the lab tutors in the computer labs at 14 Washington Pl. for help with programming issues and questions about concepts. Their hours will be posted. For location and hours of the labs themselves, see its labs.

Late Policy

Homework must be submitted (uploaded) before the announced date and time deadline for full credit. For every 24 hours late you lose 5% (so it is better to submit correct homework late than incorrect homework on time). Homework will be accepted up to 3 days late, and not accepted after the deadline, unless accompanied by a doctor's note or other verifiable emergency.

Course Mailing List and NYU Classes

All students are automatically signed up for the class mailing list, which will be used to announce, clarify and discuss homework as well as any questions about the course. You can change your options on the mailing list here .

We will be using NYU classes to submit homework. You can get there from your home account account.

Academic Integrity

All students should submit their OWN work unless a group project has been assigned. Any additional references that are consulted besides the course text MUST be acknowledged. Students can talk generally about an assignment, but everyone must write their own code. The student who gives their assignment to another is as guilty as the person who asked for it. If in doubt about consulting other students in the class with questions, please ask me. Academic integrity violations may result in failing the class, or suspension. The department academic integrity policy is here.