
Spring 2021
Graduate-level machine learning course covering supervised learning, unsupervised learning, and reinforcement learning.
Fall 2020
Graduate course on Bayesian statistical methods including inference, MCMC, and optimization.
Summer 2020
Introductory data science course covering data wrangling, visualization, and machine learning fundamentals.
Spring 2020
Introductory course on the fundamentals of data science for non-CS majors.
Spring 2016
Upper division course on Bitcoin, blockchain technology, and cryptocurrency systems. Co-taught with Vincent Yang.
Spring 2015
Lower division seminar exploring the history and development of computer science as a field.
Spring 2014
Seminar for University Honors Program students on maximizing one's undergraduate educational experience.
In my first year at UC Davis, I had the opportunity to take a course taught by an undergraduate student. The course proved to be the most practical course I took as an undergraduate, and I felt inspired to pass that knowledge on through teaching the class myself after the instructor graduated. But there was a problem. Davis didn't have a program to support this kind of student-led teaching. In fact, undergraduate instructors were technically not permitted. This didn't sit well with me and a close friend of mine. We had a class we wanted to teach. And we knew that students at other universities, like Berkeley, Stanford, and Carnegie Mellon, to name just a few, had the ability to do exactly that. We approached the Academic Senate and proposed a policy to permit undergraduates to design and teach classes on topics of their own choosing. After a year of researching, presenting, lobbying and negotiating, the Senate accepted our proposed policy under the title "Student Facilitated Courses." As you can tell by the section title above, we disagreed on what to call the program. I am still insulted by their choice as it minimizes the effort that student instructors put in to design their courses. Since then, I've had the pleasure of teaching three courses, two through my home department of Computer Science, and helping at least seven others create their own courses.
If you are currently an undergraduate at UC Davis and are interested in teaching your own student-led course, please feel free to contact me after reading the Davis Wiki page. I'm more than happy to walk you through the process and provide guidance on being an instructor.