Evidence Hub

Live-coding vs Static Code Examples: Which is better with respect to Student Learning and Cognitive Load?

Adalbert Gerald Soosai Raj, Pan Gu, Eda Zhang, Arokia Xavier Annie R, Jim Williams, Richard Halverson, Jignesh M. Patel

IFAC Symposium on Advances in Control Education, 2020

36 citations

Abstract

Teaching programming using static code examples is the process of displaying pre-written code examples and explaining the purpose of the code. Live-coding is the process of writing code in-class in front of the students and thinking aloud while doing so. Static coding has more structure (similar to PowerPoint presentations) but lacks the authenticity and dynamic nature of writing code lively in front of an audience since the focus is more on the end product (i.e., program) rather than the process in which the program came to life. On the other hand, live-coding engages the students as the process is dynamic and makes the instructor's thought processes explicit to the students, but it lacks the structure and predictability of static code examples. We conducted an experiment in which we taught programming and data structures in C++ to two groups of undergraduate students. We used live-coding to teach one group (experimental) and static code examples to teach the other group (control). We conducted a pre-test and a post-test to measure students' understanding of programming before and after our intervention respectively. We collected a validated survey to measure the cognitive load experienced by the students in both the groups. Our experiments failed to show a difference between live-coding and static code examples with respect to student learning, but we found that live-coding reduced the extraneous cognitive load on students when compared to static code examples.

Read the paper

Related studies

Go deeper in Evidence Hub

Evidence Hub adds a study data sheet (design, sample size, evidence level, key numbers), an AI summary and a chat grounded in the paper's text.

Open this study Sign up free