This is a list of courses that I have taught. Descriptions are shown for the most recent offering of each course.
Fall 2019, Fall 2018
Artificial Intelligence (AI) is a broad and fast-growing subfield of Computer Science concerned with the construction and deployment of intelligent agents. This course provides an overview of methods, history, and impact of AI. It covers heuristic search, game playing, reasoning under uncertainty, reinforcement learning, Bayesian networks, Markov models, machine learning, and applications (natural language processing, vision, robotics, as time permits). Students will solve a variety of AI problems using Python.
This course is an introduction to robotics from a computer scientist’s perspective. While robotics is inherently broad and interdisciplinary, we will primarily focus on ideas with roots in computer science, as well as the roles that a computer scientist would play in a robotics research or engineering task. At the same time, students will learn the necessary tools for communication and cooperation with other engineers in order to develop a working robot system, including the ability to read and implement ideas from robotics research papers.
The study of discrete mathematics provides an important foundation for basic theoretical principles in computer science. This course starts by building a strong background in logic and formal proofs, particularly those constructed by induction. After developing the ability to write coherent, rigorous proofs, we will study topics relating to functions, number theory, group theory, counting, and graph theory. Applications in cryptography, error correcting codes, and other areas of computer science will be considered as time permits.
Spring 2013 - Spring 2018 (Carnegie Mellon)
Although I was never a formal instructor for this course, I initially was a graduate student TA and then worked closely with my advisor in subsequent semesters to implement an online curriculum for present offerings of the course.
Summer 2012 (UC Berkeley)
This was my first foray into teaching as a 5-time TA and instructor for a course in introductory circuits during my undergraduate years at Berkeley.