Ben's 61A Midterm Tips and Tricks
Introduction
I get asked a lot about whether I have any advice for doing well on 61A exams, so I thought it would be nice to type some of it out. The following is my opinion/experience only, so feel free to ignore some or all of it if something else is more effective for you!
For a more complete guide, please visit https://cs61a.org/articles/studying/!
General Info
- Midterm 1 is very early in the semester. The purpose of this is to allow you the option of using the midterm as feedback in case you are considering switching to CS10, CS88, etc.
- Exams emphasize material covered more recently, but due to the highly cumulative nature of the course you should expect anything you’ve seen so far to appear.
- Exams generally have three parts:
- What Would Python Do (WWPD)- similar to WWPD in labs, where you’re given some code and asked about the output/behavior of the code.
- Environment Diagram- typically 1 per exam. These are very similar to the ED’s we do in lecture and discussion, but may be more difficult.
- Code-writing- typically ~2-3 per midterm, slightly more for the final. Nearly all exam-type coding problems are fill in the blank, either with multiple choice or short answer.
- Midterm 1 is worth 40 points, midterm 2 is worth 50, and the final is worth 75. This means that it’s totally ok if you don’t do as well as you’d like early in the semester!
- The average score for exams is usually somewhere around 55-65% of full score. 61A exams are not curved.
Topics
Midterm 1
- Control statements (if, while)
- Digit chopping (
%
and //
to process large integers using while
)
- Booleans and conditional statements (and, or, not; short circuiting)
- Environment diagrams
- Higher order functions (passing in or receiving another function as a parameter)
- Lambda functions