I teach:

  • CIS 675/477: Algorithms (graduate and undergraduate). We cover topics like greedy algorithms, dynamic programming, graph algorithms, and complexity analysis (including amortized analysis). My goal is to help students see the beauty of algorithms!
  • CIS 400/600: Ethics of Machine Learning. This is a discussion-based topics course for both graduate and undergraduate students. Topics include fairness in algorithms used for criminal sentencing, predictive policing, credit scoring, content recommendation, and other areas. We also cover echo chambers, self-driving vehicles, military robots, and many other topics!
  • CIS 700: Structure of Complex Networks. We cover important aspects of network structure, including graph statistics and characteristics, generative models, centrality and finding influential nodes, influence and propagation, network sampling, community detection, spectral analysis, link prediction, and cores.