Courses
- CSCI C311/B521: Programming Language Principles
- CSCI P415/P515: Verification
- CSCI P423/P523: Compilers
- CSCI B522: Programming Language Foundations
- Spring 2023
- Spring 2022
- Spring 2020
- Spring 2018
- Spring 2017
- Spring 2016
- Spring 2015
- Spring 2014
- Spring 2013
- Spring 2012
- Spring 2011
- Fall 2009
- CSCI B619: Special Topics in Applied Logic
- CSCI B629: Special Topics in Programming Languages
- Spring 2024: Verified Data Structures (Sam Tobin-Hochstadt)
- Fall 2023: Advanced Functional Programming (Amr Sabry)
- Spring 2023: Proofs as Programs (Chung-chieh Shan)
- Fall 2022: Advanced Functional Programming (Amr Sabry)
- Spring 2021: Quantum Programming (Amr Sabry)
- Spring 2020: Quantum Programming (Robert Rose)
- Spring 2020: Dependent Types (Fred Fu)
- Fall 2018: Advanced Functional Programming (Sam Tobin-Hochstadt)
- Spring 2018: Denotational Semantics (Jeremy Siek)
- Spring 2018: Dependent Types (Andrew Kent)
- Spring 2017: Dependent Types (Dan Friedman)
- Spring 2017: Probabilistic Programming (Chung-chieh Shan)
- Spring 2016: Homotopy Type Theory (Amr Sabry)
- Fall 2015: Probabilistic Programming (Chung-chieh Shan)
- Spring 2015: Metaprogramming (Sam Tobin-Hochstadt)
- Fall 2014: Domain-Specific Languages and Compilers (Ryan Newton)
- Spring 2014: Probabilistic Programming (Chung-chieh Shan)
- Fall 2013: Recent Advances in Functional Programming (Amr Sabry)
- Fall 2012: Advanced Functional Programming: Agda (Amr Sabry)
- Fall 2012: High-level GPU compilers for functional array languages (Ryan Newton)
- Fall 2011: DSLs and Compilers: Performance meets Productivity (Ryan Newton)
- Spring 2011: Reversible and Quantum Computing (Amr Sabry)
- Fall 2010: Integrating Static and Dynamic Typing (Amal Ahmed)
- Spring 2010: Language-Based Approaches to Security (Amal Ahmed)