Information about my Bucknell courses is primarily through Moodle.  If you’d like more details or a syllabus, just ask!

  • In the 2022-23 academic year, I will be on my Untenured Faculty Leave.  I will be running independent studies on CSCI 378: Research in Theoretical CS and CSCI 378: Data Science Development.
  • In the 2021-22 academic year, I taught CSCI 204: Data Structures and Algorithms, a foundation seminar entitled Winning with Math, and MATH 216: Statistics I.  I ran independent studies on CSCI 278: 3D Printing and Design: Instantiating Data Structures, CSCI 378: Research in Theoretical CS, and CSCI 378: Data Science & Decision Making.
  • In the 2020-21 academic year, I taught CSCI 204: Data Structures and Algorithms and Math 241: Discrete Structures (introducing proofs, combinatorics, and graph theory for an audience primarily of CS majors).


  • Instructor, Engineering Applications of Operations Research (ENGRI 1101, Fall 2018-9): The ORIE department’s ~100-student introductory course for first-year engineers, surveying broad ideas in Operations Research.  I added content on social networks, social choice, racial gerrymandering, statistics (linear regression and ecological inference), and clustering.  Here is the syllabus for more information.
  • Instructor, ORIE Project (ORIE 4999, Spring 2019): Over the semester, a team of students wrote a mini-textbook on the decision sciences for ~600 people.  This project-based course meets the technical communication requirement  through Writing Intensive Opportunity: Practicum in Technical Writing (ENGRC 3023).
  • Co-organizer and Moderator, Mathematical Techniques for Optimization Reading Course (ORIE 7390, Fall 2017): With Madeleine UdellDavid Shmoys, and Sid Banerjee, I organized and moderated a reading class on mathematical techniques for optimization; see the syllabus.

Canada/USA Mathcamp

During the summers of 2015-2017, I taught several week-long courses at the Canada/USA Mathcamp.  Some of my favorite courses include:

  • Statistical Modeling: an intensive course illustrating the statistical modelling process through the general linear model.  Students got a taste of statistical theory during lectures and learned R to analyze data during labs.
  • Not Your Grandparents’ Algorithms Class: an algorithms class for pure mathematicians.  This course motivated and discussed theory pertinent to mathematically beautiful algorithms, including the ellipsoid algorithm, branch and bound, and multiplicative weights.
  • The Traveling Salesman Problem: Recent Breakthroughs: In five days, we built up the optimization background to motivate and work through the technical details from this recent paper.
  • Turing and His Work: a seminar where we “got to know” Alan Turing by reading his work, including his work on the Turing test, chess, and Turing machines.