About the Test

Released at and due by is a take-home test that will cover Weeks 0 through 9 (and Problem Sets 0 through 9). The test is open-book: you may use any and all non-human resources during the test, but the only humans to whom you may turn for help or from whom you may receive help are the course’s heads.

The test will be released via the course’s website and will be submitted via Gradescope. You should expect to spend several hours (not days!) on the test.

Among the test’s aims is to assess your newfound comfort with the course’s material and your ability to apply the course’s lessons to familiar and unfamiliar problems. The test’s format (but not necessarily content) will resemble the below, with short-answer questions as well as longer-answer questions. In previous years, the course had both a quiz (longer than this year’s quizzes) and test. Some questions may involve code (for which you’re welcome to use CS50 IDE). Expect to spend at least thirty minutes per question.

Past Problems

Review Session

A review session will take place via Zoom. You’re encouraged to attend to ask any questions about course material.

How to Prepare

Ultimately, how best to prepare depends on how you learn best. But allow us to recommend that you prioritize your studies per the ordering below.

  1. Review each week’s notes.
  2. Review each week’s source code, if any.
  3. Review each week’s slides.
  4. Review each week’s shorts, if any.
  5. Attend or watch the review session.
  6. Take past years’ quizzes and tests and, only after you’ve attempted each of their questions, review their sample solutions. Realize, though, that some topics covered in past years might not have been covered in this term. Rely on this year’s lectures and problem sets as the official sources for this year’s topics.
  7. Review problem sets’ specifications, sample solutions, and, if any, distribution code.
  8. Review each lecture’s video.