Teaching

Department of Computer Science at Haverford College Schedule

Haverford College COVID-19 Policies & Procedures

Spring 2024 (on Leave)

Fall 2023 (in-person masked indoors/vaxxed/boosted) [tentative]

  • Introduction to Computer Science and Data Structures (cs107)
  • Principles of Computing Systems (cs251)
  • Senior Thesis Advising (cs399) – CS seniors

Spring 2023 (in-person masked indoors/vaxxed/boosted)

  • Data Structures (cs106)
  • Concurrency and Co-Design (cs356)
  • Senior Thesis Advising (cs399)
  • Independent Study (cs480)

Fall 2022 (in-person masked indoors/vaxxed/boosted)

  • Introduction to Computer Science and Data Structures (cs107)
  • NEW: Principles of Computing Systems (cs251) w/ Pf. Dave Wonnacott
  • Senior Thesis Advising (cs399) – CS seniors * 6
  • Independent Study (cs480)

Spring 2022 (in-person masked/vaxxed/boosted)

  • Principles of Computer Organization (cs240)
  • Senior Thesis Advising (cs399)
  • Independent Study (cs480) * 6 (yikes!)

Fall 2021 (in-person masked/vaxxed)

  • Introduction to Computer Science and Data Structures (cs107)
  • Senior Thesis Advising (cs399) – CS seniors (6)
  • Independent Study (cs480)

Spring 2021 (online lecture, in-person labs)

  • Concurrency and Co-Design (cs356)
  • Senior Thesis Advising (cs399)

Fall 2020 (online lecture, in-person labs)

  • I am adjusting my teaching to accommodate various forms of learning, and support the student strike to address structural racism.
  • Principles of Computer Organization (cs240) with Dave Wonnacott
  • Senior Thesis Advising (cs399) – five CS seniors

Spring 2020 (on leave): advised senior thesis otherwise caregiver during the Pandemic

Fall 2019

  • Principles of Computer Organization (cs240)
  • Senior Thesis (cs399) advising five students

Spring 2019

  • Data Structures (cs106)
  • Concurrency and Co-Design (cs356)

Fall 2018

  • Introduction to Computer Science (cs105)
  • Principles of Computer Organization (cs240)

Other Classes Taught at Haverford College

  • The World of Computing (cs100)
  • Fluency with Information Technology (cs101)
  • Topics in Programming: Social Inquiry (cs104)
  • Human-Computer Interaction (cs215)
  • Principles of Programming Languages (cs245)
  • High-Performance Scientific Computing (cs287)
  • Theory of Computation (cs345)
  • Software Development for Accessibility (cs392)
  • Senior Thesis (cs399)