Notes from: SICP. This book uses the Scheme dialect of Lisp, which is not particularly modern or useful; however, I want to build a better fundamental understanding of computing, and this seems to be a great resource to do so.

Building Abstractions with Procedures

Elements of Programming

Building Abstractions with Data

Modularity, Objects, and State

Metalinguistic Abstraction

Computing with Register Machines

Exercises