### at VU Amsterdam:

- 2019 Spring: Logic and Modeling (instructor)
- 2018 Spring: Logic and Modeling (teaching assistant)

### at Carnegie Mellon:

- 2016 Fall: Logic and Mathematical Inquiry (instructor)
- 2015 Spring: Nature of Mathematical Reasoning (instructor)
- 2014 Fall: Models and Methods of Optimization (teaching assistant)
- 2014 Summer: Nature of Mathematical Reasoning (instructor)
- 2014 Spring: Undecidability and Incompleteness (grader and guest lecturer)
- 2013 Fall: Formal Logic (grader and guest lecturer)

### at St. Agnes Academy:

- 2011-2012: Geometry, Pre-calculus, AP Calculus AB (instructor)
- 2010-2011: Geometry, AP Calculus AB (instructor)

### Logic and Proof

I am helping develop an open-source course and text on mathematical proof and argument. The course uses examples from the Lean proof assistant. We have designed the course to encourage students to think about mathematics from three perspectives: the formal (logic and natural deduction), the informal (natural-language concepts and proofs), and the semi-formal (exemplified by Lean).

The most recent version of the text can be found here (interactive) or here (pdf), and the development is tracked on GitHub.

In Fall 2016, Jeremy Avigad and I co-taught a sophomore-level course at CMU using these notes. In Spring 2019, I will teach a second year CS course at VU Amsterdam using these notes.