About the Test
Release | Deadline |
---|---|
2022-04-13T12:00:00-04:00 | 2022-04-17T23:59:00-04:00 |
The test is a take-home 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 VS Code). Expect to spend at least thirty to forty-five minutes per question.
Past Problems
- Fall 2020’s Test and sample solutions
- Fall 2019’s Test and sample solutions
- Fall 2018’s Quiz and sample solutions
- Fall 2017’s Test and sample solutions
- Skip Being Served
- Fall 2017’s Quiz and sample solutions
- Skip Comparing Students, Stack is Back, and Vantage Points
Review Sessions
CS50’s course heads held three review sessions in Fall 2021 which were recorded and are available for you to watch. Each session covers a subset of weeks from the course and structures guided practice with related past problems.
Algorithms and Programming Languages
This review session covers key ideas from Weeks 1, 2, 3, and 6.
- Slides
- Video
Memory and Data Structures
This review session covers key ideas from Weeks 4 and 5.
- Slides
- Video
Web Programming: SQL, HTML, CSS, and JavaScript
This review session covers key ideas from Weeks 7, 8, and 9.
- Video
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.
- Review each week’s notes.
- Review each week’s source code, if any.
- Review each week’s slides.
- Review each week’s shorts, if any.
- Watch the review sessions, above.
- 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.
- Review problem sets’ specifications, sample solutions (below) and, if any, distribution code.
- Review each lecture’s video.
Sample Problem Set Solutions
- Problem Set 0
- Due to the nature of this problem set, there is no staff solution.
- Problem Set 1
- Problem Set 2
- Problem Set 3
- Problem Set 4
- Problem Set 5
- Problem Set 6
- Problem Set 7
- Problem Set 8
- Due to the nature of this problem set, there is no staff solution.
- Problem Set 9