Teaching

Page

Fall 2024

Spring 2024

Fall 2023 (sabbatical leave)

Spring 2023

Fall 2022

Spring 2022

Fall 2021

Spring 2021

Fall 2020

  • CSCI 315-01 – Operating Systems Design

Spring 2020

  • CSCI 245-01 – Life, Computers, and Everything (MWF, 9:00-9:52, ACET 116)
  • UNIV 200-10 – Time/Machine (TuTh, 2:30-3:52, COLE 150)

 Fall 2019

  • CSCI 315-02 – Operating Systems Design

Spring 2019

  • CSCI 245-01 – Life, Computers, and Everything (MWF, 2:00-2:52, BRKI 366)
  • UNIV 200-10 – Time/Machine (TuTh, 9:30-1052, ACWS 114)

Fall 2018

  • CSCI 315-01 – Operating Systems Design

Spring 2018

  • CSCI 245-01 – Life, Computers, and Everything
  • CSCI 240-01 Computers and Society
  • CSCI 240-02 Computers and Society 166)
  • CSCI 206L-61 Computer Organization and Programming (lab)
  • CSCI 206L-62 Computer Organization and Programming (lab)

Fall 2017 (sabbatical leave)

Spring 2017

  • CSCI 245-01 – Life, Computers, and Everything
  • CSCI 378-01 – Individual Study in Computer Science
  • UNIV 200-10 – Time/Machine

Fall 2016

  • CSCI 315-01 – Operating Systems Design
  • CSCI 315-02 – Operating Systems Design
  • CSCI 315L-60 – Operating Systems Design Lab
  • CSCI 315L-61 – Operating Systems Design Lab

Spring 2016

  • CSCI 245-01 – Life, Computers, and Everything
  • UNIV 200-08 – Flights of Computing Fancy

Fall 2015

  • CSCI 315-01 – Operating Systems Design
  • CSCI 315-02 – Operating Systems Design
  • CSCI 315L-60 – Operating Systems Design Lab
  • CSCI 315L-61 – Operating Systems Design Lab

Spring 2015

  • CSCI 206 – Computer Organization and Programming
  • CSCI 206L – Computer Organization and Programming Laboratory
  • CSCI 476 – Sr. Design II
  • CSCI 378 – Individual Study

Fall 2014

  • CSCI 315-01 – Operating Systems Design
  • CSCI 315-02 – Operating Systems Design
  • CSCI 315L-61 – Operating Systems Design Lab
  • CSCI 475 – Sr. Design I
  • CSCI 378-03 – Individual Study

Spring 2014

  • CSCI 206 – Computer Organization and Programming
  • CSCI 206L – Computer Organization and Programming Laboratory
  • CSCI 476 – Sr. Design II

Fall 2013

  • CSCI 315-01 – Operating Systems Design
  • CSCI 315L-60 – Operating Systems Design Lab
  • CSCI 315L-61 – Operating Systems Design Lab
  • CSCI 475 – Sr. Design I

Spring 2013

  • CSCI 315-01 – Operating Systems Design
  • CSCI 315-02 – Operating Systems Design
  • CSCI 315L-60 – Operating Systems Design Lab
  • CSCI 476 – Sr. Design II
  • CSCI 378 – Independent Study in Computer Science: Simulation 
  • CSCI 376 – Honors Thesis

Fall 2012

  • CSCI 362 – Computer and Network Security
  • CSCI 475 – Sr. Design I
  • CSCI 378 – Independent Study in Computer Science: Simulation

Spring 2012

  • CSCI 315-01 – Operating Systems Design
  • CSCI 315L-60 – Operating Systems Design Lab
  • CSCI 315L-61 – Operating Systems Design Lab
  • CSCI 363 – Computer Networks
  • CSCI 363L-60 – Computer Networks Lab
  • CSCI 378 Independent Study in Computer Science

Fall 2011

  • CSCI 206 – Computer Organization and Programming
  • CSCI 206L – Computer Organization and Programming Laboratory

Spring 2011

  • CSCI 315 – Operating Systems Design
  • CSCI 315L – Operating Systems Design Laboratory
  • CSCI 362 – Computer and Network Security

Fall 2010 (sabbatical leave)

Spring 2010

  • CSCI 476 – Senior Design II
  • CSCI 363 – Computer Networks
  • CSCI 363L – Computer Networks Laboratory

Fall 2009

  • CSCI 475 – Senior Design I
  • ENGR 100 – Exploring Engineering

Spring 2009 

  • ENGR 139 – Technical Written and Oral Communication
  • CSCI 363 – Computer Networks
  • CSCI 363L – Computer Networks Laboratory

Fall 2008

  • CSCI 362 – Computer and Network Security
  • ENGR 100 – Exploring Engineering

Spring 2008

  • CSCI 363 – Computer Networks
  • CSCI 363L – Computer Networks Laboratory
  • CSCI 240 – Computers and Society
  • CSCI 203L – Introduction to Computer Science I Laboratory

Fall 2007

  • CSCI 362 – Computer and Network Security
  • CSCI 203 – Introduction to Computer Science I
  • CSCI 203L – Introduction to Computer Science I Laboratory

Spring 2007

  • CSCI 206 – Computer Organization and Programming
  • CSCI 206L – Computer Organization and Programming Laboratory
  • CSCI 363 – Computer Networks
  • CSCI 363 – Computer Networks Laboratory

Fall 2006 (untenured leave)

Spring 2006

  • CSCI 240 – Computers and Society
  • CSCI 379 – Topics in Computer Science: Fundamentals of Computer Security

Fall 2005

  • CSCI 203 – Introduction to Computer Science I
  • CSCI 203L – Introduction to Computer Science I Laboratory
  • CSCI 206 – Computer Organization and Programming
  • CSCI 206L – Computer Organization and Programming Laboratory

Spring 2005

  • CSCI 203 – Introduction to Computer Science I
  • CSCI 363 – Computer Networks
  • CSCI 363 – Computer Networks Laboratory

Fall 2004

  • CSCI 204 – Introduction to Computer Science II (lab)
  • CSCI 311 – Data Structures
  • CSCI 379 – Topics in Computer Science: Fundamentals of Computer Security

Spring 2004

  • CSCI 315 – Operating Systems
  • CSCI 203 – Introduction to Computer Science I (lab)
  • CSCI 379 – Topics in Computer Science: Fundamentals of Computer Security

Fall 2003

  • CSCI 204 – Introduction to Computer Science II
  • CSCI 311 – Data Structures

Past Courses at Dartmouth College

  • CS37 – Computer Architecture, Summer 2002
  • CS37 – Computer Architecture, Summer 2001