Difference between revisions of "Computer Science Syllabus"

From Knowledge Kitchen
Jump to navigation Jump to search
m (Optional)
m (Tutoring)
Line 97: Line 97:
  
 
Monday
 
Monday
* 1 - 3pm (AK)  
+
* 2 - 3:30pm (AKK)  
 
* 6 - 9pm (SV)
 
* 6 - 9pm (SV)
 
+
 
 
 
Tuesday
 
Tuesday
* 1 - 4pm (AK)  
+
* 1 - 4:30pm (AKK)  
 
* 12 - 6pm (MN)  
 
* 12 - 6pm (MN)  
 
* 2pm - 5pm (HM)  
 
* 2pm - 5pm (HM)  
Line 108: Line 107:
 
* 5 - 7:30pm (J)
 
* 5 - 7:30pm (J)
 
* 5 - 7pm (KA)
 
* 5 - 7pm (KA)
 
+
 
 
 
Wednesday
 
Wednesday
* 11 – 12pm (SV)
+
* 11 – 12noon (SV)
 
* 1pm – 4pm (AK)  
 
* 1pm – 4pm (AK)  
* 8pm – 9pm (SV)
+
 
 
 
 
 
Thursday
 
Thursday
* 11 - 12pm (SV)  
+
* 11am - 12noon (SV)  
 
* 2 - 4pm (AK)
 
* 2 - 4pm (AK)
 
* 2 - 5pm (HM)
 
* 2 - 5pm (HM)
 
* 5 - 9:00pm (SV)
 
* 5 - 9:00pm (SV)
 
* 5 - 6pm (KA)
 
* 5 - 6pm (KA)
 
+
 
 
 
Friday
 
Friday
 
* 3 - 6pm (MN)  
 
* 3 - 6pm (MN)  
* 5 - 7pm (KA)
+
 
 
 
 
 
Saturday
 
Saturday
* 11 - 3pm (HM)  
+
* 11am - 3pm (HM)  
* 10 - 12pm (KA)
+
* 10am - 12noon (KA)
 
+
 
 
 
Sunday
 
Sunday
* 4 - 5:pm (MN)  
+
* 4 - 5pm (MN)  
 
* 6 - 8:30pm (J)
 
* 6 - 8:30pm (J)
  

Revision as of 18:41, 9 September 2019


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.

Instructor

Prerequisites

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

Books

Required

Students are required to acquire this textbook:

Optional

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

Assignments

Submitting

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.

Extensions

  • 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

Regrades

  • 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.

Grading

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:

FAQ

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.

Slack

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:

Tutoring

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). Ask staff there if you cannot locate the tutors.

Monday

  • 2 - 3:30pm (AKK)
  • 6 - 9pm (SV)

Tuesday

  • 1 - 4:30pm (AKK)
  • 12 - 6pm (MN)
  • 2pm - 5pm (HM)
  • 5 - 6:00pm (SV)
  • 5 - 7:30pm (J)
  • 5 - 7pm (KA)

Wednesday

  • 11 – 12noon (SV)
  • 1pm – 4pm (AK)

Thursday

  • 11am - 12noon (SV)
  • 2 - 4pm (AK)
  • 2 - 5pm (HM)
  • 5 - 9:00pm (SV)
  • 5 - 6pm (KA)

Friday

  • 3 - 6pm (MN)

Saturday

  • 11am - 3pm (HM)
  • 10am - 12noon (KA)

Sunday

  • 4 - 5pm (MN)
  • 6 - 8:30pm (J)

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.