Tackling THE "Structure and Interpretation of Computer Programs" Part 1: Berkeley CS61A, Composing Programs: Course Website: https://cs61a.org/ Online Textbook: http://composingprograms.com/