Computer Science Syllabus

From Knowledge Kitchen
Revision as of 08:53, 5 May 2020 by Amos (talk | contribs) (Tutoring)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Course description

How to design algorithms to solve problems and how to translate these algorithms into working computer programs. Experience is acquired through projects in a high-level programming language. Intended primarily for computer science majors but also suitable for students of other scientific disciplines. Programming assignments.



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 as messages to the private Slack channel you have created.

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% exam #1
  • 25% exam #2
  • 35% exam #3

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:


Students are expected to consult the Student FAQ prior to asking questions of the tutors, professor, or other students. This allows us to focus our time on questions of greater significance.


Our course uses Slack as its main communication channel for announcements, discussions, and assignment submissions. 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.

Each student must create a private Slack channel.

  • Name the channel 'assgn_fb1258', where 'fb1258' is replaced with your own NYU Net ID.
  • Invite the graders to join your channel. The usernames of the graders in Slack will contain the word 'Grader' in them.

Click this link to join and then set up your private channel.


Tutors are waiting to answer your every question via Zoom. Click [ this link to join a tutoring video meeting at one of the following times:


  • 9:30am – 12noon (Aashish) 
  • 1pm – 3:15pm (Shailesh)
  • 2pm – 3pm (Hari)
  • 2pm – 5pm (Alan)
  • 5pm – 6pm (Shailesh)
  • 5pm – 7:30pm (Julia)


  • 2pm – 4pm (Olivia)
  • 2pm – 5:30pm (Shailesh)
  • 2:30pm – 4:30pm (Hari)
  • 3:30pm – 6pm (Aashish)
  • 5pm – 7:30pm (Julia)


  • 9am – 10am (Kaleb)
  • 1pm – 3:15pm (Shailesh)
  • 2pm – 3pm (Hari)
  • 5pm – 6pm (Kaleb)
  • 5pm – 6pm (Shailesh)
  • 5pm – 7pm (Ziyi)


  • 1pm – 6pm (Shailesh)
  • 2pm – 3pm (Hari)
  • 3pm – 5pm (Alan)
  • 4pm – 7pm (Olivia)


  • 10am – 1pm (Kaleb)
  • 11am – 2pm (Ziyi)

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.