Courses
Spring 2023 (Caltech)
CS 3: Introduction to Software Design
(Instructor)
CS 13: Mathematical Foundations of Computing
(Instructor)
Winter 2023 (Caltech)
CS 2: Introduction to Programming Methods
(Instructor)
CS 11: LaTeX Programming
(Instructor)
Fall 2022 (Caltech)
CS 24: Introduction to Computing Systems
(Instructor)
Spring 2022 (Caltech)
CS 3: Introduction to Software Design
(Instructor)
CS 137: Algorithms in the Real World
(Instructor)
Winter 2022 (Caltech)
CS 2: Introduction to Programming Methods
(Instructor)
Fall 2021 (Caltech)
CS 24: Introduction to Computing Systems
(Instructor)
Spring 2021 (Caltech)
CS 3: Introduction to Software Design
(Instructor)
CS 137: Algorithms in the Real World
(Instructor)
Winter 2021 (Caltech)
CS 2: Introduction to Programming Methods
(Instructor)
Fall 2020 (Caltech)
CS 24: Introduction to Computing Systems
(Instructor)
CS 11: Interview Preparation Track
(Instructor)
Spring 2020 (Caltech)
CS 3: Introduction to Software Design
(Instructor)
Winter 2020 (Caltech)
CS 2: Introduction to Programming Methods
(Instructor)
Fall 2019 (Caltech)
CS 24: Introduction to Computing Systems
(Instructor)
CS 11: Interview Preparation Track
(Instructor)
Spring 2019 (Caltech)
CS 3: Introduction to Software Design
(Instructor)
CS 24: Introduction to Computing Systems
(Co-Instructor)
Winter 2019 (Caltech)
CS 2: Introduction to Programming Methods
(Instructor)
Fall 2018 (Caltech)
CS 37: Algorithms in the Real World
(Instructor)
CS 9: Introduction to Computer Science Research
(Co-Instructor)
Spring 2018 (UW)
CSE 312: Foundations of Computing II
(Instructor)
Winter 2018 (UW)
CSE 373: Data Structures and Algorithms
(Mentor/Co-instructor)
CSE 390P: Problem Solving with Programming
(Instructor)
Autumn 2017 (UW)
CSE 311: Foundations of Computing I
(Instructor)
Spring 2017 (UW)
CSE 311: Foundations of Computing I
(Instructor)
Winter 2017 (UW)
CSE 332: Data Structures & Parallelism
(Instructor)
Autumn 2016 (UW)
CSE 143: Computer Programming II
(Instructor)
CSE 390P: Problem Solving with Programming
(Instructor)
Spring 2016 (UW)
CSE 311: Foundations of Computing I
(Instructor)
Winter 2016 (UW)
CSE 332: Data Abstractions
(Instructor)
CSE 390P: Programming for Fun and Competition
(Instructor)
Autumn 2015 (UW)
CSE 143X: Accelerated Computer Programming I/II
(Instructor)
CSE 332: Data Abstractions
(Instructor)
CSE 143H: 143 Honors Seminar
(Instructor)
Summer 2015 (UW)
CSE 332: Data Abstractions
(Instructor)
Spring 2015 (UW)
CSE 143: Computer Programming II
(Instructor)
CSE 143H: 143 Honors Seminar
(Instructor)
Winter 2015 (UW)
CSE 143: Computer Programming II
(Instructor)
CSE 143H: 143 Honors Seminar
(Instructor)
Autumn 2014 (UW)
CSE 311: Foundations of Computing I
(Instructor)
CSE 143H: 143 Honors Seminar
(Instructor)
Fall 2013 (CMU)
15-151: Mathematical Foundations of Computer Science
(Instructor, Course Designer)
Fall 2012 (CMU)
15-151: Mathematical Foundations of Computer Science
(Instructor, Course Designer)
Spring 2012 (CMU)
15-251: Great Theoretical Ideas in Computer Science
(Head Teaching Assistant)
15-451: Algorithm Design and Analysis
(Teaching Assistant)
Fall 2011 (CMU)
15-131: Great Practical Ideas for Computer Scientists
(Instructor, Course Designer)
21-127: Concepts of Mathematics
(Teaching Assistant)
Spring 2011 (CMU)
15-251: Great Theoretical Ideas in Computer Science
(Teaching Assistant)
Fall 2010 (CMU)
15-251: Great Theoretical Ideas in Computer Science
(Teaching Assistant)
Summer 2010 (CMU)
15-211: Fundamental Data Structures and Algorithms
(Teaching Assistant)
Spring 2010 (CMU)
15-251: Great Theoretical Ideas in Computer Science
(Teaching Assistant)
Fall 2009 (CMU)
15-211: Fundamental Data Structures and Algorithms
(Teaching Assistant)