skip to main content
10.1145/3279720.3279725acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
research-article

Role of Live-coding in Learning Introductory Programming

Published: 22 November 2018 Publication History

Abstract

Live-coding is an approach to teaching programming by writing actual code during class as part of the lectures. In a live-coding session, the instructor thinks aloud while writing code and the students are able to understand the process of programming by observing the thought processes of the instructor. In our study, we conducted a live-coding session to two groups of students as a part of a teaching intervention that was originally designed for studying the effects of using the native language for learning programming. We analyzed the student feedback data that was collected and found that many students have mentioned about the usefulness of live-coding for learning programming. We conducted a grounded theory analysis of the student feedback data to understand the value of live-coding for learning introductory programming. We found that live-coding (1) makes the process of programming easy to understand for novice programmers, (2) helps students learn the process of debugging, and (3) exposes students to good programming practices. We also found that students prefer to code along with the instructor during a live-coding session rather than being mere observers.

References

[1]
Jens Bennedsen and Michael E Caspersen. 2005. Revealing the programming process. In ACM SIGCSE Bulletin, Vol. 37. ACM, 186--190.
[2]
Toni R Black. 2006. Helping novice programming students succeed. Journal of Computing Sciences in Colleges 22, 2 (2006), 109--114.
[3]
Russel E Bruhn and Philip J Burton. 2003. An approach to teaching Java using computers. ACM SIGCSE Bulletin 35, 4 (2003), 94--99.
[4]
Michael E Caspersen and Jens Bennedsen. 2007. Instructional design of a programming course: a learning theoretic approach. In Proceedings of the third international workshop on Computing education research. ACM, 111--122.
[5]
Allan Collins, John Seely Brown, and Ann Holum. 1991. Cognitive apprenticeship: Making thinking visible. American educator 15, 3 (1991), 6--11.
[6]
Allan Collins, John Seely Brown, and Susan E Newman. 1989. Cognitive apprenticeship: Teaching the crafts of reading, writing, and mathematics. Knowing, learning, and instruction: Essays in honor of Robert Glaser 18 (1989), 32--42.
[7]
Rex E Gantenbein. 1989. Programming as process: a "novel" approach to teaching programming. In ACM SIGCSE Bulletin, Vol. 21. ACM, 22--26.
[8]
Alessio Gaspar and Sarah Langevin. 2007. Restoring coding with intention in introductory programming courses. In Proceedings of the 8th ACM SIGITE conference on Information technology education. ACM, 91--98.
[9]
Nasser Giacaman. 2012. Teaching by example: using analogies and live coding demonstrations to teach parallel computing concepts to undergraduate students. In Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW), 2012 IEEE 26th International. IEEE, 1295--1298.
[10]
Brian W Kernighan and Dennis M Ritchie. 2006. The C Programming Language. (2006).
[11]
Michael Kölling and David J Barnes. 2004. Enhancing apprentice-based learning of Java. In ACM SIGCSE Bulletin, Vol. 36. ACM, 286--290.
[12]
John Paxton. 2002. Live programming as a lecture technique. Journal of Computing Sciences in Colleges 18, 2 (2002), 51--56.
[13]
Adalbert Gerald Soosai Raj, Kasama Ketsuriyonk, Jignesh M Patel, and Richard Halverson. 2017. What Do Students Feel about Learning Programming Using Both English and Their Native Language?. In Learning and Teaching in Computing and Engineering (LaTICE), 2017. IEEE, 1--8.
[14]
Marc J Rubin. 2013. The effectiveness of live-coding to teach introductory programming. In Proceeding of the 44th ACM technical symposium on Computer science education. ACM, 651--656.
[15]
Amy Shannon and Valerie Summet. 2015. Live coding in introductory computer science courses. Journal of Computing Sciences in Colleges 31, 2 (2015), 158--164.
[16]
Adalbert Gerald Soosai Raj, Kasama Ketsuriyonk, Jignesh M Patel, and Richard Halverson. 2018. Does Native Language Play a Role in Learning a Programming Language?. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education. ACM, 417--422.
[17]
Adalbert Gerald Soosai Raj, Jignesh M Patel, and Richard Halverson. 2018. Is More Active Always Better for Teaching Introductory Programming?. In Learning and Teaching in Computing and Engineering (LaTICE), 2018. IEEE.
[18]
Arto Vihavainen, Matti Paksula, and Matti Luukkainen. 2011. Extreme apprenticeship method in teaching programming for beginners. In Proceedings of the 42nd ACM technical symposium on Computer science education. ACM, 93--98.

