This article reviews literature on worked examples in the context of programming activities. We focus on two types of examples, namely code-tracing and code-generation examples, because there is sufficient research on these to warrant a review. We synthesize key results according to themes that emerged from the review. This synthesis aims to provide practical guidance for educators and shed light on future research opportunities. While there is established work in some areas (e.g., dynamic code-tracing examples in the form of program visualization tools, utility of subgoals in code-generation examples, incomplete examples in the form of Parsons puzzles), there are also gaps. Thus, the article concludes with directions for future work on examples in computer science education.
Learning to program involves understanding how the computer executes programs.Code tracing is a simulation of the steps the computer takes to execute a program.The notional machine is an abstract representation of this process. Students form mental models of the notional machine when learning to code trace, but these mental models can be inaccurate or contain misconceptions. We experimentally investigated the effect on learning of using an explicit notional machine or not in a code-tracing lesson for novice programmers (N = 48). We created two versions of a tutoring system, one with a notional machine and one without, using the Cognitive Tutor Authoring Tools framework. The tutors included video lessons and self-explanation prompts to encourage participant engagement. We measured learning as the difference in scores from pretest to posttest, adjusted by prior knowledge. Learning increased overall, but there was no significant difference in learning between groups. i I would like to dedicate this thesis to my grandfather Frantisek (Frank) Fiala who was a founding faculty member of Carleton University's School of Computer Science. He has inspired my love for learning through his example and gentle encouragement, and I am so grateful for that.I would also like to thank my friends and family for constantly cheering me on, especially my mother for her enthusiasm and willingness to hear me talk for hours about the details of my research.Thank you to my committee for your time, input and ideas.Finally, thank you to Dr. Kasia Muldner for making this possible. I greatly appreciate all of the time on discussions and feedback that went into this work. Thank you for being such a kind and helpful supervisor.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.