Full List of Courses Taught
Fall 2023: EECS 149/249A: Introduction to Embedded Systems (co-taught with Prabal Dutta)
Spring 2023: EECS 219C: Formal Methods: Specification, Verification, and Synthesis
Spring 2022: EECS 219C: Formal Methods: Specification, Verification, and Synthesis
Fall 2021: EECS 149/249A: Introduction to Embedded Systems
Spring 2021:
EECS 219C: Formal Methods: Specification, Verification, and Synthesis
Fall 2020:
EECS 149/249A: Introduction to Embedded Systems (co-taught with Prabal Dutta)
Spring 2020:
EECS 219C: Formal Methods: Specification, Verification, and Synthesis
Fall 2019:
EECS 149/249A: Introduction to Embedded Systems (co-taught with Prabal Dutta)
Spring 2019:
EECS 219C: Formal Methods: Specification, Verification, and Synthesis
Fall 2018:
EECS 149/249A: Introduction to Embedded Systems (co-taught with Prabal Dutta)
Spring 2018:
EECS 219C: Formal Methods: Specification, Verification, and Synthesis
Fall 2016:
CS 70: Discrete Mathematics and Probability Theory (co-taught with Jean Walrand)
Spring 2016:
EECS 219C: Computer-Aided Verification
Fall 2015:
EECS 149: Introduction to Embedded Systems
Spring 2015:
EECS 219C: Computer-Aided Verification
Spring 2014:
CS294-98: Formal Methods for Engineering Education.
Fall 2013:
EECS 149: Introduction to Embedded Systems (co-taught with Edward Lee)
EECS 144 & 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
(co-taught with Stavros Tripakis)
Fall 2012:
EECS 219C: Computer-Aided Verification
EECS 149: Introduction to Embedded Systems (co-taught with Edward Lee)
Fall 2011:
EECS 144 & 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
(co-taught with Edward Lee and Jaijeet Roychowdhury)
Spring 2011:
EECS 219C: Computer-Aided Verification
EECS 149: Introduction to Embedded Systems (co-taught with Edward Lee)
Fall 2010:
EECS 144 & 244: Fundamental Algorithms for System Modeling, Analysis, and Optimization
(co-taught with Edward Lee and Jaijeet Roychowdhury)
Spring 2010:
CS 172: Computability and Complexity
Fall 2009:
EECS 219C: Computer-Aided Verification
Spring 2009:
EECS 149: Introduction to Embedded Systems
Fall 2008:
EECS 244: Introduction to Computer-Aided Design of ICs
(co-taught with Kurt Keutzer)
Spring 2008:
CS 172: Computability and Complexity
EECS 124: Introduction to Embedded Systems
(co-taught with Edward Lee)
Fall 2007:
EECS 244: Introduction to Computer-Aided Design of ICs
(co-taught with Kurt Keutzer)
CS 294-25: Current Berkeley Research in Programming Systems
(co-taught with R. Bodik, K. Sen, D. Song, and K. Yelick)
Spring 2007:
EECS 219C: Computer-Aided Verification
Fall 2006:
CS 172: Computability and Complexity
Spring 2006:
EECS 219C: Computer-Aided Verification
Fall 2005:
EECS 244: Introduction to Computer-Aided Design of ICs
(co-taught with Kurt
Keutzer)