Fall 2024
- CS 410P/510: Music, Sound and Computers
- ENG 399: Interactive Fiction (with Kathi Berens)
Summer 2024
Teaching Break: no coursesSpring 2024
Winter 2024
Fall 2023
Summer 2023
- CS 410P/510 R-E: Rust for Small Systems Programming
- CS 410/510 GAMES: Computer Game Design
- CS 410/510 R-W: Rust Web Development
Spring 2023
Summer 2022 — Winter 2023
Sabbatical — teaching breakSpring 2022
Winter 2022
Fall 2021
Summer 2021
Spring 2021
Winter 2021
Fall 2020
Summer 2020
Spring 2020
Winter 2020
Fall 2019
Summer 2019
Spring 2019
Winter 2019
Fall 2018
Summer 2018
- CS 461P/561: Open Source Software Development
- CS 410P/510 Rust: Rust Programming
Spring 2018
- CS 410P/510 EVE: Analysis and Support Software For Application Communities
- CS 410P/510 Rust: Rust Programming
Winter 2018
- NB Foundations: Algorithms
- CS 201: Computer Systems Programming
- CS 470: Capstone II
Fall 2017
Summer 2017
Spring 2017
Winter 2017
Fall 2016
Summer 2016
Spring 2016
Winter 2016
Fall 2015
Summer 2015
Fall 2014—Spring 2015
- Sabbatical: not teaching at PSU
Summer 2014
- New Beginnings Curriculum
Spring 2014
Winter 2014
Fall 2013
Summer 2013
Spring 2013
- CS 442/542: Combinatorial Games (Adversary Search / MiniChess)
- CS 584/684: Algorithm Design and Analysis
Winter 2013
- CS 462/562: Advanced Open Source Software Engineering
- CS 161: Introduction to Programming and Problem Solving
Fall 2012
Summer 2012
Spring 2012
Winter 2011
Fall 2011
Summer 2011
Spring 2011
- PSU CS 442/542: Combinatorial Games
- PSU CS 350: Algorithms and Complexity
- PSU CS 305: Social, Ethical, and Legal Implications of Computing (with Warren Harrison)
Winter 2011
Fall 2010
- PSU CS 300: Elements of Software Engineering
- PSU CS 410/510: Advanced Open Source Software Engineering
- PSU CS 572: UNIX Internals and Linux Device Drivers (with Jim Binkley)
- PSU CS 487: CS Capstone (Warren Harrison)
Summer 2010
Spring 2010
Winter 2010
Fall 2009
- PSU CS 572: Linux Device Drivers (with Jim Binkley)
Summer 2009
Spring 2009
Winter 2008
- OMSE 522: Modeling and Analysis of Software Systems
Fall 2008
- PSU CS 410/510: Advanced Open Source Software Engineering
- PSU CS 410/510: Multicore Computing Practicum
Summer 2008
Fall 2007—Spring 2008
Sabbatical—teaching break
Summer 2007
Spring 2007
Winter 2007
- PSU CS 300: Software Engineering
- PSU CS 410/510: Software Radio FPGA Programming for CS (w/ Jules Kongslie)
- OMSE 522: Modeling and Analysis of Software Systems (w/ Cynthia Brown)
Fall 2006
Summer 2006
Spring 2006
Winter 2006
Fall 2005
Summer 2005
Spring 2005
- PSU CS 442/542: Combinatorial Games
- PSU CS 572/672: Operating System Internals (Linux Device Drivers)
Winter 2005
Fall 2004
Summer 2004
Winter 2004
Fall 2003
Summer 2003
Spring 2003
Winter 2003
Fall 2002
Summer 2002
Spring 2002
Winter 2002
Fall 2001
Spring 2001
Winter 2001
Fall 2000
Summer 2000
Spring 2000
- OMSE 522: Modeling and Analysis, with Warren Harrison
- PSU CS 300: Software Engineering, with Warren Harrison
Winter 2000
Fall 1999
- OMSE 535: Software Implementation and Testing, with Dick Hamlet.
- Preparatory work for CS 487: Software Engineering Capstone
Spring 1999
- PSU CS 410/510 SPS: Scheduling, Planning, and Search
- OMSE 500: Principles of Software Engineering
Fall 1998
- OMSE 500: Principles of Software Engineering