The Interpreter In An Undergraduate Compilers Course
John H. E. Lasseter

TL;DR
This paper advocates using an interpreter as a teaching framework in undergraduate compilers courses to better unify concepts and structure projects, addressing students' challenges.
Contribution
It introduces an interpreter-based approach as an effective pedagogical tool for teaching compiler components and guiding semester-long projects.
Findings
Improves student understanding of compiler concepts
Simplifies implementation of compiler projects
Enhances course structure and coherence
Abstract
An undergraduate compilers course poses significant challenges to students, in both the conceptual richness of the major components and in the programming effort necessary to implement them. In this paper, I argue that a related architecture, the interpreter, serves as an effective conceptual framework in which to teach some of the later stages of the compiler pipeline. This framework can serve both to unify some of the major concepts that are taught in a typical undergraduate course and to structure the implementation of a semester-long compiler project.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
