Associate Professor of Practice
Dept. of Computer & Information Science
University of Pennsylvania
I have been a teaching-track faculty member at the University of Pennsylvania since 2010 and primarily teach courses in software engineering and computer systems programming.
My current academic interests include diversity, inclusion, and mental health in Computer Science; student contributions to open source software projects; and online learning.
Prior to joining Penn, I completed a PhD in Computer Science at Columbia University, where my research focused on software testing. Before that, I worked as a professional software developer in Boston, San Francisco, and London after earning a BS in Computer Engineering from Boston University.
Somewhere along the way, I also spent two years teaching English in Seoul, but that's not really part of the narrative hahaha...
Some recent highlights:
12/3/19: I'm very excited to have had four submissions accepted to next year's SIGCSE symposium on Computer Science Education: a paper, panel, and Birds of a Feather on student mental health, and a special session on diversity, inclusion, and allyship. I'm very lucky to have great collaborators on all of these. See you in Portland!
9/19/19: It was such a thrill to present on incorporating diversity-related topics into a traditional CS course at the Tapia Celebration of Diversity in Computing alongside my TA for Diversity & Inclusion Anya Mushakevich and my former student Carly Ryan.
4/15/19: The Daily Pennsylvanian ran an article on how my TAs and I are incorporating diversity and mental health into the CIS 350 Software Design & Engineering course. Thank you to the students and TAs who provided quotes and supported these efforts this semester!
3/20/19: I was humbled and honored to be named one of the recipients of this year's Provost's Awards for Teaching Excellence. I've certainly been fortunate to work with great students, colleagues, and especially TAs over the years!
10/15/18: My latest online course, "Computational Thinking for Problem Solving," launched on Coursera in October 2018. Such a huge privilege to create this course alongside the amazing Susan Davidson.
Although I spend most of my time teaching and advising students, I also contribute to the field of computer science education through publications and participating in panels and other events at conferences. Here are some recent publications and other activities in those areas:
Computer Science Student Mental Health
Diversity & Inclusion in Computer Science
Student Contributions to Open Source Software
Software Engineering Education
As a graduate student at Columbia University, I investigated software testing techniques for programs that do not have a "test oracle," i.e. for which it is difficult to know in advance what the correct output should be. I am no longer actively conducting research in this area, but a full list of publications is available in my CV.
I primarily teach courses related to software development and systems programming, at both the undergraduate and graduate level.
In Spring 2020, I am teaching the following courses:
In recent years, I have also been involved in these courses:
I also have created three online courses that are publicly available:
A full list of the courses I've taught is available in my CV.
Levine 162 (3330 Walnut St)