I teach computer science with a perspective that attempts to combine formal mathematical reasoning, applied programming skills, and a broad perspective on the purpose and role of a computer scientist in the world. I am a theoretician by training, and I enjoy teaching discrete math, algorithms, and computational theory, but one of my great joys as a teacher is connecting these classes and the unique beauties of mathematical thinking with the practical and professional interests of students, in the broader context of our shared society.
In the classroom, I enjoy an active style of engagement with my students, giving them as much opportunity as possible to use what they know, and work through what they do not. I am excited to teach a breadth of classes related to computer science. I most regularly teach or expect to teach:
Introduction to Computer Science
Discrete Mathematics
Data Structures
Design and Analysis of Algorithms
Theory of Computation
and speciality classes include:
Approximation Algorithms
Algorithmic Game Theory
Computational Social Choice
Statistical Machine Learning
Randomized Algorithms
The SocioTechno World
I am particularly excited about the opportunity to team teach, discuss, and evaluate these courses in conversation with other faculty. If you have thoughts, suggestions, or would just like to chat about any of these courses, please let me know.
Computer Science 590, Privacy and Fairness in Data Science
Instructor: Ashwin Machanavajjhala
Fall 2018, Duke University
Computer Science 531, Introduction to Algorithms
Instructors: Dr. John Reif and Brandon Fain
Fall 2018, Duke University
Computer Science 330, Design and Analysis of Algorithms
Instructor: Brandon Fain
Summer 2018, Duke University
Computer Science 230, Discrete Mathematics for Computer Science
Instructor: Dr. Kamesh Munagala
Spring 2018, Duke University
Computer Science 531, Introduction to Algorithms
Instructor: Dr. John Reif
Fall 2015, Duke University
Computer Science 230, Discrete Mathematics for Computer Science
Instructor: Dr. Carlo Tomasi
Spring 2015, Duke University
Transylvania University Natural Sciences and Mathematics Tutor
Subjects: Physics, Mathematics, Computer Science
Time: Spring 2011 - Spring 2014
Preparing Future Faculty Fellowship 2018-2019
Duke University Graduate School Competitive Fellowship Training Program
Duke Graduate School Certificate in College Teaching with the following courses.
Fundamentals of College Teaching
Course Design
College Teaching and Visual Communication
Outstanding Teaching Award 2015-2016
Duke Computer Science 531, Introduction to Algorithms
Outstanding Teaching Award 2014-2015
Duke Computer Science 230, Discrete Mathematics for Computer Science