Computer Science Syllabus

From Knowledge Kitchen
Jump to: navigation, search


This course is about designing algorithms to solve problems. This is meant to be the first course for computer science majors or for students from other scientific disciplines. We use the Java programming language.



You are expected to already be familiar with the the basics concepts behind all high-level programming languages:

What you should already know before taking this course



Students are required to acquire this textbook:


Excellent quality free online Java tutorials that may be helpful in addition to the required textbook:



Submit assignments by sending them in an direct message to the graders in Slack

  • Include a message with your name and the name of the assignment
  • include all files as a single zip file... If you are not familiar with naming files and creating zip files, see the tutors.
  • unless you have good reason to do otherwise, follow best-practices for all basic file names and file extensions

Late penalty

  • assignments are due before class on the due date indicated on the schedule
  • for every 24 hours that an assignment is late, we will apply a 10% penalty on the grade, up to a maximum penalty of 30%.
  • after 72 hours, we will no longer accept the assignment.


  • You are automatically granted 2 late assignment extensions of up to 1 week late each, with the exception that all assignments must be submitted before the final exam date.
  • When submitting an assignment for which you would like to use one of these automatic extensions, you must notify the grader that you are using the extension, otherwise your assignment will be rejected.
  • Do not ask for any extensions from the professor


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


Approximate grading breakdown:

  • 20% assignments
  • 20% midterm #1
  • 25% midterm #2
  • 35% final exam

The Tentative Plan

  • Chap. 1, Introduction to Java
  • Chap. 2, Elementary Programming (Primitive Data Types)
  • Chap. 3, Selections (Control Statements)
  • Chap. 4, Loops
  • Chap. 5, Methods
  • Chap. 6, Single dimensioned Arrays
  • Chap. 7, Multiply dimensioned Arrays
  • Chap. 8, Objects and Classes
  • Chap. 9, Strings and Text I/O
  • Chap. 10, Thinking in Objects
  • Chap. 11, Class Inheritance and Polymorphism
  • Chap. 12, GUI Basics
  • Chap. 14, Exception Handling
  • Chap. 15, Abstract classes and Interfaces
  • Chap. 20, Recursion

Getting help

Help resources available to you are listed in order of “seriousness” of your problem:

Frequently asked questions

Many practical questions are answered in the Student FAQ.


Our course uses Slack 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.

You are not required to supply any personally-identifiable information when signing up for slack. Discuss with the professor if you have concerns or questions about privacy:


Tutors are waiting to answer your every question. Visit them at the Kimmel Center, 4th Floor, 60 Washington Square S, New York, NY 10012, USA (view map)


  • Jonathan: 2pm - 5:30pm
  • Jeff: 6:30pm - 9:30pm
  • Gilad: 11:00am - 12:00pm


  • Cindy: 1pm - 3pm
  • Gilad: 11:00am - 1:00pm


  • Gilad: 11am-1pm
  • Cindy: 9am – 11am
  • Jeff: 6:30pm to 9:30pm
  • Bella 6 - 8:30pm


  • Gilad: 11 - 1pm


  • Jonathan: 2 - 4pm
  • Jeff: 6:30pm - 8:30pm


  • Alexdander: 11:00 - 2pm
  • Rahul: 3pm - 6pm
  • Jonathan: 2 - 6:30pm


  • Gilad: 12 - 3pm
  • Jeff: 6:30pm to 8:30pm
  • Rahul: 3 - 5pm
  • Alexander: 11am-1pm
  • Bella: 2pm - 4:30pm

Additional tutoring resources

Talk with the professor

  1. see me before class
  2. raise your hand during class
  3. see me after class
  4. come to my open office hours

Inspirational quote

Object-oriented programming is an exceptionally bad idea which could only have originated in California.
–Edsger Dijkstra

Academic Integrity

Working with others and leveraging all resources available to you is a prerequisite for success. This is different from cheating, plagiarism, and mental laziness. All submitted work must be your own. If you submit any work that is not your own, you risk failure or worse.

Please read our policy on academic integrity.