ABSTRACT
Parsons problems are program puzzles, where students piece together code fragments to construct a program. Similar to block-based programming environments, Parsons problems eliminate the need to learn syntax. Parsons problems have been shown to improve learning efficiency when compared to writing code or fixing incorrect code in lab studies, or as part of a larger curriculum. In this study, we directly compared Parsons problems with block-based programming assignments in classroom settings. We hypothesized that Parsons problems would improve students' programming efficiency on the lab assignments where they were used, without impacting performance on the subsequent, related homework or the later programming project. Our results confirmed our hypothesis, showing that on average Parsons problems took students about half as much time to complete compared to equivalent programming problems. At the same time, we found no evidence to suggest that students performed worse on subsequent assignments, as measured by performance and time on task. The results indicate that the effectiveness of Parsons problems is not simply based on helping students avoid syntax errors. We believe this is because Parsons problems dramatically reduce the programming solution space, letting students focus on solving the problem rather than having to solve the combined problem of devising a solution, searching for needed components, and composing them together.
- Yoav Benjamini and Yosef Hochberg. 1995. Controlling the false discovery rate: apractical and powerful approach to multiple testing. Journal of the Royal statistical society 57, 1 (1995), 289--300.Google Scholar
- Nick Cheng and Brian Harrington. 2017. The Code Mangler: Evaluating Coding Ability Without Writing Any Code. Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education(2017), 123--128. Google ScholarDigital Library
- Trevor F Cox and Michael AA Cox. 2000. Multidimensional scaling. Chapman and hall/CRC.Google ScholarCross Ref
- Paul Denny, Andrew Luxton-Reilly, and Beth Simon. 2008. Evaluating a new exam question: Parsons problems. In Proceedings of the fourth international workshop on computing education research. ACM, 113--124. Google ScholarDigital Library
- Olive Jean Dunn. 1964. Multiple comparisons using rank sums. Technometrics 6, 3 (1964), 241--252.Google ScholarCross Ref
- Barbara J Ericson, James D Foley, and Jochen Rick. 2018. Evaluating the Efficiency and Effectiveness of Adaptive Parsons Problems. In Proceedings of the 2018 ACM Conference on International Computing Education Research. ACM, 60--68. Google ScholarDigital Library
- Barbara J. Ericson, Mark J. Guzdial, and Briana B. Morrison. 2015. Analysis of Interactive Features Designed to Enhance Learning in an Ebook. Proceedings of the eleventh annual International Conference on International Computing Education Research - ICER '15(2015), 169--178. Google ScholarDigital Library
- Barbara J Ericson, Lauren E Margulieux, and Jochen Rick. 2017. Solving parsons problems versus fixing and writing code. In Proceedings of the 17th Koli Calling Conference on Computing Education Research. ACM, 20--29. Google ScholarDigital Library
- Barbara J. Ericson, Kantwon Rogers, Miranda Parker, Briana Morrison, and Mark Guzdial. 2016. Identifying Design Principles for CS Teacher Ebooks through Design-Based Research. (2016), 191--200. Google ScholarDigital Library
- Geela Venise Firmalo Fabic, Antonija Mitrovic, and Kourosh Neshatian. 2017. A Comparison of Different Types of Learning Activities in a Mobile Python Tutor. Proceedings of the 25th International Conference on Computers in Education(2017), 604--613.Google Scholar
- Stuart Garner. 2007. An Exploration of How a Technology-Facilitated Part-Complete Solution Method Supports the Learning of Computer Programming. Issues in Informing Science and Information Technology 4 (2007), 491--501.Google ScholarCross Ref
- Kyle James Harms, Jason Chen, and Caitlin L Kelleher. 2016. Distractors in Parsons Problems Decrease Learning Efficiency for Young Novice Programmers. In Proceedings of the 2016 ACM Conference on International Computing Education Research. ACM, 241--250. Google ScholarDigital Library
- Kyle J Harms, Noah Rowlett, and Caitlin Kelleher. 2015. Enabling independent learning of programming concepts through programming completion puzzles. In Visual Languages and Human-Centric Computing (VL/HCC), 2015 IEEE Symposium on. IEEE, 271--279.Google ScholarCross Ref
- Juha Helminen, Petri Ihantola, Ville Karavirta, and Satu Alaoutinen. 2013. How do students solve parsons programming problems? - Execution-based vs. line-based feedback. Proceedings - 2013 Learning and Teaching in Computing and Engineering, LaTiCE 2013(2013), 55--61. Google ScholarDigital Library
- Juha Helminen, Petri Ihantola, Ville Karavirta, and Lauri Malmi. 2012. How do students solve parsons programming problems?: An analysis of interaction traces. In Proceedings of the ninth annual international conference on International computing education research. ACM, 119--126. Google ScholarDigital Library
- Michelle Ichinco, Kyle J Harms, and Caitlin Kelleher. 2017. Towards Understanding Successful Novice Example User in Blocks-Based Programming. Journal of Visual Languages and Sentient Systems(2017), 101--118.Google Scholar
- Petri Ihantola, Juha Helminen, and Ville Karavirta. 2013. How to Study Program-ming on Mobile Touch Devices - Interactive Python Code Exercises. Koli Calling'13(2013), 51--58. Google ScholarDigital Library
- Petri Ihantola and Ville Karavirta. 2011. Two-Dimensional Parson's Puzzles:The Concept, Tools, and First Observations. Journal of Information Technology Education: Innovations in Practice10 (2011), 119--132.Google Scholar
- Richard E Mayer and Roxana Moreno. 2003. Nine ways to reduce cognitive loadin multimedia learning. Educational psychologist 38, 1 (2003), 43--52.Google Scholar
- 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
- 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
- Thomas W Price and Tiffany Barnes. 2015. Comparing textual and block interface sin a novice programming environment. In Proceedings of the eleventh annual International Conference on International Computing Education Research. ACM, 91--99. Google ScholarDigital Library
- Thomas W Price, Yihuan Dong, and Tiffany Barnes. 2016. Generating Data-driven Hints for Open-ended Programming. EDM16 (2016), 191--198.Google Scholar
- Thomas W Price, Yihuan Dong, and Dragan Lipovac. 2017. iSnap: towards intelligent tutoring in novice programming environments. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education. ACM, 483--488. Google ScholarDigital Library
- Thomas W Price, Zhongxiu Liu, Veronica Cateté, and Tiffany Barnes. 2017. Factors Influencing Students' Help-Seeking Behavior while Programming with Human and Computer Tutors. In Proceedings of the 2017 ACM Conference on International Computing Education Research. ACM, 127--135. Google ScholarDigital Library
- Thomas W Price, Rui Zhi, and Tiffany Barnes. 2017. Evaluation of a Data-driven Feedback Algorithm for Open-ended Programming. In EDM.Google Scholar
- Kelly Rivers and Kenneth R Koedinger. 2014. Automating hint generation with solution space path construction. In International Conference on Intelligent Tutoring Systems. Springer, 329--339. Google ScholarDigital Library
- John Sweller. 2010. Element interactivity and intrinsic, extraneous, and germane cognitive load. Educational Psychology Review 22, 2 (2010), 123--138. arXiv:arXiv:1002.2562v1Google ScholarCross Ref
- John Sweller, Jeroen JG Van Merrienboer, and Fred GWC Paas. 1998. Cognitive architecture and instructional design. Educational psychology review 10, 3 (1998).Google Scholar
- Jeroen JG Van Merriënboer and Marcel BM De Croock. 1992. Strategies for computer-based programming instruction: Program completion vs. program generation. Journal of Educational Computing Research 8, 3 (1992), 365--394.Google ScholarCross Ref
- David Weintrop and Uri Wilensky. 2017. Comparing block-based and text-based programming in high school computer science classrooms. ACM Transactions on Computing Education (TOCE)18, 1 (2017), 3. Google ScholarDigital Library
- Rui Zhi, Thomas W. Price, Nicholas Lytle, Yihuan Dong, and Tiffany Barnes. 2018. Reducing the State Space of Programming Problems through Data-Driven Feature Detection. In EDM WorkshopGoogle Scholar
Index Terms
- Evaluating the Effectiveness of Parsons Problems for Block-based Programming
Recommendations
Evaluating the Efficiency and Effectiveness of Adaptive Parsons Problems
ICER '18: Proceedings of the 2018 ACM Conference on International Computing Education ResearchPractice is essential for learning. There is evidence that solving Parsons problems (putting mixed up code blocks in order) is a more efficient, but just as effective, form of practice than writing code from scratch. However, not all students ...
Evaluating the Impact of Adaptive Parsons Problems on Students in Introductory Computer Science Courses
SIGCSE '20: Proceedings of the 51st ACM Technical Symposium on Computer Science EducationIt's no surprise that students in introductory computer science courses face numerous challenges: for many, it's their first time ever programming, and computer science courses tend to be difficult and time-consuming. Parsons problems, problems where ...
Using Adaptive Parsons Problems to Scaffold Write-Code Problems
ICER '22: Proceedings of the 2022 ACM Conference on International Computing Education Research - Volume 1In this paper, we explore using Parsons problems to scaffold novice programmers who are struggling while solving write-code problems. Parsons problems, in which students put mixed-up code blocks in order, can be created quickly and already serve ...
Comments