Assistant Professor of Computer Science at Lawrence University. See About for more.
I regularly teach CMSC 140: Intro to Programming with Python, CMSC 150: Intro to Computer Science, and CMSC 510: Algorithms, along with upper-level courses in ethics and theory. See Classes for all classes.
My research is in the capacity of artificial systems to cultivate understanding and to enact harm, often through the same vectors. I am also interested in developing new methods of data interaction (a broader term for data visualization that takes into account non-visual forms of qualitative sense-making). I love collaborating with faculty and students across departments and disciplines; please feel free to contact me with your off-the-wall ideas! See Research for current projects
For current Lawrence undergraduates interested in an independent study, directed study, or undergraduate research, see Study.
Office Hours Fall 2026: TBD