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

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.

Broadening participation in computing (active)

In an NSF-funded alliance of 6 CSU campuses — Cal Poly SLO, Cal Poly Pomona, CSU LA, SFSU, CSU Dominguez Hills, and CSU Fullerton — we are working to improve student recruitment and retention in computing, by making curricular enhancements to early CS courses. Specifically, our alliance is focused on incorporating socially responsible computing assignments into CS coursework.

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.

Other early-stage active projects

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.