Current and past research projects. Relevant publications are shown for each project. See a complete list on my publications page.

Early-stage active projects

Software testing (active)

Software testing is an important self-regulatory skill in software development. I’m interested in research regarding the teaching and learning of software testing. My work has focused on students’ testing process and test quality.

Academic help-seeking (active)

Knowing when and how to seek academic help is an important aspect in self-regulated learning. Seeking help too soon or too often can degrade learning outcomes, but avoiding seeking help can also be detrimental. Students are often left to discover a balance between these extremes for themselves.

Undergraduate students’ software debugging habits

In exploring students’ debugging practices, we found that:

Assessing and improving time management in software development

Time management is generally challenging for learners, particularly those who are working on large and complex programming projects for the first time. A large part of my PhD work was focused on assessing and improving students’ time management on programming projects.


CodeWorkout is an online drill-and-practice system for people learning a programming language for the first time. It is free, open-source, and currently serves thousands of users at Virginia Tech and other universities.

See the project on GitHub.


I have collaborated on other projects.