Abstract
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, 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, and 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.
- [1] . 2009. The effect of visualizing roles of variables on student performance in an introductory programming course. In Proceedings of the 14th Annual ACM SIGCSE Conference on Innovation and Technology in Computer Science Education. ACM, New York, NY, 228–232. Google ScholarDigital Library
- [2] . 1993. Rules of the Mind. Psychology Press. Google ScholarCross Ref
- [3] . 2000. Learning from examples: Instructional principles from the worked examples research. Rev. Edu. Res. 70, 2 (2000), 181–214. Google ScholarCross Ref
- [4] . 2013. Effect of program visualization to teach computer programming in a resource constrained classroom. In Proceedings of the IEEE 5th International Conference on Technology for Education. IEEE, 93–100. Google ScholarDigital Library
- [5] . 2015. Effect of active learning using program visualization in technology-constrained college classrooms. Res. Pract. Technol. Enhanced Learn. 10, 1 (2015), 1–25. Google ScholarCross Ref
- [6] . 1988. Using conceptual models to teach BASIC computer programming. J. Edu. Psychol. 80, 3 (1988), 291. Google ScholarCross Ref
- [7] . 2021. Learning programming from erroneous worked-examples. Which type of error is beneficial for learning? Learn. Instruct. 75 (2021), 101497. Google ScholarCross Ref
- [8] . 2011. A decade of research and development on program animation: The Jeliot experience. J. Visual Lang. Comput. 22, 5 (2011), 375–384. Google ScholarCross Ref
- [9] . 2018. Inducing Self-Explanation: A Meta-Analysis. Edu. Psychol. Rev. 30, 3 (2018), 703–725. Google ScholarCross Ref
- [10] . 1986. Some difficulties of learning to program. J. Edu. Comput. Res. 2, 1 (1986), 57–73. .
arXiv:https://doi.org/10.2190/3LFX-9RRF-67T8-UVK9 Google ScholarCross Ref - [11] . 2018. An integrated practice system for learning programming in Python: Design and evaluation. Res. Pract. Technol. Enhanced Learn. 13, 1 (2018), 1–40. Google ScholarCross Ref
- [12] . 1998. The subgoal learning model: Creating better examples so that students can solve novel problems. J. Exper. Psychol.: Gen. 127, 4 (1998), 355. Google ScholarCross Ref
- [13] . 2020. Teaching loops concept through visualization construction. Inform. Edu. Int. J. 19, 4 (2020), 589–609. Google ScholarCross Ref
- [14] . 2000. A programming learning system for beginners-A completion strategy approach. IEEE Trans. Edu. 43, 2 (2000), 211–220. Google ScholarDigital Library
- [15] . 2016. Do erroneous examples improve learning in addition to problem solving and worked examples? In Proceedings of the Intelligent Tutoring Systems Conference, , , and (Eds.). Springer International Publishing, Cham, 13–22. Google ScholarDigital Library
- [16] . 1989. Self-explanations: How students study and use examples in learning to solve problems. Cogn. Sci. 13, 2 (1989), 145–182. Google ScholarCross Ref
- [17] . 2009. Active-constructive-interactive: A conceptual framework for differentiating learning activities. Top. Cogn. Sci. 1, 1 (2009), 73–105. Google ScholarCross Ref
- [18] . 2000. Toward computer-based support of meta-cognitive skills: A computational framework to coach self-explanation. Int. J. Artific. Intell. Edu. 11 (2000), 398–415.Google Scholar
- [19] . 1987. Effects of schema acquisition and rule automation on mathematical problem-solving transfer. J. Edu. Psychol. 79, 4 (1987), 347.Google ScholarCross Ref
- [20] . 2017. Using tracing and sketching to solve programming problems: Replicating and extending an analysis of what students draw. In Proceedings of the ACM Conference on International Computing Education Research (ICER’17). ACM, New York, NY, 164–172. Google ScholarDigital Library
- [21] . 2019. Novice rationales for sketching and tracing, and how they try to avoid it. In Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’19). ACM, New York, NY, 37–43. Google ScholarDigital Library
- [22] . 2003. Learning benefits of structural example-based adaptive tutoring systems. IEEE Trans. Edu. 46, 2 (2003), 241–251. Google ScholarDigital Library
- [23] . 2020. A review of research on parsons problems. In Proceedings of the 22nd Australasian Computing Education Conference (ACE’20). ACM, New York, NY, 195–202. Google ScholarDigital Library
- [24] . 2012. The effectiveness of using incorrect examples to support learning about decimal magnitude. Learn. Instruct. 22, 3 (2012), 206–214. Google ScholarCross Ref
- [25] . 2006. Affective effects of program visualization. In Proceedings of the 2nd International Workshop on Computing Education Research (ICER’06). ACM, New York, NY, 1–5. Google ScholarDigital Library
- [26] . 2018. Evaluating the efficiency and effectiveness of adaptive parsons problems. In Proceedings of the ACM Conference on International Computing Education Research (ICER’18). ACM, New York, NY, 60–68. Google ScholarDigital Library
- [27] . 2017. Solving parsons problems versus fixing and writing code. In Proceedings of the 17th Koli Calling International Conference on Computing Education Research (KoliCalling’17). ACM, New York, NY, 20–29. Google ScholarDigital Library
- [28] . 2019. Evaluation of parsons problems with menu-based self-explanation prompts in a mobile python tutor. Int. J. Artific. Intell. Edu. 29, 4 (2019), 507–535. Google ScholarCross Ref
- [29] . 2005. Strategies that students use to trace code: An analysis based in grounded theory. In Proceedings of the 1st International Workshop on Computing Education Research (ICER’05). ACM, New York, NY, 69–80. Google ScholarDigital Library
- [30] . 2012. Effectiveness of holistic mental model confrontation in driving conceptual change. Learn. Instruct. 22, 1 (2012), 47–61. Google ScholarCross Ref
- [31] . 1983. Structure-mapping: A theoretical framework for analogy. Cogn. Sci. 7, 2 (1983), 155–170. Google ScholarCross Ref
- [32] . 2012. Teaching by example: Using analogies and live coding demonstrations to teach parallel computing concepts to undergraduate students. In Proceedings of the IEEE 26th International Parallel and Distributed Processing Symposium Workshops and PhD Forum. IEEE, 1295–1298. Google ScholarDigital Library
- [33] . 1980. Analogical problem solving. Cogn. Psychol. 12, 3 (1980), 306–355. Google ScholarCross Ref
- [34] . 2019. Designing intentional bugs for learning. In Proceedings of the 1st UK and Ireland Computing Education Research Conference. ACM, New York, NY, Article
5 , 7 pages. Google ScholarDigital Library - [35] . 2007. Finding and fixing errors in worked examples: Can this foster learning outcomes? Learn. Instruct. 17, 6 (2007), 612–634. Google ScholarCross Ref
- [36] . 2018. RecurTutor: An interactive tutorial for learning recursion. ACM Trans. Comput. Edu. 19, 1, Article
1 (Nov . 2018), 25 pages. Google ScholarDigital Library - [37] . 2019. A systematic investigation of replications in computing education research. ACM Trans. Comput. Edu. 19, 4, Article
42 (Aug 2019), 18 pages. Google ScholarDigital Library - [38] . 2016. Distractors in parsons problems decrease learning efficiency for young novice programmers. In Proceedings of the ACM Conference on International Computing Education Research (ICER’16). ACM, New York, NY, 241–250. Google ScholarDigital Library
- [39] . 2016. Incorporating analogies and worked out examples as pedagogical strategies in a computer science tutoring system. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE’16). ACM, New York, NY, 675–680. Google ScholarDigital Library
- [40] . 2021. Problem-solving efficiency and cognitive load for adaptive parsons problems vs. writing the equivalent code. In Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI’21). ACM, New York, NY, Article
60 , 15 pages. Google ScholarDigital Library - [41] . 2013. How do students solve parsons programming problems?–Execution-based vs. line-based feedback. In Proceedings of the Learning and Teaching in Computing and Engineering. IEEE, 55–61. Google ScholarDigital Library
- [42] . 2013. Trace-based teaching in early programming courses. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE’13). ACM, New York, NY, 561–566. Google ScholarDigital Library
- [43] . 2018. Augmenting code with in situ visualizations to aid program understanding. In Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI’18). ACM, New York, NY, 1–12. Google ScholarDigital Library
- [44] . 2020. Improving engagement in program construction examples for learning python programming. Int. J. Artific. Intell. Edu. 30, 2 (2020), 299–336. Google ScholarCross Ref
- [45] . 2018. PCEX: Interactive program construction examples for learning programming. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research (KoliCalling’18). ACM, New York, NY, Article
5 , 9 pages. Google ScholarDigital Library - [46] . 2016. Animated examples as practice content in a Java programming course. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE’16). ACM, New York, NY, 540–545. Google ScholarDigital Library
- [47] . 2022. Investigating the impact of using a live programming environment in a CS1 course. In Proceedings of the 53rd ACM Technical Symposium on Computer Science Education (SIGCSE’22). ACM, New York, NY, 495–501. Google ScholarDigital Library
- [48] . 2021. A qualitative analysis of lecture videos and student feedback on static code examples and live coding: A case study. In Proceedings of the Australasian Computing Education Conference (ACE’21). ACM, New York, NY, 147–157. Google ScholarDigital Library
- [49] . 2017. Towards understanding successful novice example use in blocks-based programming. J. Visual Lang. Sent. Syst. 3 (2017), 101–118. Google ScholarCross Ref
- [50] . 2017. Suggesting API usage to novice programmers with the example guru. In Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI’17). ACM, New York, NY, 1105–1117. Google ScholarDigital Library
- [51] . 2014. What are the odds? A practical guide to computing and reporting Bayes factors. J. Problem Solv. 7, 1 (2014), 2. Google ScholarCross Ref
- [52] . 2021. Investigating students’ reasoning in a code-tracing tutor. In Proceedings of the 22nd International Conference on Artificial Intelligence in Education (AIED’21). Springer-Verlag, Berlin, 203–214. Google ScholarDigital Library
- [53] . 2021. When does scaffolding provide too much assistance? A code-tracing tutor investigation. Int. J. Artific. Intell. Edu. 31, 4 (2021), 784–819. Google ScholarCross Ref
- [54] . 2018. Subgoal labeled worked examples in K-3 education. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE’18). ACM, New York, NY, 616–621. Google ScholarDigital Library
- [55] . 2010. Effects of course-long use of a program visualization tool. In Proceedings of the 12th Australasian Conference on Computing Education, Vol. 103. ACM, 97–106.Google Scholar
- [56] . 2003. The expertise reversal effect. Edu. Psychol. 38, 1 (2003), 23–31. .
arXiv:https://doi.org/10.1207/S15326985EP3801_4 Google ScholarCross Ref - [57] . 2014. Productive failure in learning math. Cogn. Sci. 38, 5 (2014), 1008–1022. Google ScholarCross Ref
- [58] . 2014. An evaluation of self-explanation in a programming tutor. In Proceedings of the International Conference on Intelligent Tutoring Systems. Springer International Publishing, 248–253. Google ScholarDigital Library
- [59] . 2019. Helping students solve parsons puzzles better. In Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’19). ACM, New York, NY, 65–70. Google ScholarDigital Library
- [60] . 2020. Instructional video design: Investigating the impact of monologue-and dialogue-style presentations. In Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI’20). ACM, New York, NY, 1–12. Google ScholarDigital Library
- [61] . 2016. Learning to program: Gender differences and interactive effects of students’ motivation, goals, and self-efficacy on performance. In Proceedings of the ACM Conference on International Computing Education Research (ICER’16). ACM, New York, NY, 211–220. Google ScholarDigital Library
- [62] . 2004. A multi-national study of reading and tracing skills in novice programmers. In Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education (ITiCSE-WGR’04). ACM, New York, NY, 119–150. Google ScholarDigital Library
- [63] . 2010. User-adaptive explanatory program visualization: Evaluation and insights from eye movements. User Model. User-Adapt. Interact. 20, 3 (2010), 191–226. Google ScholarDigital Library
- [64] . 2016. Improving problem solving with subgoal labels in expository text and worked examples. Learn. Instruct. 42 (2016), 58–71. Google ScholarCross Ref
- [65] . 2017. Using learners’ self-explanations of subgoals to guide initial problem solving in app inventor. In Proceedings of the ACM Conference on International Computing Education Research (ICER’17). ACM, New York, NY, 21–29. Google ScholarDigital Library
- [66] . 2019. Finding the best types of guidance for constructing self-explanations of subgoals in programming. J. Learn. Sci. 28, 1 (2019), 108–151. Google ScholarCross Ref
- [67] . 2016. Employing subgoals in computer programming education. Comput. Sci. Edu. 26, 1 (2016), 44–67. Google ScholarCross Ref
- [68] . 2018. Varying effects of subgoal labeled expository text in programming, chemistry, and statistics. Instruct. Sci. 46, 5 (2018), 707–722. Google ScholarCross Ref
- [69] . 2020. Reducing withdrawal and failure rates in introductory programming with subgoal labeled worked examples. Int. J. STEM Edu. 7, 1 (2020), 1–16. Google ScholarCross Ref
- [70] . 2020. Effect of implementing subgoals in Code.org’s intro to programming unit in computer science principles. ACM Trans. Comput. Edu. 20, 4, Article
26 (Oct. 2020), 24 pages. Google ScholarDigital Library - [71] . 2016. Training learners to self-explain: Designing instructions and examples to improve problem solving. In Proceedings of the International Conference of the Learning Sciences (ICLS’16), Vol. 2. International Society of the Learning Sciences, 98–105. Retrieved from https://www.isls.org/icls/2016/docs/ICLS2016_Volume_1_30June2016.pdf.Google Scholar
- [72] . 1975. Different problem-solving competencies established in learning computer programming with and without meaningful models. J. Edu. Psychol. 67, 6 (1975), 725. Google ScholarCross Ref
- [73] . 1976. Some conditions of meaningful learning for computer programming: Advance organizers and subject control of frame order. J. Edu. Psychol. 68, 2 (1976), 143. Google ScholarCross Ref
- [74] . 1989. Models for understanding. Rev. Edu. Res. 59, 1 (1989), 43–64. Google ScholarCross Ref
- [75] . 1980. Difference recall protocols for technical texts due to advance organizers. J. Edu. Psychol. 72, 2 (1980), 209. Google ScholarCross Ref
- [76] . 2021. The impact of using program visualization techniques on learning basic programming concepts at the K-12 level. Comput. Appl. Eng. Edu. 29, 1 (2021), 145–159. Google ScholarCross Ref
- [77] . 2014. Defining and evaluating conflictive animations for programming education: The case of Jeliot ConAn. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE’14). ACM, New York, NY, 629–634. Google ScholarDigital Library
- [78] . 2017. Dual modality code explanations for novices: Unexpected results. In Proceedings of the ACM Conference on International Computing Education Research (ICER’17). ACM, New York, NY, 226–235. Google ScholarDigital Library
- [79] . 2020. The curious case of loops. Comput. Sci. Edu. 30, 2 (2020), 127–154. Google ScholarCross Ref
- [80] . 2016. Subgoals help students solve Parsons problems. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE’16). ACM, New York, NY, 42–47. Google ScholarDigital Library
- [81] . 2015. Subgoals, context, and worked examples in learning computing problem solving. In Proceedings of the 11th Annual International Conference on Computing Education Research (ICER’15). ACM, New York, NY, 21–29. Google ScholarDigital Library
- [82] . 1995. Reducing cognitive load by mixing auditory and visual presentation modes. J. Edu. Psychol. 87, 2 (1995), 319–334. Google ScholarCross Ref
- [83] . 2014. Learning from self-explaining emergent phenomena. In Proceedings of the International Conference of the Learning Sciences (ICLS’14), Vol. 2. International Society of the Learning Sciences, 847–854. Google Scholar
- [84] . 2010. Scaffolding meta-cognitive skills for effective analogical problem solving via tailored example selection. Int. J. Artific. Intell. Edu. 20, 2 (2010), 99–136. Google ScholarCross Ref
- [85] . 2016. Learning with intelligent tutors and worked examples: selecting learning activities adaptively leads to better learning outcomes than a fixed curriculum. User Model. User-Adapt. Interact. 26, 5 (
Dec. 2016), 459–491. Google ScholarDigital Library - [86] . 2017. Comprehension first: Evaluating a novel pedagogy and tutoring system for program tracing in CS1. In Proceedings of the ACM Conference on International Computing Education Research (ICER’17). ACM, New York, NY, 42–51. Google ScholarDigital Library
- [87] . 2006. An experiment on short-term effects of animated versus static visualization of operations on program perception. In Proceedings of the 2nd International Workshop on Computing Education Research (ICER’06). ACM, New York, NY, 7–16. Google ScholarDigital Library
- [88] . 2006. Parson’s programming puzzles: A fun and effective learning tool for first programming courses. In Proceedings of the 8th Australasian Conference on Computing Education (ACE’06). Australian Computer Society, AUS, 157–163. Google Scholar
- [89] . 2013. Comparing and contrasting different algorithms leads to increased student learning. In Proceedings of the 9th Annual International ACM Conference on International Computing Education Research (ICER’13). ACM, New York, NY, 145–152. Google ScholarDigital Library
- [90] . 2019. Learning memory management with C-Sim: A C-based visual tool. Comput. Appl. Eng. Edu. 27, 5 (2019), 1217–1235. Google ScholarCross Ref
- [91] . 1986. Conditions of learning in novice programmers. J. Edu. Comput. Res. 2, 1 (1986), 37–55. Google ScholarCross Ref
- [92] . 2020. Engaging students with instructor solutions in online programming homework. In Proceedings of the CHI Conference on Human Factors in Computing Systems. ACM, New York, NY, 1–7. Google ScholarDigital Library
- [93] . 2017. Students’ misconceptions and other difficulties in introductory programming: A literature review. ACM Trans. Comput. Edu. 18, 1, Article
1 (Oct. 2017), 24 pages. Google ScholarDigital Library - [94] . 1996. Role of examples in how students learn to categorize statistics word problems. J. Edu. Psychol. 88, 1 (1996), 144–161. Google ScholarCross Ref
- [95] . 2020. Live-coding vs static code examples: Which is better with respect to student learning and cognitive load? In Proceedings of the 22nd Australasian Computing Education Conference (ACE’20). ACM, New York, NY, 152–159. Google ScholarDigital Library
- [96] . 2018. Role of live-coding in learning introductory programming. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research (KoliCalling’18). ACM, New York, NY, Article
13 , 8 pages. Google ScholarDigital Library - [97] . 2011. Comparing the collaborative and independent viewing of program visualizations. In Proceedings of the Frontiers in Education Conference (FIE’11). IEEE Computer Society, F3G–1-1–F3G–7. Google ScholarDigital Library
- [98] . 1985. Usefulness of analogous solutions for solving algebra word problems. J. Exper. Psychol.: Learn., Mem. Cogn. 11, 1 (
Jan. 1985), 106–125. Google ScholarCross Ref - [99] . 1997. Learning from worked-out examples: A study on individual differences. Cogn. Sci. 21, 1 (1997), 1–29. Google ScholarCross Ref
- [100] . 2014. Toward an instructionally oriented theory of example-based learning. Cogn. Sci. 38 (2014), 1–37. Google ScholarCross Ref
- [101] . 2017. Promoting self-explanation to improve mathematics learning: A meta-analysis and instructional design principles. ZDM Math. Edu. 49 (2017), 599–611. Google ScholarCross Ref
- [102] . 2012. Developing procedural flexibility: Are novices prepared to learn from comparing procedures? Brit. J. Edu. Psychol. 82, Pt 3 (2012), 436–55.Google Scholar
- [103] . 2003. Learning and teaching programming: A review and discussion. Comput. Sci. Edu. 13, 2 (2003), 137–172.Google ScholarCross Ref
- [104] . 1987. This is like that: The use of earlier problems and the separation of similarity effects. J. Exper. Psychol.: Learn., Mem. Cogn. 13, 4 (
Oct. 1987), 629–639. Google ScholarCross Ref - [105] . 2013. The effectiveness of live-coding to teach introductory programming. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE’13). ACM, New York, NY, 651–656. Google ScholarDigital Library
- [106] . 2008. A study of the development of students’ visualizations of program state during an elementary object-oriented programming course. J. Edu. Res. Comput. 7, 4, Article
3 (Jan. 2008), 31 pages. Google ScholarDigital Library - [107] . 1987. Peer-model attributes and children’s achievement behaviors. J. Edu. Psychol. 79, 1 (1987), 54–61. Google ScholarCross Ref
- [108] . 2021. Live coding: A review of the literature. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education. ACM, New York, NY, 164–170. Google ScholarDigital Library
- [109] . 2013. Examples and tutored problems: How can self-explanation make a difference to learning? In Artificial Intelligence in Education, , , , and (Eds.). Springer, Berlin, 339–348. Google Scholar
- [110] . 2017. Effects of visualizing roles of variables with animation and IDE in novice program construction. Telemat. Informat. 34, 5 (2017), 743–754. Google ScholarDigital Library
- [111] . 2015. How do students use program visualizations within an interactive ebook? In Proceedings of the 11th Annual International Conference on International Computing Education Research (ICER’15). ACM, New York, NY, 179–188. Google ScholarDigital Library
- [112] . 1984. Empirical studies of programming knowledge. IEEE Trans. Softw. Eng. SE-10, 5 (1984), 595–609. Google ScholarDigital Library
- [113] . 2013. Notional machines and introductory programming education. ACM Trans. Comput. Edu. 31, 2, Article
8 (July 2013), 31 pages. Google ScholarDigital Library - [114] . 2013. A review of generic program visualization systems for introductory programming education. ACM Trans. Comput. Edu. 13, 4, Article
15 (Nov. 2013), 64 pages. Google ScholarDigital Library - [115] . 2019. Coding demonstration videos for CS1. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE’19). ACM, New York, NY, 105–111. Google ScholarDigital Library
- [116] . 2011. Cognitive load theory, in
Psychology of Learning and Motivation , Vol. 55. Academic Press, 37–76. Google ScholarCross Ref - [117] . 2011. The split-attention effect. In Cognitive Load Theory. Springer, New York, NY, 111–128. Google ScholarCross Ref
- [118] . 1985. The use of worked examples as a substitute for problem solving in learning algebra. Cogn. Instruct. 2, 1 (1985), 59–89.Google ScholarCross Ref
- [119] . 1993. Studying examples and solving problems: Contributions to skill acquisition. In Proceedings of the 15th Annual Conference of the Cognitive Science Society. Lawrence Erlbaum Associates, 1017–1022.Google Scholar
- [120] . 2013. Toward the effective use of educational program animations: The roles of student’s engagement and topic complexity. Comput. Edu. 67 (2013), 178–192. Google ScholarCross Ref
- [121] . 2007. Factors in novice programmers’ poor tracing skills. In Proceedings of the 12th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (ITiCSE’07). ACM, New York, NY, 236–240. Google ScholarDigital Library
- [122] . 2011. Effects of worked examples, example-problem, and problem-example pairs on novices’ learning. Contemp. Edu. Psychol. 36, 3 (2011), 212–218. Google ScholarCross Ref
- [123] . 2010. Example-Based Learning: Integrating Cognitive and Social-Cognitive Research Perspectives. Edu. Psychol. Rev. 22, 2 (
June 2010), 155–174. Google ScholarCross Ref - [124] . 2019. Learning how to solve problems by studying examples. In The Cambridge Handbook of Cognition and Education, and (Eds.). Cambridge University Press, 183–208.Google Scholar
- [125] . 2002. Redirecting learners attention during training: Effects on cognitive load, transfer test performance and training efficiency. Learn. Instruct. 12, 1 (2002), 11–37. Google ScholarCross Ref
- [126] . 1990. Strategies for programming instruction in high school program: Program completion vs. program generation. J. Edu. Comput. Res. 6, 3 (1990), 265–285. Google ScholarCross Ref
- [127] . 1992. Strategies for computer-based programming instruction: Program completion vs. program generation. J. Edu. Comput. Res. 8, 3 (1992), 365–394. Google ScholarCross Ref
- [128] . 1996. Cognitive skill acquisition. Annu. Rev. Psychol. 47, 1 (1996), 513–539. .
arXiv:https://doi.org/10.1146/annurev.psych.47.1.513 PMID: 15012487. Google ScholarCross Ref - [129] . 1998. Analogy events: How examples are used during problem solving. Cogn. Sci. 22, 3 (1998), 347–388.Google ScholarCross Ref
- [130] . 1999. Rule-learning events in the acquisition of a complex skill: An evaluation of cascade. J. Learn. Sci. 8, 1 (1999), 71–125. Google ScholarCross Ref
- [131] . 2012. During automatic program animation explanations after animations have greater impact than before animations. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research (KoliCalling’12). ACM, New York, NY, 100–109. Google ScholarDigital Library
- [132] . 2021. Novices’ learning barriers when using code examples in open-ended programming. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1. ACM, New York, NY, 394–400. Google ScholarDigital Library
- [133] . 2020. Step Tutor: Supporting students through step-by-step example-based feedback. In Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE’20). ACM, New York, NY, 391–397. Google ScholarDigital Library
- [134] . 1996. Individual selection of examples in an intelligent learning environment. Int. J. Artific. Intell. Edu. 7, 1 (1996), 3–31.Google ScholarDigital Library
- [135] . 2021. Improving instruction of programming patterns with faded Parsons problems. In Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI’21). ACM, New York, NY, Article
53 , 4 pages. Google ScholarDigital Library - [136] . 2014. The self-explanation principle in multimedia learning. In The Cambridge Handbook of Multimedia Learning (2nd ed.), (Ed.). Cambridge University Press, 413–432. Google ScholarCross Ref
- [137] . 2019. A theory of instruction for introductory programming skills. Comput. Sci. Edu. 29, 2–3 (2019), 205–253. Google ScholarCross Ref
- [138] . 2018. An explicit strategy to scaffold novice program tracing. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE’18). ACM, New York, NY, 344–349. Google ScholarDigital Library
- [139] . 2018. Evaluations of JaguarCode: A web-based object-oriented programming environment with static and dynamic visualization. J. Syst. Softw. 145 (2018), 147–163. Google ScholarCross Ref
- [140] . 2020. Should explanations of program code use audio, text, or both? A replication study. In Proceedings of the 20th Koli Calling International Conference on Computing Education Research (KoliCalling’20). ACM, New York, NY, Article
5 , 10 pages. Google ScholarDigital Library - [141] . 2021. Algorithm visualization and the elusive modality effect. In Proceedings of the 17th ACM Conference on International Computing Education Research (ICER’21). ACM, New York, NY, 368–378. Google ScholarDigital Library
- [142] . 2019. Evaluating the effectiveness of Parsons problems for block-based programming. In Proceedings of the ACM Conference on International Computing Education Research (ICER’19). ACM, New York, NY, 51–59. Google ScholarDigital Library
Index Terms
- A Review of Worked Examples in Programming Activities
Recommendations
The effects of feedback protocol on self-regulated learning in a web-based worked example learning environment
The current research investigated the effects of differing feedback protocols in a Web-based worked example learning environment to determine if changes would occur over time in goal orientation, self-regulation, self-efficacy or achievement. ...
Worked examples in computer science
ACE '14: Proceedings of the Sixteenth Australasian Computing Education Conference - Volume 148Most instructors teaching Computer Science use examples to help students learn, and many instructors use worked examples (either in a static or a dynamic style) in their courses. However, the research on worked examples is not well known in the Computer ...
Worked examples for sound object-oriented pedagogy: a "killer" workshop
OOPSLA Companion '08: Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applicationsThe Killer Examples workshops are highly interactive workshops, held annually at OOPSLA since 2002. The workshop goals are to bring together educators and developers to share their object-oriented expertise, and provide a forum for discussion of ...
Comments