Assistant Professor
Software Engineering

I am an Assistant Professor of Computer Science and Software Engineering at the University of Wisconsin – Platteville. I have worked in the areas of Computer Science and Learning Science with Neil Heffernan and the ASSISTments online learning platform, building systems to help improve student learning and analyze experiments more effectively. I have created a system called PeerASSIST, which crowdsources and redistributes student work in a controlled and optimal manner to peers in need of assistance. This system has been used by 60 teachers and 600 students who have generated over 300,000 instances of which over 2,000 have been redistributed to peers in need of assistance. I have also contributed to the Assessment of Learning Infrastructure (ALI) project, which provides a platform to automatically perform statistical analysis and report on experiment results to researchers. The system has been used to automatically analyze over 100 randomized controlled experiments.

Currently I am working with students and faculty to develop high-quality test suites to automatically grade and provide immediate and informative feedback for programming assignments. In the summer of 2021, a team of three students, under the guidance of myself and another instructor, created test suites for all of the programming assignments in our Introduction to Computer Programming course. In the fall of 2021, over 18,000 student submissions were automatically graded.

In my free time, I have programmed over 750K lines of code and created several applications. I focus on producing high quality, understandable, maintainable, extendable, easy-to-use code. I like to teach and have taught several graduate and undergraduate Computer Science courses at River University and Worcester Polytechnic Institute. I currently teach at the University of Wisconsin – Platteville. I teach Computer Science and Software Engineering courses as well as teamwork and persistence.

Teaching and Learning Philosophy

One thing I excel at is creating creative games and activities to teach concepts in various courses. This is something that both myself and my students enjoy. My games are always designed with an element of chance such that less-skilled players still have a chance to win, but skilled players are still rewarded with a higher chance to win. There are numerous benefits of teaching content with well-designed games and activities such as providing an equal opportunity for all students to engage in the activity, increased self-efficacy, increased engagement, and easily monitorable progress.