The page listing topics (just like the playlist):
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer...
Lecture notes:
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer...
There are a few unusual parts, like the last lecture ("Large Deviations"). I'm not familiar with the entire course, but IMO the lecture on state machines is very good; it discusses invariants and uses an approchable example (the 15-puzzle).
Text (last revised 2018): https://courses.csail.mit.edu/6.042/spring18/mcs.pdf
If you have never looked at it, the problems there are very nice. For example, instead of some dry boolean logic problem about A and Not(B), you have Problem 3.17 on page 81, which begins:
This problem examines whether the following specifications are satisfiable:
1. If the file system is not locked, then. . .
(a) new messages will be queued.
(b) new messages will be sent to the messages buffer.
(c) the system is functioning normally, and conversely, if the system is
functioning normally, then the file system is not locked.
[...]
(a) Begin by translating the five specifications into propositional
formulas using the four propositional variables [...]
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer...
Lecture notes:
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer...
There are a few unusual parts, like the last lecture ("Large Deviations"). I'm not familiar with the entire course, but IMO the lecture on state machines is very good; it discusses invariants and uses an approchable example (the 15-puzzle).
Text (last revised 2018): https://courses.csail.mit.edu/6.042/spring18/mcs.pdf
If you have never looked at it, the problems there are very nice. For example, instead of some dry boolean logic problem about A and Not(B), you have Problem 3.17 on page 81, which begins: