// a decade in the classroom
Teaching
I teach the parts of computer science that live closest to the hardware — the layers most curricula abstract away right when they get interesting.
Courses
Comp 102
Programming Fundamentals
An introduction to programming in Python: expressions and control flow, functions and environment diagrams, lists and dictionaries, classes, recursion, and testing.
CS 453
Computer Graphics
How images are computed from scene descriptions: raster graphics, transformations and scene graphs, a recursive ray tracer and path tracer in Python, then real-time rendering on the GPU with GLSL.
How I teach
Lectures introduce an idea; the assignments have you build something real with it.
Course materials are open where licensing allows — if you are teaching something similar, feel free to reuse them.