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 am co-director of the Online Masters of Computer & Information Technology program.
My current interests include online education, student contributions to open source software projects, and how these affect diversity and inclusion within CS.
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:
I will be co-organizing a Birds of a Feather session entitled "Learn About Open Source Software" at the 2018 ACM Richard Tapia Celebration of Diversity in Computing in Orlando on September 21.
My student Judy Weng and I presented a paper on open source software, diversity, and inclusion at the RESPECT conference in Baltimore in February 2018; Judy wrote a post in the Penn Engineering blog about this work following our participation in the ACM Richard Tapia Celebration of Diversity in Computing in 2017.
Dr. Jennifer Akullian of the Growth Coaching Institute and I led a successful Birds of a Feather on mental health issues in the field of computing at the SIGCSE conference in Baltimore in February 2018.
My current research is focused on computer science education, particulary in how to create "real-world" experiences for software engineering students, including having students contribute to open source software projects. I am also interested in the effect this has on diversity & inclusion, as well as student mental health. Here are some recent publications and presentations in those areas:
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 what the correct output should be. Here are relevant publications:
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.
Here are the websites of recent course offerings:
I also currently have two online courses running on edX:
A full list of the courses I've taught is available in my CV.
My office is Levine 162 and my email address is firstname.lastname@example.org