Lecture notes from 6.858, edited a little and formatted with Markdown