Distributed systems, databases, operating systems, compilers, programming languages, networking, and computer architecture.
Structural connections linking subfields, mathematical foundations, and courses across disciplines.
Through the Curry-Howard correspondence, intuitionistic proofs and constructive logic map isomorphically onto lambda calculus terms and static type systems.
MIT · Hal Abelson & Gerald Jay Sussman
SICP provides a foundational understanding of programming language design, interpretation, and compilation, exploring concepts like lambda calculus, recursion, and abstraction that underpin modern language theory.
Felienne Hermans · Vrije Universiteit Amsterdam
This lecture bridges programming language theory with the emerging impact of AI on software development, exploring how AI influences code generation, program understanding, and the very nature of programming knowledge.
Jeaye Wilkerson · Clojure/conj
This lecture explores an advanced topic in programming language implementation, specifically compiling Clojure to native code via LLVM, demonstrating practical applications of compiler design and language interoperability.