I am teaching:
- Fall 2024: CS 3410, “Computer System Organization and Programming.” We are currently revamping the curriculum for the CS major’s core computer systems course. I will co-teach with Giulia Guidi.
I will teach:
- Spring 2025: CS 6120, “Advanced Compilers.” This is a PhD-level hands-on course I created about programming language implementation.
I previously taught:
- Spring 2024: CS 4110, “Programming Languages and Logics.” This is Cornell’s undergraduate programming languages elective. 4110 is full of content you’d expect to find in a graduate PL course.
- Fall 2023: CS 6120, “Advanced Compilers.”
- Spring 2022: CS 6120, “Advanced Compilers.”
- Fall 2021: CS 4110, “Programming Languages and Logics.”
- Spring 2021: CS 3410, “Computer System Organization and Programming.” This is our department’s introduction to architecture and the systems side of the world. I co-taught with Anne Bracy.
- Fall 2020: CS 6120, “Advanced Compilers.”
- Spring 2020: CS 7491, “The Great ISAs.” This is a new reading seminar on the history of hardware–software abstractions.
- Fall 2019: CS 6120, “Advanced Compilers.”
- Spring 2019: CS 6110, “Advanced Programming Languages.” This is our graduate programming languages course. It is “enjoyed” by PL-oriented and non-PL PhD students alike.
- Fall 2018: CS 4110, “Programming Languages and Logics.”
- Spring 2018: CS 6110, “Advanced Programming Languages.”
- Fall 2017: CS 2110, “Object-Oriented Programming and Data Structures.” This the second course in our department’s introductory CS sequence. I co-taught with David Gries and Eleanor Birrell.
- Spring 2017: CS 6110, “Advanced Programming Languages.”
- Fall 2016: CS 4110, “Programming Languages and Logics.”