Exam Practice Problems
We release exams from prior semesters to show you what to expect and to allow you to simulate the exam environment before you have to actually take the exams. The exam format has changed as the course has matured. For the more recent exams, you should be able to complete most of the exercises in 3-4 hours. There's a lot of material in these problem sets, and we do not expect you to complete all of them.
Note
Although there will be some overlap in concepts and coding techniques, the exam you will be taking is entirely new! Do not expect to see the same questions with different data. The goal of releasing this material is to give you more time to refine your problem solving skills. Memorizing solutions will be a waste of your time.
Debugging exercises will be included on the exams this semester
See note on Midterm 1 Practice Problems Release Notes
Where to find stuff
- Problems themselves - Search for the relevant tag (
PMT1,PMT2,PFX) in your LMS. They are setup like notebooks/exams in your LMS. - Solutions and Video Walkthroughs - Check the Practice Problems Release Notes on this website.
Untimed vs. Timed?
The assignment titled "Practice Problems for Midterm _ - Untimed" contains all of the past exams we're sharing with you. For GT students, there is also a "Practice Timed Exam for Midterm _" which is the most recent past exam, and it is setup like a test in Vocareum (with time limit), and with proctoring configured for you to test out what it's like. Due to EdX platform limitations we can't set this up there, but both sections can still take the untimed version of the exam and simulate exam conditions yourself (set a timer, one screen, etc.).
Suggested Approach for Practice
-
Do not start with the solutions: While we're releasing all of the solutions with the notebooks, we recommend you don't use those until you finish the whole practice exam, or if you get stumped on an exercise for an extended period of time. If you are unable to solve it and need to review the solution, you should then work backwards to confirm you understand how the solution works and can apply that in the future.
-
Review alternative solutions and work with your classmates: You're free to discuss these practice exams openly and share your code with classmates. We will have a pinned Piazza thread for this. We provide you our solution which works, but our solution may not necessarily be the best, so it's important that you think about alternatives.
-
Quality over quantity: How you spend your time practicing is more important than the amount of time (except, of course, if you have no time to practice). Treating the practice like a real exam and working on building those problem solving skills will help you on the exam. As tempting as it is to just run through them with solutions or AI, you should try solving it yourself first, even if it takes longer than the time limit, then do a review after.
Tip
How you use your time when completing notebooks and reviewing them follows a similar philosophy to the above. While you get points by completing them and submitting them, you need to ensure you're still learning the material, so you can complete subsequent notebooks and exams that utilize those concepts.