Cited By

View all
  • (2024)Learning Styles Impact Students’ Perceptions on Active Learning Methodologies: A Case Study on the Use of Live Coding and Short Programming ExercisesEducation Sciences10.3390/educsci1403025014:3(250)Online publication date: 28-Feb-2024
  • (2024)Ten simple rules for teaching an introduction to RPLOS Computational Biology10.1371/journal.pcbi.101201820:5(e1012018)Online publication date: 16-May-2024
  • (2024)Decoding Debugging Instruction: A Systematic Literature Review of Debugging InterventionsACM Transactions on Computing Education10.1145/369065224:4(1-44)Online publication date: 15-Nov-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
Koli Calling '18: Proceedings of the 18th Koli Calling International Conference on Computing Education Research
November 2018
207 pages
ISBN:9781450365352
DOI:10.1145/3279720
  • Conference Chairs:
  • Mike Joy,
  • Petri Ihantola
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 November 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Computer Science Education
  2. Live-coding
  3. Students' perceptions

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

Koli Calling '18

Acceptance Rates

Overall Acceptance Rate 80 of 182 submissions, 44%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)124
  • Downloads (Last 6 weeks)19
Reflects downloads up to 01 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Learning Styles Impact Students’ Perceptions on Active Learning Methodologies: A Case Study on the Use of Live Coding and Short Programming ExercisesEducation Sciences10.3390/educsci1403025014:3(250)Online publication date: 28-Feb-2024
  • (2024)Ten simple rules for teaching an introduction to RPLOS Computational Biology10.1371/journal.pcbi.101201820:5(e1012018)Online publication date: 16-May-2024
  • (2024)Decoding Debugging Instruction: A Systematic Literature Review of Debugging InterventionsACM Transactions on Computing Education10.1145/369065224:4(1-44)Online publication date: 15-Nov-2024
  • (2024)Comparing the Experiences of Live Coding versus Static Code Examples for Students and InstructorsProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653562(506-512)Online publication date: 3-Jul-2024
  • (2024)A Comparison of Student Behavioral Engagement in Traditional Live Coding and Active Live Coding LecturesProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653537(513-519)Online publication date: 3-Jul-2024
  • (2024)Auglets: Intelligent Tutors for Learning Good Coding Practices by Solving Refactoring ProblemsProceedings of the 2024 on ACM Virtual Global Computing Education Conference V. 110.1145/3649165.3690119(95-101)Online publication date: 5-Dec-2024
  • (2024)Understanding and Supporting Code PerformancesProceedings of the 16th Conference on Creativity & Cognition10.1145/3635636.3664623(21-24)Online publication date: 23-Jun-2024
  • (2024)SHARP: Exploring Version Control Systems in Live Coding MusicProceedings of the 16th Conference on Creativity & Cognition10.1145/3635636.3656195(426-437)Online publication date: 23-Jun-2024
  • (2024)Daniel Manesh: Supporting Code Performances2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00060(389-391)Online publication date: 2-Sep-2024
  • (2024)Analyzing Pedagogic Practice and Assessments in a Cross-Campus Programming CourseIEEE Transactions on Education10.1109/TE.2024.346587067:6(964-973)Online publication date: Dec-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media