Visualizing Student Time Spent Coding vs. Debugging

4:25 PM on August 9, 2022 | computer science programming

How do students spend their time during an assignment?

Time-on-task or time spent metrics give a pretty good estimate of how much time students are spending on an assignment. However, it is more interesting to see how students spend their time working on an assignment.

To take a step toward integrating Student Process-Focused Insights in our Learning Insights Ecosystem, we have launched Coding vs. Debugging Time as a visualization in our Assignment level Learning Insights.

Classifying Coding and Debugging Time

A simple way to start unpacking how students spend their time is to divide the time spent into time spent coding or writing new code and time spent debugging or addressing error messages.

In the example above, we see that time spent after a run with errors is classified as debugging since it is probable that the student’s next step is to address the presented errors. This means that the rest of the time, or the time spent after an error-free run, is classified as coding.

Note: We only have and use the compile/run events from Custom Buttons. To take advantage of this visualization, add these buttons to let students test their code as often as they want before submitting it.

Visualizing Coding vs. Debugging Time

For any assignment in Codio, instructors can see a bar graph, with each column representing a student. Additionally, each bar consists of two segments. The bottom green segment of a column represents a student’s coding time. The top red segment of a column represents a student’s debugging time.

The columns are sorted in descending order of the total time spent:

The tiny bars at the bottom of the chart give instructors an at-a-glance view of the entire class and their coding-debugging activity, allowing them to scroll through and focus on any particular areas of interest.

Hovering on any of the red or green columns displays the debugging and coding time of the students, respectively.

Interpreting Coding vs. Debugging Time

Coding vs. debugging give instructors a better picture of the student process. Specifically, it allows instructors insight into important questions like:

1. Were students struggling to resolve/debug their code for too long?


.

This example shows the students that took the longest to complete their assignments, with really high debugging time compared to the rest of the cohort. This can be interpreted as a set of students that may have found the assignment more challenging than the rest of their cohort and might have struggled with its difficulty.

2. Did the entire cohort face similar resolving/debugging challenges or is it a small subset of students that need help?

This example shows the students who took the longest time to complete the assignment, with students 4 and 6 spending a relatively higher time debugging than the rest of the cohort. But, again, this can be interpreted as an artifact of a smaller group of students that may need help.

3. Did some students cruise through the assignment and need a challenge?

This example shows students who took less time to complete the assignment and spent the least time debugging.

Diving Deeper into a Student’s Process

We believe that student process-based metrics and tools will help instructors identify students who may need help and enable them to understand students’ thought processes while they code.

With Coding vs. Debugging time, coupled with our Code Playback tool that takes snapshots of students’ code creation from beginning to end, we are paving the way for instructors to get a deeper insight into how their students work.

Mohit Chandarana

Mohit is a Data Science and AI specialist at Codio. From generating insightful learning analytics for CS Educators to prototyping novel product features and algorithms, he believes in bridging the gap between cutting-edge academic research and its application in the industry.