Visualizing Coding Progress: Spotting Misunderstandings

Updated on Jan 02,2024

Visualizing Coding Progress: Spotting Misunderstandings

Table of Contents

  1. Introduction
  2. Challenges in Monitoring Students' Progress
  3. Existing Systems for Monitoring Students' Progress
  4. Introduction to Visprog
  5. Features of Visprog
  6. How Visprog Works
  7. Evaluating Visprog
  8. Comparison with Overcode
  9. Takeaways from the Studies
  10. Conclusion

Introduction

In introductory programming courses, instructors often use in-class programming exercises to help students practice their coding skills and reinforce the concepts taught in class. However, monitoring students' progress in these exercises can be challenging, especially in large classes. Students may have different levels of understanding and may approach problem-solving in different ways. Instructors need to identify students' misunderstandings and provide feedback to guide their learning. This article introduces a system called Visprog, which aims to facilitate real-time monitoring of students' progress in coding exercises.

Challenges in Monitoring Students' Progress

Monitoring students' progress in programming exercises can be challenging for instructors due to various reasons. First, students may face difficulties in passing unit tests, and their misunderstandings may be implicit and abstract. Second, students may use different approaches to solve a problem, and their progress may vary. Some students may be close to finding a solution, while others may have no clue how to begin. In addition, instructors in large classes have to deal with repetitive questions and lack task support for students. Thus, effective strategies are needed to surface students' struggles and provide necessary support.

Existing Systems for Monitoring Students' Progress

To address the challenges faced by instructors, researchers have developed systems for viewing students' code and monitoring their progress in programming exercises. One such system is Overcode, which clusters correct code submissions that perform the same computation. It provides a visualization of these clusters, grouping submissions into bins. However, Overcode only announces the final submissions and does not summarize the history versions or how students arrived at the solution. Another system called Code Opticon provides real-time summaries of each learner's progress in a dashboard. Instructors can watch students editing and debugging and communicate with them. However, Code Opticon is limited to small-Scale Sessions, and monitoring the history versions of the whole classroom can be challenging.

Introduction to Visprog

Visprog is a new system designed to map students' progress onto a 2D map in real-time. The system aims to facilitate monitoring and understanding of students' progress in inclusive programming exercises. In the 2D map, students' status is represented as positions, and different colors indicate whether they have solved the problem successfully or not. The horizontal position represents how close students are to a correct solution, and the vertical position encodes their approach to the exercise. Trajectories on the map Show how students' data changes over time.

Features of Visprog

Visprog offers several features to help instructors monitor and understand students' progress. The main interface consists of three panels: the overall class progress 2D Map View, the Solution Centers View, and the Progress Detailed View. The 2D Map View provides an overview of students' positions and their progress. The Solution Centers View allows instructors to inspect submissions of students who arrived at the same solution. The Progress Detailed View displays all the submissions made by the students throughout the exercise, providing a detailed history of their progress.

How Visprog Works

Visprog works in real-time and provides insights into students' progress at a keystroke level. Instructors can see students' positions on the 2D map changing as they Type. They can observe how students approach the exercise and how their dots move from left to right as they work toward a final solution. By clicking on a solution, instructors can access statistics related to the solution, a list of students who are close to the solution, and their submissions. They can also view the trajectory and code history of specific students by clicking on their IDs.

Evaluating Visprog

To evaluate the effectiveness of Visprog, a comparison study was conducted with the baseline system Overcode. Participants were shown a replay of students solving a programming exercise using both systems and were asked quiz questions to assess their understanding of students' progress and approaches. The results showed that participants understood students' problems more accurately when using Visprog. They were able to provide more specific feedback and had a faster understanding of students' issues compared to the baseline system. Participants also found it easier to validate students' progress using Visprog and were able to form strategies for feedback more efficiently.

Comparison with Overcode

The study showed that Visprog outperformed Overcode in terms of understanding students' progress and providing more specific feedback. Overcode only provided information on the final submissions of students, while Visprog offered real-time insights into students' progress and approaches. The trajectories in Visprog eased the reasoning process and provided visual guides for understanding students' normal and abnormal behavior. Participants found it easier to navigate and explore students' progress using Visprog.

Takeaways from the Studies

Two main takeaways were identified from the studies conducted with Visprog. Firstly, Visprog proved to be intuitive to use, as the movement of students' positions from left to right indicated progress. Examining progress at different levels on the map was straightforward. Secondly, the trajectories on the map facilitated the reasoning process, as they provided visual guides for understanding students' behavior. The dynamics and paths in Visprog helped participants identify misunderstandings and important behaviors in coding exercises.

Conclusion

In conclusion, Visprog provides a solution to the needs and challenges faced by instructors when monitoring students' progress in coding exercises. By mapping students' progress onto a 2D map, Visprog offers real-time insights and facilitates the identification of misunderstandings and providing tailored feedback. The system has shown to be effective in improving instructors' understanding of students' progress, reducing Context switching, and validating students' progress at scale. Future research can further explore and enhance the capabilities of Visprog to support instructors in conducting in-class programming exercises.

Highlights

  1. Visprog is a system designed for monitoring students' progress in programming exercises in real-time.
  2. It provides a 2D map view that visually represents students' positions and progress.
  3. Visprog offers features such as trajectory analysis, code history tracking, and solution-centered views.
  4. The system improves instructors' understanding of students' progress and facilitates tailored feedback.
  5. Visprog outperforms existing systems in terms of accuracy, efficiency, and usability.

FAQ

Q: How does Visprog help instructors monitor students' progress? A: Visprog provides a visual representation of students' positions and progress on a 2D map, allowing instructors to easily monitor their development in real-time.

Q: Can instructors track the code history of students using Visprog? A: Yes, Visprog allows instructors to view the code history of specific students, providing insights into their problem-solving process.

Q: How does Visprog compare to existing systems like Overcode? A: Visprog outperforms systems like Overcode by offering real-time insights, trajectory analysis, and detailed progress tracking.

Q: Does Visprog support large-scale classes? A: Yes, Visprog is designed to support large classes by providing an intuitive interface for instructors to monitor and understand students' progress.

Q: Can Visprog help instructors provide tailored feedback to students? A: Yes, Visprog allows instructors to identify common misconceptions and provide targeted feedback based on students' progress.

Q: Is Visprog easy to use for instructors? A: Yes, Visprog is designed to be intuitive and user-friendly, making it easy for instructors to navigate and explore students' progress.

Q: How does Visprog contribute to improving students' learning outcomes? A: By providing real-time monitoring and tailored feedback, Visprog helps instructors address students' misunderstandings and guide them towards better learning outcomes.

Most people like