ztatlock
A zebra with sunglasses and laser eyes spelling Z.

Teaching

2022 Autumn, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

πŸ§‘β€πŸ«

TA: Jacob Van Geffen, Oliver Flatt, Riya Dheer, Nuha Qadir, Anirudh Suresh, Deeksha Vatwani

2021 Spring, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

βž•

Co-taught with James R. Wilcox

πŸ§‘β€πŸ«

TA: Brendan Murphy, Jack Zhang, Mike He, Yihong Zhang

2021 Winter, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

2020 Spring, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

2020 Winter, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

2019 Spring, UW CSE P505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

2019 Winter, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

πŸ§‘β€πŸ«

2018 Autumn, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

2018 Spring, UW CSE 331: Software Design and Implementation

πŸ”Ž

Specification, invariants, testing, debugging, modular design

2018 Winter, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

2017 Autumn, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

βž•

Co-taught with Leonardo de Moura

πŸ§‘β€πŸ«

2017 Spring, UW CSE 599Z: Accurate Computing

πŸ”Ž

Special topics seminar on numerical computing and computational fabrication

2017 Winter, UW CSE 331: Software Design and Implementation

πŸ”Ž

Specification, invariants, testing, debugging, modular design

2016 Autumn, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

2016 Spring, UW CSE 599W: Systems Verification

πŸ”Ž

Special topics seminar on formally verifying systems implementations

βž•

Co-taught with Xi Wang, Bryan Parno

2016 Winter, UW CSE 331: Software Design and Implementation

πŸ”Ž

Specification, invariants, testing, debugging, modular design

2015 Autumn, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

TA: Doug Woos

2015 Spring, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

πŸ§‘β€πŸ«

2015 Winter, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

2014 Spring, UW CSE 341: Programming Languages

πŸ”Ž

Informal operational semantics, functional programming vs.Β OOP, static vs.Β dynamic typing

πŸ§‘β€πŸ«

TA: Armando Diaz Tolentino, Max Sherman, Riley Klingler

2014 Winter, UW CSE 506: Advanced Topics in Programming Languages – Proof Assistants

πŸ”Ž

Special topics seminar on dependent types and systems verification

2013 Autumn, UW CSE 505: Concepts of Programming Languages

πŸ”Ž

Transition systems, inductive invariants, type systems, Hoare logic

πŸ§‘β€πŸ«

⭐ I was honored to be nominated for the UW Distinguished Teaching Award in 2015.

Summer School Courses

Verifying Distributed Systems Implementations in Coq

DeepSpec Summer School 2018: materials, lectures