Teaching

I have a bit of a manifesto for PL and formal-methods education:

Students learn formal ideas by repeatedly moving between concrete cases and principled abstraction, with formative feedback guiding that movement.

This view is evidenced by much of my research, which engages directly with CS education. I strive to build tools that are useful in classroom settings — both as research artifacts and as practical ways to give students the kind of formative feedback this view depends on. I am particularly proud of the LTL Tutor, a curriculum-agnostic adaptive tutor for linear temporal logic.

Teaching Certification

Teaching Experience

Brown University

CSCI 1710 Logic for Systems Teaching Assistant · 2022–2026
CSCI 1730 Programming Languages Teaching Assistant · 2025

Tufts University

CS 105 Programming Languages Teaching Assistant · 2015–2016
CS 160 Introduction to Algorithms Teaching Assistant · 2014