5 private links
6.813
User Interface Design and Implementation
CS106S: Coding for Social Good (on active class URL right now) is taught as a weekly discussion section and frames the material taught in CS106B/X in terms of social good problems. More details are available right here.
Once you have finished the book above, I recommend following the course and watching the video lectures from Stanford University mentioned below.
I had never heard about the Master Method before, but found both the formula (for finding the big-O performance of recursive algorithms) and the derivation of it quite interesting. I also liked the graph algorithms, in particular the algorithm for finding strongly connected components in a directed graph (the algorithm uses the neat trick of reversing all the edges as one of its steps). The lecture on heaps was interesting – I studied heaps in my class at university, but I had completely forgotten about them. So there it really was a case of needing a refresher (and heap sort now makes total sense too).