ABSTRACT
A sizable body of research on instructional practices supports the use of worked examples for acquiring cognitive skills in domains such as mathematics and physics. Although examples are also important in the domain of programming, existing research on programming examples is limited. Program examples are used by instructors to achieve two important goals: to explain program behavior and to demonstrate program construction patterns. Program behavior examples are used to demonstrate the semantics of various program constructs (i.e., what is happening inside a program or an algorithm when it is executed). Program construction examples illustrate how to construct a program that achieves a specific purpose. While both functions of program examples are important for learning, most of the example-focused research in computer science education focused on technologies for augmenting program behavior examples such as program visualization, tracing tables, etc. In contrast, advanced technologies for presenting program construction examples were rarely explored. This work introduces interactive Program Construction Examples (PCEX) to begin a systematic exploration of worked-out program construction examples in the domain of computer science education. A classroom evaluation and analysis of the survey data demonstrated that the usage of PCEX examples is associated with better student's learning and performance.
- Robert K Atkinson, Sharon J Derry, Alexander Renkl, and Donald Wortham. 2000. Learning from examples: Instructional principles from the worked examples research. Review of Educational Research 70, 2 (2000), 181--214.Google ScholarCross Ref
- Peter Brusilovsky and Colin Higgins. 2005. Preface to the special issue on automated assessment of programming assignments. ACM Journal on Educational Resources in Computing 5, 3 (2005), Article No. 1. Google ScholarDigital Library
- Kevin Buffardi and Stephen H. Edwards. 2014. Introducing CodeWorkout: An Adaptive and Social Learning Environment (Abstract Only). In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14). ACM, New York, NY, USA, 724--724. Google ScholarDigital Library
- Jennifer Campbell, Diane Horton, and Michelle Craig. 2016. Factors for Success in Online CS1. In Proceedings of the 2016 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '16). ACM, New York, NY, USA, 320--325. Google ScholarDigital Library
- Jennifer Campbell, Diane Horton, Michelle Craig, and Paul Gries. 2014. Evaluating an Inverted CS1. In Proceedings of the 45th ACM Technical Symposium on Computer Science Education (SIGCSE '14). ACM, New York, NY, USA, 307--312. Google ScholarDigital Library
- Richard Catrambone. 1998. The subgoal learning model: Creating better examples so that students can solve novel problems. Journal of Experimental Psychology: General 127, 4 (1998), 355.Google ScholarCross Ref
- Steve Cooper and Mehran Sahami. 2013. Reflections on Stanford's MOOCs. Commun. ACM 56, 2 (Feb. 2013), 28--30. Google ScholarDigital Library
- Paul Denny, Andrew Luxton-Reilly, Ewan Tempero, and Jacob Hendrickx. 2011. CodeWrite: Supporting Student-driven Practice of Java. In Proceedings of the 42nd ACM Technical Symposium on Computer Science Education (SIGCSE '11). ACM, New York, NY, USA, 471--476. Google ScholarDigital Library
- Stephen H. Edwards and Manuel A. Perez-Quinones. 2008. Web-CAT: Automatically Grading Programming Assignments. SIGCSE Bull. 40, 3 (June 2008), 328--328. Google ScholarDigital Library
- Barbara Ericson, Steven Moore, Briana Morrison, and Mark Guzdial. 2015. Usability and Usage of Interactive Features in an Online Ebook for CS Teachers. In Proceedings of the Workshop in Primary and Secondary Computing Education (WiPSCE '15). ACM, NewYork, NY, USA, 111--120. Google ScholarDigital Library
- Julio Guerra, Christian D Schunn, Susan Bull, Jordan Barria-Pineda, and Peter Brusilovsky. 2018. Navigation support in complex open learner models: assessing visual design alternatives. New Review of Hypermedia and Multimedia (2018), 1--29.Google Scholar
- Philip J. Guo. 2013. Online Python Tutor: Embeddable Web-based Program Visualization for CS Education. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE '13). ACM, New York, NY, USA, 579--584. Google ScholarDigital Library
- Roya Hosseini. 2018. Program Construction Examples in Computer Science Education: From Static Text to Adaptive and Engaging Learning Technology. Ph.D. Dissertation. University of Pittsburgh.Google Scholar
- Roya Hosseini, Teemu Sirkiä, Julio Guerra, Peter Brusilovsky, and Lauri Malmi. 2016. Animated examples as practice content in a java programming course. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. ACM, 540--545. Google ScholarDigital Library
- David Hovemeyer, Matthew Hertz, Paul Denny, Jaime Spacco, Andrei Papancea, John Stamper, and Kelly Rivers. 2013. CloudCoder: building a community for creating, assigning, evaluating and sharing programming exercises. In Proceedings of the 44th ACMTechnical Symposium on Computer Science Education. ACM, 742--742. Google ScholarDigital Library
- Slava Kalyuga, Paul Ayres, Paul Chandler, and John Sweller. 2003. The expertise reversal effect. Educational Psychologist 38, 1 (2003), 23--31.Google ScholarCross Ref
- Robin H Kay and Liesel Knaack. 2009. Assessing learning, quality and engagement in learning objects: the Learning Object Evaluation Scale for Students (LOES-S). Educational Technology Research and Development 57, 2 (2009), 147--168.Google ScholarCross Ref
- Raymond Lister, Elizabeth S Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä, et al. 2004. A multi-national study of reading and tracing skills in novice programmers. In ACM SIGCSE Bulletin, Vol. 36. ACM, 119--150. Google ScholarDigital Library
- Tomasz D Loboda, Julio Guerra, Roya Hosseini, and Peter Brusilovsky. 2014. Mastery grids: An open source social educational progress visualization. In European Conference on Technology Enhanced Learning. Springer, 235--248. Google ScholarDigital Library
- Briana B Morrison, Lauren E Margulieux, Barbara Ericson, and Mark Guzdial. 2016. Subgoals help students solve Parsons problems. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. ACM, 42--47. Google ScholarDigital Library
- Thomas Naps, Stephen Cooper, Boris Koldehofe, Charles Leska, Guido Rößling, Wanda Dann, Ari Korhonen, Lauri Malmi, Jarmo Rantakokko, Rockford J Ross, et al. 2003. Evaluating the educational impact of visualization. In ACM SIGCSE Bulletin, Vol. 35. ACM, 124--136. Google ScholarDigital Library
- Jum C Nunnally and Ira H Bernstein. 1978. Psychometric theory. (1978).Google Scholar
- Nick Parlante. 2017. codingbat.com. http://codingbat.com/about.html Accessed on Jan 21, 2018.Google Scholar
- Dale Parsons and Patricia Haden. 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-Volume 52. Australian Computer Society, Inc., 157--163. Google ScholarDigital Library
- Rmi Sharrock, Ella Hamonic, Mathias Hiron, and Sebastien Carlier. 2017. CODE-CAST: An Innovative Technology to Facilitate Teaching and Learning Computer Programming in a C Language Online Course. In Proceedings of the Fourth (2017) ACM Conference on Learning @ Scale. ACM, 147--148. Google ScholarDigital Library
- Juha Sorva, Ville Karavirta, and Lauri Malmi. 2013. A review of generic program visualization systems for introductory programming education. ACM Transactions on Computing Education (TOCE) 13, 4 (2013), 15. Google ScholarDigital Library
- Juha Sorva and Teemu Sirkiä. 2010. UUhistle: A Software Tool for Visual Program Simulation. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (Koli Calling '10). ACM, New York, NY, USA, 49--54. Google ScholarDigital Library
- John Sweller, Jeroen JG Van Merrienboer, and Fred GWC Paas. 1998. Cognitive architecture and instructional design. Educational Psychology Review 10, 3 (1998), 251--296.Google ScholarCross Ref
- Brad Vander Zanden, David Anderson, Curtis Taylor, Will Davis, and Michael W. Berry. 2012. Codeassessor: An Interactive, Web-based Tool for Introductory Programming. J. Comput. Sci. Coll. 28, 2 (Dec. 2012), 73--80. http://dl.acm.org/citation.cfm?id=2382887.2382900 Google ScholarDigital Library
- Daniel Zingaro, Yuliya Cherenkova, Olessia Karpova, and Andrew Petersen. 2013. Facilitating Code-writing in PI Classes. In Proceedings of the 44th ACM Technical Symposium on Computer Science Education (SIGCSE '13). ACM, New York, NY, USA, 585--590. Google ScholarDigital Library
Index Terms
- PCEX: Interactive Program Construction Examples for Learning Programming
Recommendations
Learning by Taking Apart: Deconstructing Code by Reading, Tracing, and Debugging
SIGITE '16: Proceedings of the 17th Annual Conference on Information Technology EducationThis theoretical paper discusses several lines of research which support the premise that people learning to program can do so more effectively and efficiently if they spend as much time deconstructing code (reading, tracing, and debugging) as they do ...
Introducing a virtual learning environment and learning objects into higher education courses
This paper outlines how Higher Education courses in Computer Science have been adapted to make positive improvements to student pass rates and retention. Introductory programming is taught to large numbers of students involving a substantial commitment ...
Studio-based learning via wireless notebooks: a case of a Java programming course
This paper describes Studio-1.00, a project aimed at enhancing active learning techniques, interactive programming and the exploration of software development, by the use of mobile notebooks and electronic classrooms. We report on a study that ...
Comments