Studying for an exam is about gaining a level of familiarity with the material such that you can solve interesting problems that aren't just repetitions of things you've already seen. Some general tips:
- Start early and spread things out over time. Sleep does some sort of magic where things sink in better. More shorter study days is way preferably to a few short ones. Indeed, one of the reasons we have homework with deadlines is to exploit this fact.
- Be as active in your studying as possible. Working through problems and developing cheat sheets are "active". Rewatching lectures and rereading something you've read is not.
- The often missing component: Reflect on your own problem solving process. This is much easier through discussion with others, particularly other students (see suggested workflow below).
For those who feel behind
If there are some lectures that you feel very shaky on, watch the video and/or do the reading ASAP. Then, immediately afterwards, try to work through some of the C level problems in the study guide for that lecture (available from the Disjoint Sets lecture and later). As you work, add the seemingly most important items to your cheat sheet.
Once you feel up to date
Once you know the basics, doing the readings, reading the lectures, and rewatching the lectures is unlikely to do much good (in my opinion).
A better approach is to work through problems from old exams, as well as problems suggested in the study guide (available from the Disjoint Sets lecture and later).
An even better approach is to follow up your attempt to solve a problem with careful reflection on your solution process. This is much easier to do with other people around.
My suggested approach for studying for the exam is as follows:
- Form a group of 2-5 people.
- Meet regularly, agreeing on a set of problems that everyone should attempt before each meeting.
- At each meeting, have each person lead the group through their own solution to one of the problems. Everyone else should interject with their thoughts. It can be rather enlightening to see what shortcuts or inefficiencies you'll uncover. Repeat until you've covered all problems and everyone has had a chance to talk.
I did this for my obscenely difficult graduate probability and statistics class in grad school, and I really wished at the time that I'd discovered this process sooner. Your mileage may vary.
Ideally, this group would meet throughout the semester, and not just in the days leading up to an exam.