Computer programming is a difficult subject to master. Introductory programming courses often have low retention and high failure rates. Part of the problem is identifying if students understand the lecture material. In a traditional classroom, a professor can gauge a class's understanding on questions asked during lecture. However, many struggling students are unlikely to speak up in class. To address this problem, recent research has focused on gathering compiler data from programming exercises to identify at-risk students in these courses. These data allow professors to intervene with individual students who are at risk and, after analyzing the data for a given time period, a professor can also re-evaluate how certain topics are taught to improve understanding. However, current implementations do not provide information in real time. They may improve a professor's teaching long term, but they do not provide insight into how an individual student is understanding a specific topic during the lecture in time for the professor to make adjustments.This research explores a system that combines compiler data analytics with in-class exercises. The system incorporates the in-class exercise into a web-based text editor with data analytics. While the students are programming in their own browsers, the website analyzes their compiler errors and console output to determine where the students are struggling. A real-time summary is presented to the professor during the lecture. This system allows a professor to receive immediate feedback on student understanding, which enables him/her to clarify areas of confusion immediately. As a result, this dynamic learning environment allows course material to better evolve to meet the needs of the students.Results show that students in a simulated programming course performed slightly better on quizzes when the instructor had access to real-time feedback during a programming exercise. Instructors were able to determine what students were struggling with from the real-time feedback. Overall, both the student and instructor test subjects found the experimental website useful.Case studies performed in an actual programming lecture allowed the professor to address errors that are not considered in the curriculum of the course. Many students appreciated the fact that the professor was able to immediately answer questions based on the feedback. Students primarily had issues with the bugs present in the alpha version of the software.
College and Department
Ira A. Fulton College of Engineering and Technology; Mechanical Engineering
BYU ScholarsArchive Citation
Sellers, Ariana Dawn, "Real-Time Feedback for In-Class Introductory Computer Programming Exercises" (2018). Theses and Dissertations. 7434.
engineering education, programming education, learning analytics, data visualization