Teaching

Fall 2022:

  • CS 169A: Fast-paced introduction to the fundamentals of Agile software engineering, including cloud computing & SaaS, behavior-driven design with lo-fi mockups and user stories, test-driven development, working with and refactoring legacy code, design patterns, dev/ops, cloud+client app frameworks, working in Agile teams, and using the tools professionals use to craft beautiful, maintainable software.

  • CS 375: Teaching Techniques for CS. Pedagogy, classroom climate, DEIBJ, and in general being a successful student teacher.

Spring 2022:

  • CS 169L: Software Engineering Team Project. Student teams work with real customers (nonprofits & campus units) to build SaaS. Requires CS169A or equivalent experience, as characterized by its textbook Engineering Software as a Service.

  • CS 375: Teaching Techniques for CS. Pedagogy, classroom climate, DEIBJ, and in general being a successful student teacher.

Fall 2021:

Spring 2021:

  • CS 169L Software Engineering Team Project (with Prof. Michael Ball), Wed 12:00-13:00, online
  • CS 399-006 (Supervised Teaching), class# 14225
  • CS 299-031 (Graduate student research), class# 11431
  • CS 199-024 (Undergraduate research), class# 11734
  • CS 99-005 (Undergraduate research), class# 16454

Fall 2020:

Spring 2019: 

  • CS 169 Software Engineering, Tue/Thu 2-3:30, 2060 VLSB
  • CS 375 Teaching Techniques for CS, Mon 10am-noon (through end of March), 101 Life Sciences Addition
  • Office hours: Monday 1-2pm, 732 Soda Hall, or by appointment (email me), except travel days (see at right)

Spring 2018: CS 375 Teaching Techniques for CS (with Randy Katz), Mondays 4-6pm, Woz

  • Undergraduates interested in CS375: CS375 as a graduate course requires permission codes for undergraduate students to be able to enroll.  Undergraduates hired as (U)GSIs for CS/EECS classes should contact Cindy Conners to enroll. After all CS/EECS (U)GSIs can be accommodated in CS375/EE375, other undergrads can sign up closer to the beginning of the semester.  Please consider signing up for CS370 instead, as it is better set up to handle larger enrollments.

Always available online at edX: Agile Development Using Ruby on Rails 

Previous courses

  • CS169: Fall 2017, Fall 2016, Spring 2016, Spring 2015, Fall 2013, Fall 2012, Spring 2012, Fall 2010. Often co-taught with Prof. David Patterson, until Spring 2016.
  • CS375: Spring 2018, Spring 2016
  • Fall 2013: Autograding and online education technology (with Prof. John Canny)