Teaching
Resources for Current CS 61B Students
Spring 2020 Discussion Slides
Here are some of the discussion slides I used for the previous Hilfinger taught iteration of CS 61B that I TA’d for in Spring 2020 - most of the discussions should contain similar if not the same material. Due to COVID, discussion material towards the end of the semester was a little less formal due to zoom classes.
Advice on studying for CS 61B (and Cal CS classes in general)
Advice for Hilfinger Midterm 1, circa Spring 2020
In terms of exam prep, I’d just recommend doing as many practice problems as possible - coverage is mostly the same between Hug and Hilfinger tests, so consider doing Hug’s old midterms if you want to be able to verify solutions. I think one topic that is easier to get points on by getting the mechanical parts down is dynamic method selection - there are only so many edge cases, and once you have the structure down you should be able to solve any problem you see on the exam. Also I know that Hilfinger lets you bring as much material as you need - but I think that’s just because none of it will probably be all that useful. Focus on the problem solving process as you do exams rather than the solutions themselves, and be sure to really understand what is going on, and I think the extra cheat sheets and stuff won’t be as necessary.
In general, for most CS classes that allow you a cheat sheet, what’s worked for me is the following in the listed order:
- Make a cheat sheet with all of the material that will be covered on the midterm
- This is more for you to have everything in one place, and to make sure you have seen all the material at least once, than to actually reference on exams
- Do ~1-2 practice exams, allowing yourself to take some breaks + referencing material outside your cheat sheet that you missed, and update your cheat sheet.
- Make an honest effort like you would if you were taking the exam right now. Once you are done, spend the time to understand the solutions to the problems you didn’t know how to do in depth (otherwise it’s pointless).
- Do ~1-3 practice exams in a real test setting. Turn off your laptop, set a timer for yourself, block out 2-3 hours, and actually work through the whole exam.
- Grade the exam like you imagine a TA who is not you would grade it.
- Spend ~1-2 hours reviewing and understanding solutions, and make any updates to your cheat sheet if you need.
- Generally if I can find a distribution for the exam, I’ll feel good once I can get the median or a little above it on the last practice exam I take (since I’ll probably do better than that on the actual exam)
- 5 practice exams total is overkill, but has generally yielded pretty good results for me. Usually now I’ll do 2-3 since upper division courses tend to have less students who try as hard as they had to for 61a/b + 70.
Old Resources/Slides
Fall 2020
Discussion Slides
Summer 2020
CS 61BL Lab Slides