Adapted from the CS 107e course policies.


The grading breakdown is as follows.

  • Take-home final: 18%
  • Guest lecture attendence: 2%
  • Assignments 1-7: 10%
  • Assignment 8: 15%

For assignments 1-7, your lowest assignment will be down-weighted by half (to 5% instead of 10%), but not dropped entirely—still do all the assignments!

Late Policy

  1. All assignments are due at 4:00pm (30 minutes before class) on the due date. Late days are counted in 24-hour periods. Submitting anytime between 4:00pm and 4:00pm of the next late day is one day late, and so on. We use the timestamp provided by the submission script of your most recently submitted solution to determine submission time.

  2. You have 5 late days over the quarter which you can use to give yourself extra time without penalty.

  3. Instructor-granted extensions are only considered after all late days are used and only given in exceptional circumstances.

  4. Late work handed in when you are out of late days is capped at (100 - n * 10)% total possible points, where n is the number of penalty days. For example, if you have no late days and turn in 2 days late, even if you would have received a 95, your score would be capped at 80. It is always to your advantage to complete all the assignments even if they are late.

  5. Late submissions (penalty or not) are not accepted after the hard deadline, which is 3 days past the original due date, but may be restricted to fewer days on a per-assignment basis.

Collaboration Policy

This course follows the CS 107 collaboration policy. If you are ever uncertain about whether a particular action goes against the collaboration policy, you should read it. If you are still uncertain, always ask a member of the course staff. Better safe than sorry—if you ask us first, the worst that will happen is we say “no.”

One point of clarification: you shouldn’t feel afraid to collaborate with your classmates to learn the languages in this course. Part of the difficulty of CS 242 is that we ask you to learn and program in three advanced programming languages in a single quarter. Learning a new language inevitably requires a substantial amount of time with resources like StackOverflow looking for simple answers to questions like “how do I make a dictionary?” or “what does this type error mean?”. You are encouraged to work with your classmates to overcome these logistical issues so you can focus individually on the intellectual ones.