Brandon Fain


Interests

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.

Classes

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.

Experience

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

Awards

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