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

**Authors:** Will Crichton

arXiv: 1904.06750 · 2019-04-16

## TL;DR

This paper introduces a grounded approach to teaching programming languages by integrating systems programming concepts like WebAssembly and Rust to enhance understanding and practical relevance for students.

## Contribution

It presents a novel curriculum that combines systems programming with PL theory, based on two years of teaching experience at Stanford.

## Key findings

- Students gained practical understanding of type systems.
- The integrated approach improved engagement and comprehension.
- Curriculum materials are openly available for adoption.

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

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1904.06750/full.md

## Figures

3 figures with captions in the complete paper: https://tomesphere.com/paper/1904.06750/full.md

## References

19 references — full list in the complete paper: https://tomesphere.com/paper/1904.06750/full.md

---
Source: https://tomesphere.com/paper/1904.06750