Digital Minimalism Choosing a Focused Life in a Noisy World
Structure and Interpretation of Computer Programs, second edition
Structure and Interpretation of Computer Programs
The Algorithm Design Manual: Text
Software Design for Flexibility How to Avoid Programming Yourself into a Corner