Class schedules at Bennington College are quite flexible. And so, while I make no guarantee that the following courses will be offered according to the schedule below, here are the courses I anticipate teaching over the next several years.
Spring 2024
- Systems 1: Hardware Architecture and Design—From circuits to machine code (2000-level)
- Functional Programming and Computation—Exploring the foundations of Computer Science (4000-level)
Fall 2024
- Introduction 1: Programming and Computer Science (2000-level)
- Systems 2: Software Architecture and Design—From virtual machines to compilers (4000-level)
Spring 2025
- Introduction 2: Algorithms and Complexity (4000-level)
- Computability and Logic (4000-level)
- Artificial Intelligence and Ethics (2000-level)
Fall 2025
- Introduction 1: Programming and Computer Science (2000-level)
- Systems 1: Hardware Architecture and Design—From circuits to machine code (2000-level)
- Philosophy of Technology (4000-level)
Spring 2026
- Introduction 2: Algorithms and Complexity (4000-level)
- Systems 2: Software Architecture and Design—From virtual machines to compilers (4000-level)