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/
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}
}