Classes

NOTE: As a small liberal arts college, Ursinus generally caps classes at 25 students.

Spring 2023

I am on pre-tenure sabbatical leave from teaching this spring, and I am mostly focused on research. But I will be presenting this assignment from CS 174 at SIGCSE 2024 this spring.

Fall 2023

Spring 2023

Fall 2022

Spring 2022

Fall 2021

Spring 2021

Fall 2020

Spring 2020

Fall 2019


Spring 2016

CS/Math 290: Digital 3D Geometry

As part of the Bass Instructor of Record Fellowship, I designed a new undergraduate course at Duke University cross-listed between computer science and math. The course was a ground up approach to 3D geometry with a statistics and signal processing focus. Assignments were in Javascript/WebGL and Python/Numpy, including sound modeling in virtual acoustic environments, rotation modeling with Euler angles and quaternions, 3D shape statistics ("Shape Google"), 3D shape alignment, and spectral mesh processing.

Click here to see the midterm exam I designed. Below are some highlights from the course syllabus





Guest Lectures / Labs on Topological Data Analysis

As a member of the Harer group both as a Ph.D. student and a postdoc, I have developed a lot of teaching materials on toplogical data analysis (TDA), including tons of demos and code, which I have used at numerous workshops and guest lectures. Below are a few highlights:
  1. TDA Labs from The Ground Up

    This is a work in progress, which I have used at multiple workshops, including Mathematical Methods for High Dimensional Data Analysis (Summer 2016, Technical University Munich), Summer@ICERM 2017 (Brown University), and Topological Data Analysis And Persistent Homology (Summer 2018, Levico Terme, Italy)

  2. ripser.py

    I worked with Nathaniel Saul to create a Python interface to the fast ripser library for persistent homology. As part of this, I created some pedagogical notebooks to show some lesser known features, including sparse filtrations and arbitrary field coefficients.

  3. Math 412 Guest Lecture on 0D persistent homology 9/6/2018
ripser.py on synthetic shapes
Sliding window of periodic videos
Lower Star Filtrations for Nonrigid 3D Shapes
Image Patches on the projective plane using Projective Coordinates
Lower star filtrations on an image to identify plant cell locations


IID Data Expeditions Labs, Fall 2014

I designed two different labs using music to get undergraduates interested in signal processing. One was a more traditional lab on pitch extraction in a digital signal processing course (ECE 381), and the other one was using novel topological techniques from my research to analyze the "shape" of the music. Click on the links below to view the assignments.