Currently Teaching

[CMSC 32001, Winter 2024] Topics in PL: User Interfaces for Programming

Upcoming Classes

[CMSC 14200, Spring 2024] Introduction to Computer Science II

Taught @UChicago


javascript + p5.js

[CMSC 11111, Winter 2022] Creative Coding
[CMSC 11111, Spring 2021] Creative Coding
[Pre-College Immersion, Summer 2023] Introduction to Creative Coding
[Pre-College Immersion, Summer 2022] Introduction to Creative Coding
[Pre-College Immersion, Summer 2021] Introduction to Creative Coding
[Collegiate Scholars Program, Summer 2021] Art with Science: Creative Coding

haskell

[CMSC 22300, Fall 2023] Functional Programming
[CMSC 22300, Winter 2023] Functional Programming
[CMSC 16100, Fall 2021] Honors Introduction to Computer Science I
[CMSC 16100, Fall 2020] Honors Introduction to Computer Science I
[CMSC 16100, Fall 2018] Honors Introduction to Computer Science I
[CMSC 16100, Fall 2017] Honors Introduction to Computer Science I
[CMSC 16100, Fall 2016] Honors Introduction to Computer Science I
[CMSC 16100, Fall 2015] Honors Introduction to Computer Science I
[CMSC 16100, Fall 2014] Honors Introduction to Computer Science I

elm + functional data structures

[CMSC 22300, Winter 2021] Functional Programming
[CMSC 22300, Spring 2020] Functional Programming
[CMSC 22300, Spring 2019] Functional Programming
[CMSC 22300, Spring 2017] Functional Programming
[CMSC 22300, Winter 2016] Functional Programming
[CMSC 22300, Winter 2015] Functional Programming

special topics

[CMSC 32001, Spring 2023] Topics in PL: User Interfaces for Programming
[CMSC 32001, Winter 2022] Topics in PL: User Interfaces for Programming
[CMSC 32001, Spring 2020] Topics in PL: User Interfaces for Programming
[CMSC 32001, Spring 2019] Topics in PL: Bidirectional Programming and Synthesis
[CMSC 32001, Spring 2018] Topics in PL: Direct Manipulation Programming
[CMSC 32001, Spring 2017] Topics in PL: Program Synthesis
[CMSC 32001, Spring 2016] Topics in PL: Program Synthesis
[CMSC 32001, Spring 2015] Topics in PL: Types and Contracts

Taught @UCSD

[CSE 130, Winter 2014] Programming Languages: Principles and Paradigms

Taught @UPenn

[SAAST, Summer 2007] Computer Science (Lecture Notes)
[CSE 399, Spring 2007] C# Programming