English

From Theory to Systems: A Grounded Approach to Programming Language Education

Programming Languages 2019-04-16 v1 Computers and Society

Abstract

I present a new approach to teaching a graduate-level programming languages course focused on using systems programming ideas and languages like WebAssembly and Rust to motivate PL theory. Drawing on students' prior experience with low-level languages, the course shows how type systems and PL theory are used to avoid tricky real-world errors that students encounter in practice. I reflect on the curricular design and lessons learned from two years of teaching at Stanford, showing that integrating systems ideas can provide students a more grounded and enjoyable education in programming languages. The curriculum, course notes, and assignments are freely available: http://cs242.stanford.edu/f18/

Keywords

Cite

@article{arxiv.1904.06750,
  title  = {From Theory to Systems: A Grounded Approach to Programming Language Education},
  author = {Will Crichton},
  journal= {arXiv preprint arXiv:1904.06750},
  year   = {2019}
}
R2 v1 2026-06-23T08:39:07.868Z