Objectives The traditional, instructor-led form of live coding has been extensively studied, with findings showing that this form of live coding imparts similar learning to static-code examples. However, a concern with Traditional Live Coding is that it can turn into a passive learning activity for students as they simply observe the instructor program. Therefore, this study compares Active Live Coding—a form of live coding that leverages in-class coding activities and peer discussion—to Traditional Live Coding on three outcomes: 1) students’ adherence to effective programming processes, 2) students’ performance on exams and in-lecture questions, and 3) students’ lecture experience. Participants Roughly 530 students were enrolled in an advanced, CS1 course taught in Java at a large, public university in North America. The students were primarily first- and second-year undergraduate students with some prior programming experience. The student population was spread across two lecture sections—348 students in the Active Live Coding (ALC) lecture and 185 students in the Traditional Live Coding (TLC) lecture. Study Methods We used a mixed-methods approach to answer our‘ research questions. To compare students’ programming processes, we applied process-oriented metrics related to incremental development and error frequencies. To measure students’ learning outcomes, we compared students’ performance on major course components and used pre- and post-lecture questionnaires to compare students’ learning gain during lectures. Finally, to understand students’ lecture experience, we used a classroom observation protocol to measure and compare students’ behavioral engagement during the two lectures. We also inductively coded open-ended survey questions to understand students’ perceptions of live coding. Findings We did not find a statistically significant effect of ALC on students’ programming processes or learning outcomes. It seems that both ALC and TLC impart similar programming processes and result in similar student learning. However, our findings related to students’ lecture experience shows a persistent engagement effect of ALC, where students’ behavioral engagement peaks andremains elevatedafter the in-class coding activity and peer discussion. Finally, we discuss the unique affordances and drawbacks of the lecture technique as well as students’ perceptions of ALC. Conclusions Despite being motivated by well-established learning theories, Active Live Coding did not result in improved student learning or programming processes. This study is preceded by several prior works that showed that Traditional Live Coding imparts similar student learning and programming skills as static-code examples. Though potential reasons for the lack of observed learning benefits are discussed in this work, multiple future analyses to further investigate Active Live Coding may help the community understand the impacts (or lack thereof) of the instructional technique.
more »
« less
This content will become publicly available on June 1, 2026
From Typing to Insights: An Interactive Code Visualization and Error Detection for Enhanced Student Support Using Keystroke Data
The continuous rising of digital learning platforms have unarguably brought about a surge in the amount of data obtained from different learning environments, which presents a great opportunity for computer science teachers to gain an understanding of students’ coding processes. This is vital for enhancing student support as teachers can gain insights into students’ thought process, strategies and identify areas where students might be struggling while tacking programming tasks. Traditional assessment methods such as feedback after homework submissions or completed lab assignments often results in late and untimely intervention that would prevent early dropouts and massive failures as the students’ learning journey is neglected in the process. We leverage students’ keystroke data obtained from Python and Java-based introductory programming courses delivered through CODIO learning platform, to design an interactive code visualization and error detection platform using Streamlit. The application features an interface that reproduces students’ code snippets with JavaScript enabled syntax highlighting. It includes a combination of dropdown menu and an adjustable slider which enables an instructor to navigate through the timestamps and have a detailed view of students’ coding processes. The application also includes a navigation to an environment that enables instructors to run the generated code snippets for error detection, giving the instructors clear idea of the difficult part(s) of the course for intervention purposes. The intervention ultimately fosters a more supportive learning environment and helps boost students’ confidence.
more »
« less
- Award ID(s):
- 2216625
- PAR ID:
- 10652162
- Publisher / Repository:
- ASEE Conferences
- Date Published:
- Subject(s) / Keyword(s):
- keystroke analysis programming instruction computer science education
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
null (Ed.)This hands-on online workshop will introduce high school and college instructors to CSAwesome, a free Java curriculum and ebook at course.csawesome.org for the Advanced Placement (AP) Computer Science (CS) A course. This course is equivalent to a college-level CS1 course in Java. CSAwesome is an official College Board approved curriculum and professional development provider and has been widely adopted by AP high school teachers. The free ebook on the Runestone platform includes executable Java code examples and a variety of practice problems with immediate feedback: multiple-choice, fill-in-the-blank, write-code, mixed-up code (Parsons), and clickable code. It also includes coding challenges and support for pair programming. The curriculum is designed to help transition students from AP Computer Science Principles, which is equivalent to a CS0 course. Teacher lesson plans and resources are freely available. During this workshop, participants will register for the free ebook and work through example activities using object-oriented programming. If possible, participants will be divided into breakout groups according to their Java expertise. Participants will also learn how to create a custom course on the Runestone platform, create and grade assignments, use the instructor's dashboard to view student progress, contribute to the question bank, and use an interleaved spaced practice tool. We will also discuss online/hybrid teaching and engagement strategies.more » « less
-
This paper describes the design and development of a web-based Data Science Learning Platform (DSLP) aimed at making hands-on data science learning accessible to non-computing majors with little or no programming background. The platform works as middleware between users such as students or instructors, and data science libraries (in Python or R), creating an accessible lab environment. It allows students to focus on the high-level workflow of processing and analyzing data, offering varying levels of coding support to accommodate diverse programming skills. Additionally, this paper briefly presents some sample hands-on exercises of using the DSLP to analyze data and interpret the analysis results.more » « less
-
This paper describes the design and development of a web-based Data Science Learning Platform (DSLP) aimed at making hands-on data science learning accessible to non computing majors with little or no programming background. The platform works as middleware between users such as students or instructors, and data science libraries (in Python or R), creating an accessible lab environment. It allows students to focus on the high-level workflow of processing and analyzing data, offering varying levels of coding support to accommodate diverse programming skills. Additionally, this paper briefly presents some sample hands-on exercises of using the DSLP to analyze data and interpret the analysis results.more » « less
-
This innovative practice WIP paper describes our ongoing development and deployment of an online robotics education platform that highlighted a gap in providing an interactive, feedback-rich learning environment essential for mastering pro-gramming concepts in robotics, which they were not getting with the traditional code→ simulate→turn-in workflow. Since teaching resources are limited, students would benefit from feedback in real-time to find and fix their mistakes in the programming assignments. To integrate such automated feedback, this paper will focus on creating a system for unit testing while integrating it into the course workflow. We facilitate this real-time feedback by including unit testing in the design of programming assignments so students can understand and fix their errors on their own and without the prior help of instructors/TAs serving as a bottleneck. In line with the framework's personalized student-centered approach, this method makes it easier for students to revise and debug their programming work, encouraging hands-on learning. The updated course workflow, which includes unit tests, will strengthen the learning environment and make it more interactive so that students can learn how to program robots in a self-guided fashion.more » « less
An official website of the United States government
