- Fall 2026 E6998: Build an Agent Startup
- Fall 2025 W4152: Engineering Software-as-a-Service
- Fall 2025 E6113: Agent for Work
- Fall 2024 Sabbatical leave
- Spring 2024 Sabbatical leave
- Fall 2023 W4152: Engineering Software-as-a-Service
- Fall 2023 E6998: Engineering Blockchain and Web3 Apps
- Fall 2022 W4152: Engineering Software-as-a-Service
- Fall 2022 E6998: Engineering Blockchain and Web3 Apps
- Fall 2021 W4995: Engineering Software-as-a-Service
- Fall 2021 E6998: Security and Robustness of ML systems
- Spring 2021 W4156: Advanced Software Engineering
- Spring 2021 E6998-003: Security and Robustness of ML systems
- Spring 2020 W4156: Advanced Software Engineering
- Spring 2020 E6998-010: Security and Robustness of ML systems
- Spring 2019 E6121: Reliable Software
- Spring 2019 E6998-001: Security and Robustness of ML systems
- Spring 2018 E6121: Reliable Software
- Spring 2018 E6998-009: Security and Robustness of ML systems
- Spring 2017 E6121: Reliable Software
- Fall 2016 Teaching leave
- Spring 2016 Sabbatical leave
- Fall 2015 Sabbatical leave
- Spring 2015 Teaching leave
- Fall 2014 E6121: Reliable Software
- Spring 2014 Teaching leave
- Fall 2013 W4118: Operating Systems I
- Spring 2013 Teaching leave
- Fall 2012 E6121: Reliable Software
- Spring 2012 W4118: Operating Systems I
- Fall 2011 E6121: Reliable Software
- Spring 2011 W4118: Operating Systems I
- Fall 2010 E6998-1: Reliable Software
- Spring 2010 W4118: Operating Systems I
- Fall 2009 E6998-1: Reliable Software
- Spring 2009 W4118: Operating Systems I
- Fall 2008 E6998-2: How to Make Reliable Software