List of courses that I taught at UT Austin.
- Spring 2026: ECE 382C: Software Evolution Principles
- Graduate course on analysis of evolving programs
- Fall 2025: ECE 360G: Programming Paradigms
- Graduate course on programming languages, design patterns, and programming paradigms
- Fall 2024: ECE 361G: Engineering Program Analysis
- Graduate course on compilers and program analysis
- Spring 2024: ECE 312: Software Design and Implementation I
- Introduction to problem solving and techniques for programming
- Fall 2023: ECE 360G: Programming Paradigms
- Graduate course on programming languages, design patterns, and programming paradigms
- Spring 2023: ECE 312H: Software Design and Implementation I (Honors section)
- Introduction to problem solving and techniques for programming
- Fall 2022: ECE 361G: Engineering Program Analysis
- Graduate course on compilers and program analysis
- Spring 2022: ECE 312H: Software Design and Implementation I (Honors section)
- Introduction to problem solving and techniques for programming
- Fall 2021: ECE 328V: Programming Paradigms
- Graduate course on programming languages, design patterns, and programming paradigms
- Spring 2021: ECE 312H: Software Design and Implementation I (Honors section)
- Introduction to problem solving and techniques for programming
- Fall 2020: ECE 328V: Software Evolution
- Graduate course on analysis of evolving programs
- Spring 2020: ECE 312H: Software Design and Implementation I (Honors section)
- Introduction to problem solving and techniques for programming
- Fall 2019: ECE 379K: Engineering Dynamic Program Analysis
- Graduate course on compilers and dynamic analysis
- Spring 2019: ECE 312H: Software Design and Implementation I (with ECE 319K)
- Introduction to problem solving and techniques for programming
- Fall 2018: ECE 328V: Software Evolution
- Graduate course on analysis of evolving programs
- Spring 2018: ECE 312: Software Design and Implementation I (with ECE 319K)
- Introduction to problem solving and techniques for programming
- Spring 2017: ECE 312: Software Design and Implementation I
- Introduction to problem solving and techniques for programming
- Fall 2016: ECE 382V: Software Evolution
- Graduate course similar to the previous offering of ECE 382V (with less focus on research projects)
- Fall 2015: ECE 328V: Software Evolution
- Graduate course on analysis of evolving programs