Departmental Papers (CIS)

Using a Proof Assistant to Teach Programming Language Foundations, or, Lambda, the Ultimate TA

Benjamin C. Pierce, University of Pennsylvania

Document Type Conference Paper


In Fall 2007, I taught an introductory course on logic and the theory of programming languages entirely in Coq. The experience was quite demanding—for the students and especially for me!—but the overall payoff in terms of student engagement and performance on exams far exceeded my hopes. I am now convinced that this is the right way to teach programming language foundations and am working on course materials that will allow the approach to be replicated elsewhere.


Date Posted: 25 July 2012