"The best programs are written so that computing machines can perform them quickly and so that human beings can understand them clearly."
Donald E. Knuth
Clinical Assistant Professor,
Computer Science Department,
Courant Institute of Mathematical Sciences,
New York University
Email address
Mailing address
Warren Weaver Hall, Room 423
251 Mercer Street
New York, NY 10012
Office hours
Tuesdays 11:00 - 12:30
Wednesdays 12:30 - 2:00
Current courses
CSCI 101 sec. 5
CSCI 102 sec. 4
CSCI 102 sec. 6
Introduction to Java Programming, Brief Version, 10/E
Note 1: This edition is significantly different from the previous editions of the book.
Note 2: You do not need the comprehensive edition, although it might come in as
a handy reference if you are planning to take CSCI 102 course.
By Y. Daniel Liang
ISBN-10: 0-13-359220-0, ISBN-13: 978-0-13-359220-7
Publisher's website
author's website
Java 7 for absolute beginners by Jay Bryant
Beginning Java/em> by Ivor Horton
Students without programming experience should take the more introductory course -- CSCI.UA.0002.
Students with a lot of programming experience may take a test out exam to move directly to CSCI.UA.0102 (Data Structures).
In this course you will be using Java, an object oriented language. You do not need to have any experience specifically with Java, but you need to be familiar with the basic concepts of some programming language:
Your grade will be based on
In addition class attendance and participation will count towards your final grade.
There will be weekly (sometimes bi-weekly) programming assignments. In general, the assignments will be due one week after they are assigned. All assignments will be graded out of 100. All assignments will count towards your final grade (I do not drop any assignment grades).
Late assignments: You get one "freebie" assignment, i.e., you can hand it in up to one
week late without penalty (no questions asked, you decide when to use it and why, but here is only
one of those for the whole semester). Do not use the freebie on the very first assignment;
make sure you save it for when you really need it. When you want to use your freebie, you need to send
me an email stating so before the due date for the given assignment.
Any other assignments that are not submitted on time, have to be submitted within two days
(48 hours) after the due date of the original assignment. Such late assignments will receive only
80% of the points assigned to the same submission that was received on time (this means that a perfect
assignment submitted two days late is only worth 80 points).
Broken assignments: If you hand in an assignment that does not compile or crashes when it is run, you will get a grade of zero on it (so it might be worth your while to submit it two days late and fix it, rather than submit a broken program on time).
Challenging assignment grade:
You can challenge your grade on any assignment. To do so, you need to come to see me during the office hours,
or schedule an appointment.
There will be two midterms and a final exam. All exams are cumulative, although they will have
larger emphasis on the new material covered since the previous exam.
On all exams you will get to chose which questions (one or two) you do not wish to answer.
There will be no extra credit for answering all questions.
Missing an exam: There will be no make-up exams. Failure to take an exam counts as a zero grade on that exam. The only exception to this rule is for students who have a legitimate medical or personal emergency (documented). These students need to talk to me as soon as possible (trying to excuse an exam absence a week after it happened will not work).
I use MOSS (a system for detecting software plagiarism) to make sure that the submitted assignments are not duplicates of one another. Your code has to be your own.
I follow the department's
academic integrity rules.
In short, it is fine to talk to other students about your ideas and your programs, but it is not
fine to work together on assignments or copy someone else's assignment. You cannot copy other
people's work without giving them a proper credit (and part of your grade).
You may discuss any of the assignments with your classmates (or anyone else) but all work for
all assignments must be entirely your own unless a group project is specifically assigned.
Any sharing or copying of assignments will be considered cheating. By the rules of the College of
Arts and Science, I am required to report any incidents of cheating to the department.
If you have any doubt if something that you are doing qualifies as academic dishonesty, talk to me!
In order to do well in this course you need to:
Talk to me whenever you start falling behind or have questions that you do not want to ask in class.
This is a tentative list of the topics we will cover: