[Resources] Lower Level Computer Science

General Categories

How computers work:

  • “The Elements of Computing Systems: Building a Modern Computer from First Principles” by Noam Nisan, Shimon Schocken
  • “Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold
  • “Computer Systems: A Programmer’s Perspective” by Randal Bryant, David O’Hallaron

The intersection of computers and programming languages:

  • “Crafting Interpreters” by Robert Nystrom
  • “Structure and Interpretation of Computer Programs”
  • “An Introduction to Assembly Programming with RISC-V” by Edson Borin

Maths in the context of programming:

  • “A Programmer’s Introduction to Mathematics” by Jeremy Kun

Classics

  • “The C Programming Language” by Dennis Ritchie, Brian Kernighan
  • “The Art of Computer Programming”, volumes 1 and 4B by Donald Knuth
  • “A Discipline of Programming” by Edsger W. Dijkstra
  • “Hackers Delight” by Henry S. Warren, Jr.
  • “Optimizing Compilers for Modern Architectures” by Randy Allen, Ken Kennedy