Computer Science I - CSCI-UA.0101-005
Home Syllabus Lectures Resources Assignments Exams

Valerio Luccio

Email: valerio.luccio _at_ nyu
4 Washington Place, Room 156
New York, NY 10003
Phone: +1-212-998-8736

Text Book

Introduction to Java Programming, Brief Version, 9/E
Y. Daniel Liang, Armstrong Atlantic State University
ISBN-10: 0132923734 • ISBN-13: 9780132923736

Note: If you already own an older edition, you can use it for this course.

Course Description

This is a first course in computer science, using Java, an object oriented language. You do not need to have experience with Java, but some basic knowledge of some programming language is required, including the following topics:

  • Variables: types integer and real (int and float or double in Java)
  • Arithmetic and Boolean operators and expressions
  • The assignment statement
  • The if--else statement, including nested if--else statements
  • The for loop, including nested for loops
  • Basic input and output

Students without programming experience should take the more introductory course -- CSCI-UA.0002.

List of Topics

This is a tentative list.

  • Primitive data types
  • Selection Statements
  • Loops
  • Methods
  • Arrays
  • Recursion
  • Objects & Classes
  • Inheritance & Polymorphism
  • Exception Handling
  • Abstract Classes & Interfaces
  • GUI Basics & Graphics


Your grade will be based on eight to ten programming assignments, a midterm and a final examination. The programming assignments will count for 35% of your grade, the midterm exam will count for 25% and the final exam will count for 40%.


All students are required to have email addresses. Email will be used extensively for communication with the course instructor and for submitting the homework assignments. Your email headers and mailing list subscription information must clearly display your name. Do not use an alias instead.

It is mandatory to join the class mailing list (here). All important announcements will be sent via the mailing list.

Assignments must be submitted via email to the class grader, Akhilesh Manjunath <am5156 _at_ nyu>, on or before the due date. He can also help you with questions about assignment and he will evaluate your submissions. Please remember that his primary job is to evaluate your work, so limit your email communication to a reasonable amount. If you are having much difficulty with the assignment or the class, you should contact your instructor.

Cooperation, Acknowledgments and Cheating

You are expected to do your own work. It is fine, in fact often very helpful, to work cooperatively with other students, but the work you submit should be your own. If you get an idea from another student, or from a tutor, that you use in your work, this is OK, but you must acknowledge that person in the program comments. When you turn in an assignment, you are saying that you have done this work yourself. See the Computer Science Department's Academic Integrity statement. Disciplinary action will be taken against those who violate the rules.