Curriculum Design

Anticipate schedule of courses


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

  1. Systems 1: Hardware Architecture and Design—From circuits to machine code (2000-level)
  2. Functional Programming and Computation—Exploring the foundations of Computer Science (4000-level)

Fall 2024

  1. Introduction 1: Programming and Computer Science (2000-level)
  2. Systems 2: Software Architecture and Design—From virtual machines to compilers (4000-level)

Spring 2025

  1. Introduction 2: Algorithms and Complexity (4000-level)
  2. Computability and Logic (4000-level)
  3. Artificial Intelligence and Ethics (2000-level)

Fall 2025

  1. Introduction 1: Programming and Computer Science (2000-level)
  2. Systems 1: Hardware Architecture and Design—From circuits to machine code (2000-level)
  3. Philosophy of Technology (4000-level)

Spring 2026

  1. Introduction 2: Algorithms and Complexity (4000-level)
  2. Systems 2: Software Architecture and Design—From virtual machines to compilers (4000-level)