Christopher Moretti
Department of Computer Science
Princeton University

Assignments

1
Regular Java Expressions

Out: 2016-02-02
Due: 2016-02-12
Submit: One

 

2
Uncle Brian's Spaghetti

Out: 2016-02-09
Due: 2016-02-19
Submit: Two

 

3
Your Place or MIME?

Out: 2016-02-16
Due: 2016-02-26
Submit: Three

 

4
The REST of the Courses

Out: 2016-02-23
Due: 2016-03-04
Submit: Four

 

5
... and Serial Number

Out: 2016-03-06
Due: 2016-03-25
Submit: Five

 

Assignment Policies

Scheduling and Late Policy

Assignments 1-4 will be posted on Tuesdays and due by 23:59 on the Friday of the following week. This leaves enough time that we will not be able to grant extensions except in case of documented medical or other serious issues. For the record, extracurricular activities and heavy workloads in other classes don't count as "extraordinary", no matter how unexpected or important or time-consuming.

Assignment 5 will not be due the customary 10 days after release. This is to avoid having its due date simultaneous with the project design document (and then further pushed back to avoid having it due over spring break).

Be mindful of the deadlines. If you submit your work late, we will give you credit for it on this scale:

  • 95% for work submitted up to 3 hours late,
  • 90% for work submitted up to 6 hours late,
  • 85% for work submitted up to 12 hours late,
  • 75% for work submitted up to 24 hours late,
  • 50% for work submitted up to 48 hours late,
  • 0% for work submitted more than 48 hours late.

Collaboration

COS 333's assignment collaboration policy is adapted from that which you are already familiar with from COS 217. Programming, like composition, is an individual creative process. Individuals must reach their own understanding of the problem and discover a path to its solution, and unlike physics or math problem sets, there may be no single right answer.

During your development, you are always encouraged to ask your friends and the course staff about assignment ambiguities, language and operating system features, terminology and so on. The course's Piazza page is useful for this. However, when it comes to the assignment-specific code that solves the problem, discussions with classmates are not appropriate. You may get help only from the course staff in the process of designing or writing code, not from other students.

Do not, under any circumstances, consult another person's work for an assignment, including any part of another person's program -- broadly defined to include operative code, comment outlines, logic flow diagrams, pseudocode, etc. This prohibition also includes any solutions from any previous offering of this course, any solutions to similar assignments from elsewhere, or any information gained from improper discussion or collaboration. Further, note that the University's academic regulations work in both directions: writing a solution for use by another person and using another person's work in any form both constitute violations. If you plan to do something that you are not absolutely sure is permitted, ask first. Ignorance of this policy will not be accepted as an excuse for your actions.