Teaching

I believe that any concept can be learned when it is approached through first principles. Having taken most of the courses I've taught, I try to offer students new ways to see difficult ideas by breaking them down and reflecting on how I learned them myself.

CPSC 110

Computation, Programs, and Programming

2021W1, 2021W2, 2024W1

CPSC 210

Software Construction

2024S

CPSC 320

Intermediate Algorithm Design and Analysis

2024W2, 2025W1

CPSC 416

Distributed Systems

2025S

JAPN 100

Beginning Japanese I A

2023S

JAPN 200

Beginning Japanese II A

2024S