Modern Operating Systems
Andrew Tanenbaum and Herbert Bos
4.3 on Amazon
5 HN comments
The Bitcoin Standard: The Decentralized Alternative to Central Banking
Saifedean Ammous, James Fouhey, et al.
4.7 on Amazon
5 HN comments
Thinking in Systems: A Primer
Donella H. Meadows and Diana Wright
4.6 on Amazon
5 HN comments
A World Without Email: Reimagining Work in an Age of Communication Overload
Cal Newport, Kevin R. Free, et al.
4.5 on Amazon
5 HN comments
Software Design for Flexibility: How to Avoid Programming Yourself into a Corner
Chris Hanson and Gerald Jay Sussman
4.3 on Amazon
4 HN comments
Domain-Driven Design: Tackling Complexity in the Heart of Software
Eric Evans
4.6 on Amazon
4 HN comments
This Is How They Tell Me the World Ends: The Cyberweapons Arms Race
Nicole Perlroth
4.6 on Amazon
4 HN comments
Software Engineering
Ian Sommerville
4.3 on Amazon
4 HN comments
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho
4.6 on Amazon
4 HN comments
Test Driven Development: By Example
Kent Beck
4.4 on Amazon
4 HN comments
Compilers: Principles, Techniques, and Tools
Alfred Aho, Monica Lam, et al.
4.1 on Amazon
4 HN comments
The Everything Store: Jeff Bezos and the Age of Amazon
Brad Stone, Pete Larkin, et al.
4.6 on Amazon
3 HN comments
Bitcoin: Hard Money You Can't F*ck With: Why Bitcoin Will Be the Next Global Reserve Currency
Jason A. Williams and Jessica Walker
4.8 on Amazon
3 HN comments
Sandworm: A New Era of Cyberwar and the Hunt for the Kremlin's Most Dangerous Hackers
Andy Greenberg, Mark Bramhall, et al.
4.7 on Amazon
3 HN comments
Programming: Principles and Practice Using C++ (2nd Edition)
Bjarne Stroustrup
4.5 on Amazon
3 HN comments
_____beeonMar 29, 2021
fermigieronJune 30, 2021
disgruntledphd2onAug 13, 2021
I found the book Fluent Python to be a great introduction to the ideas behind abstraction in Python.
Apparently, it's cadged from the Art of the Metaobject Protocol, which is a great book (which annoyingly enough, is not available in ebook form, which is a shame as typing loads of code from a dead-tree book is time consuming).
dmulleronJune 23, 2021
Intuitive Python does cover some things that aren't present in Fluent Python (as far as I can tell): checking your code for errors with flake8 + mypy, using pdb to debug, profiling with cprofile, running external programs with subprocess, using the sqlite3 module, tempfile module, datetime + timezones, the Python official Docker images, and pip.
Fluent Python's ~800 pages really give great coverage for much of the standard library and patterns your students will see in wild Python, but the more compact ~140 page Intuitive Python might layer on some additional knowledge too.