Module 5: Applications

1. Languages & Compilers

  • Goal: Learn how programming languages and compilers work to write better code.
  • Core Text: Crafting Interpreters by Bob Nystrom.
  • Video Lectures: Alex Aiken’s Compiler course on edX.
  • Reference: Compilers: Principles, Techniques & Tools (The Dragon Book).

2. Distributed Systems

  • Goal: Reason about the trade-offs in systems that run across multiple machines.
  • Core Text: Designing Data-Intensive Applications (DDIA) by Martin Kleppmann.
  • Video Lectures: MIT 6.824 (Robert Morris).
  • Supplemental: Distributed Systems, 3rd Edition (van Steen & Tanenbaum).