UW CSE 505: Concepts of Programming Languages
Graduate course using proof assistants to explore transition systems, inductive invariants, type systems, Hoare logic, metatheory
UW CSE 341: Programming Languages
Undergraduate course exploring informal operational semantics, functional programming vs. OOP, static vs. dynamic typing
UW CSE 331: Software Design and Implementation
Undergraduate course exploring specification, invariants, testing, debugging, modular design
Special Topics Graduate Courses
★ I was honored to be nominated for the UW Distinguished Teaching Award in 2015.