Stanford Root

Schedule

Stanford Root

Schedule

CS 242

Programming Languages

UNITS:3-4
GRADING:Letter or Credit/No Credit
LEVEL:Graduate
GER:—

This course explores foundational models of computation, such as the lambda calculus and other small calculi, and the incorporation of basic advances in PL theory into modern programming languages such as Haskell and Rust. Topics include type systems (polymorphism, algebraic data types, static vs. dynamic), control flow (exceptions, continuations), concurrency/parallelism, metaprogramming, verification, and the semantic gap between computational models and modern hardware. The study of programming languages is equal parts systems and theory, looking at how a rigorous understanding of the semantics of computation enables formal reasoning about the behavior and properties of complex real-world systems. Prerequisites: CS 103, CS 110.

Syllabus for selected term:
View Autumn 2026 Syllabus

Sections

2 Terms
Lecture 1Open
ID: 27837
0 / 999 enrolled
DAYS:Tuesday, Thursday
TIME:3 PM – 4:20 PM
LOCATION:CODAB90
INSTRUCTOR:
Aiken, Alex
units

CS 242: Programming Languages

3-4 units · Letter or Credit/No Credit

This course explores foundational models of computation, such as the lambda calculus and other small calculi, and the incorporation of basic advances in PL theory into modern programming languages such as Haskell and Rust. Topics include type systems (polymorphism, algebraic data types, static vs. dynamic), control flow (exceptions, continuations), concurrency/parallelism, metaprogramming, verification, and the semantic gap between computational models and modern hardware. The study of programming languages is equal parts systems and theory, looking at how a rigorous understanding of the semantics of computation enables formal reasoning about the behavior and properties of complex real-world systems. Prerequisites: 103, 110.

Offered in Autumn 2026, Winter 2027 at Stanford University.

Autumn 2026 sections

  • Lecture — Tuesday Thursday 3:00 PM – 4:20 PM — CODAB90 — Aiken, Alex (Graduate)

Winter 2027 sections

  • Lecture — TBA TBA (Graduate)

More CS courses

  • CS 238: Decision Making under Uncertainty (AA 228)
  • CS 238V: Validation of Safety Critical Systems (AA 228V)
  • CS 239: Advanced Topics in Sequential Decision Making (AA 229)
  • CS 240: Advanced Topics in Operating Systems
  • CS 240LX: Advanced Systems Laboratory, Accelerated
  • CS 241: Embedded Systems Workshop (EE 285)
  • CS 243: Program Analysis and Optimizations
  • CS 244: Advanced Topics in Networking
  • CS 244B: Distributed Systems
  • CS 244C: Advanced Networking and Distributed Systems
  • CS 245: Principles of Data-Intensive Systems
  • CS 246: Mining Massive Data Sets

All CS courses · All departments