Took his course in college. Could not down vote this post more. I have much PTSD from his lectures because Boaz was figuring out how to teach mid-lecture. If you read the textbook you'll find many typos and a plethora of mathematical notation that lacks any intuitive explanation. On the upside, I guess I know what a Turing machine is now...?
Just for balance, Boaz is in my top 5 CS professors. For more advanced theory topics you need more of a guide as the field is pretty wide and deep; he is great at that. I am not sure how to reconcile my learning experience with yours but I have fond memories of Boaz's lectures.
I just took CS121 recently and echo this. Theoretical CS is really a broad topic to cover in a semester. The early sections on computability theory, CFGs, regex are really good. Once it gets into complexity classes things kind of stop making sense.
Doesn't help that the textbook is still a buggy WIP, and there are no written solutions to problems in the book or the homeworks.
I took CS121 last semester, and it was my favorite course I've taken so far, and I thought the textbook was excellent (this is not a popular opinion).
Everyone is in agreement that the course improved significantly since the first year he taught it (Fall 2017). Fall 2017 it was ROUGH, but I have absolutely zero complaints about his teaching last semester.
He also encourages students to make a pull requests when they find errata.
I can see the argument that this
"open sources" the literature and brings students closer to it.
However - students are not experts in the subject matter and this makes for anxiety-inducing and frankly ineffective pedagogy. You are there to learn, but never know if the proof you are reading is correct or not. The errors get in the way.
It's great they release all of this for free. I mean, it will never be the same as having that piece of paper from MIT— but at least one can rely on the resources as being quality.
I'm glad to see you write this. When MIT launched OCW (thanks to Hal Abelson, of SCIP fame) I was shocked by the number of articles amazed that MIT would give away their "Crown Jewels". MIT's position was precisely yours.
1) Anyone know of a good roadmap, breaking down what the major sections are and offering summaries? (Or if they cared to post their own here, that'd be great :) doesn't have to be super comprehensive.)
2) Can anyone recommend a good second book for readers who've already gone through Sipser? —or is there not even a natural follow up since it just depends on which specialization you want to go in from there?
I took Sipser's class and read his book. I found Barak's textbook pretty good after that. You can read it out of order, and it has pretty good citations so you can always look confusing topics on your own.
"Computation Complexity: A Modern Approach" by Arora and Barak