SUMMARY
- Lectures good. Make up your own notes to reference for the exams.
- Projects are mostly good and at worst annoying. Make extensive use of the FAQ on Ed.
- Exams are fair and test your understanding. If you want to do well on the exams, understand the material well.
- The book is difficult and superfluous. It is also your highest-yield item after you've done the lectures and projects.
- Nolan very good.
LECTURES
Lectures good. Based on a reference to the then-current CPU generations, they were recorded between Haswell (2013) and Skylake (2015), and sometimes show their age (maybe 5% of the time was on spinning rust with SSDs as an afterthought), but for the most part, the constraints that silicon presents hasn't changed so much in 10 years that the underlying ideas are stale.
The quizzes in between the lectures are pretty good. They test your understanding and push you to apply that understanding. Sometimes the solution requires some galaxy-brain thinking or big simplifying assumptions, but spending 5-10 minutes banging your head against an intractable/poorly-characterized problem is instructive.
You can download all the lecture videos, put them into a playlist on your favorite video player, and then just do the quizzes online to save yourself a lot of annoying page loading.
Before the exams, I'd suggest going through the quiz questions as a review and an indicator of where you need to focus your test prep.
I found I spent around 1.5x the video time to consume a module: this included watching the lecture at increased speed, rewinding, pausing to take notes, and working out problems on scratch paper. This did not include making Anki cards from the notes (I find I make better Anki cards if I give the material a sleep cycle to marinate) or reviewing the Anki cards. This also doesn't include time LaTeXing up notes for me to bring into the exams, which is something I regret not doing.
Lectures get a 4.5/5.
PROJECTS
Every complaint you've heard about projects are true. You'll be hacking on an extremely jank codebase. The rules in the project doc are more like guidelines; I have trouble seeing how you do well on the projects without relying extensively on the ED discussion; is it really that infeasible to take the FAQ and incorporate it into the doc?
And yet: I kind of liked the projects. If you don't enjoy tweaking parameters of a CPU you're simulating and seeing how it affects the performance of a benchmark program, what are you even doing in a CS Master's program? The projects are where the concepts from the lectures became concrete.
Don't stop at reading the FAQ on Ed. If you run into a problem or ambiguity, depending on how much you've procrastinated, either someone has had the same issue or you can make an Ed post with enough time to get everything nicely resolved. Staying on top of Ed is, unfortunately, a big part in ensuring high scores on the projects. But put another way, if you stay on top of the Ed posts, you are very likely to get perfect or near-perfect scores on the projects.
You run the projects in virtual machines. You're supposed to revert the changes you made to the configuration files in between projects. Having put several hours of fruitless debugging from a failure to properly revert changes, I suggest loading up a new VM. It's faster and less error-prone than trying to revert a bunch of changes manually.
Projects get a 3.5/5.
EXAMS
Exams were fair. If you did poorly on the exams I took, I have trouble believing you had a strong grasp on the material. (This goes for me, too: there was at least one module I knew I had a tenuous grasp on going into the final and, lo and behold, I struggled in that section.)
Every discussion of the exams talks about time pressure and I don't know what these people are talking about. In both the midterm and final, I double checked every answer, including redoing the computational problems from scratch, and finished both in ~75 minutes (out of 120 and 180).
Exams are open book and open notes. As usual, this will be of little help if you go into the 2–3-hour exam not understanding 15–30 hours' of material. I assume the point of being open notes is so you're not overly penalized for forgetting some detail in a course that is not curved; consider bringing in notes that reflect that.
Exams get a 5/5.
THE BOOK
Not enough people talk about the book.
It is absolutely true that all the material you need to get an A is contained in the lectures. However, perhaps you would like to be a little overprepared for the high-stakes low-margin-of-error exam. Perhaps you, a Master's student at a top-10 university, would like to go beyond the bare minimum. If so, the book is for you.
The suggested textbook is by Patterson and Hennessy. If you take a gander at their Wikipedia pages, you will see they won a Turing award for their work on RISC. They assume a rudimentary background in computer architecture (such as you would find in "Computer Organization and Design" by the same authors) and write for an audience they assume is as smart and as interested in the subject as they are. It is not easy reading. It is also one of the best things I did in this course.
And you know how some of the lecture material is getting a bit long in the tooth? The next edition is coming out in just time for the summer 2025 term.
In my opinion: the lectures still come first: that's the material you'll actually be tested on. Next come the projects, which you can and should get ~full points on given enough attention to the Ed posts. But once you've done the lectures and maxed out your projects and want to increase your expected score in the class, the book is where it's at.
The book gets 5/5.
NOLAN
Nolan was the head TA my semester. Everything I've written (particularly the bits about the projects) assumes you will also have Nolan making the necessary Ed posts. When I lost points on the projects, the feedback I got was very good and helped me get perfect scores on the last two projects. Every good thing you've read about him in other reviews is true, as is the complete absence of bad things. Even the negative reviews only have good things to say about Nolan!
Nolan gets a 5/5, which is frankly insultingly low.