Hack Your Language!
An upper-level undergrad course on programming langauges
Some resources for the course:
Hack Your Language!
A talk with a brief overview of the course.
PLDI 2011 panel on teaching programming languages
Course web page from spring 2012
I am teaching Hack Your Language this term.
UC Berkeley CS164
Course calendar
An overview of how lectures, projects, and homeworks fit together in time and knowledge space.
UC Berkeley CS164
Lectures
Slides, screencasts, reading assignments, homeworks.
UC Berkeley CS164
Projects
The nine weekly assignments that build a coroutine interpreter, parser generator, and a browser.
UC Berkeley CS164
Sample of final projects
After building their browser, students design and implement a small language, to gain confidence that they can accomplish this on their own in two weeks.
UC Berkeley CS164
paper: Small languages in an undergraduate PL/Compiler course
Design philosophy for this course, somewhat evolved since this paper was published.
SIGPLAN programming language curriculum workshop (2008)
paper: Discussion Summaries and recommendations
The course follows some of the recommendations we came up at this workshop
SIGPLAN programming language curriculum workshop (2008)