Teaching Programming with Gamified Semantics
2017, Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems
https://doi.org/10.1145/3025453.3025711Abstract
Dominant approaches to programming education emphasize program construction over language comprehension. We present Reduct, an educational game embodying a new, comprehension-first approach to teaching novices core programming concepts which include functions, Booleans, equality, conditionals, and mapping functions over sets. In this novel teaching strategy, the player executes code using reductionbased operational semantics. During gameplay, code representations fade from concrete, block-based graphics to the actual syntax of JavaScript ES2015. We describe our design rationale in depth and report on the results of a study evaluating the efficacy of our approach on young adults (18+) without prior coding experience. In a short timeframe, novices demonstrated promising learning of core concepts expressed in actual JavaScript. We discuss ramifications for the design of future computational thinking games.
References (80)
- Samson Abramsky. 1993. Computational interpretations of linear logic. Theoretical computer science 111, 1 (1993), 3-57.
- ACM/IEEE-CS Joint Task Force on Computing Curricula. 2013. Computer science curricula 2013. http://www.acm.org/education/CS2013-final-report.pdf. (2013).
- Deborah Adshead, Charles Boisvert, David Love, and Phil Spencer. 2015. Changing Culture: Educating the Next Computer Scientists. In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education. ACM, 33-38.
- Efthimia Aivaloglou and Felienne Hermans. 2016. How Kids Code and How We Know: An Exploratory Study on the Scratch Repository. In Proceedings of the 2016 ACM Conference on International Computing Education Research. ACM, 53-61.
- Erik Andersen, Yun-En Liu, Richard Snider, Roy Szeto, Seth Cooper, and Zoran Popović. 2011. On the harmfulness of secondary game objectives. In Proceedings of the 6th International Conference on Foundations of Digital Games. ACM, 30-37.
- Erik Andersen, Eleanor O'Rourke, Yun-En Liu, Rich Snider, Jeff Lowdermilk, David Truong, Seth Cooper, and Zoran Popovic. 2012. The impact of tutorials on games of varying complexity. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 59-68.
- John Robert Anderson. 2000. Learning and memory. (2000).
- John R Anderson, Frederick G Conrad, and Albert T Corbett. 1989. Skill acquisition and the LISP tutor. Cognitive Science 13, 4 (1989), 467-505.
- John R Anderson, Albert T Corbett, Kenneth R Koedinger, and Ray Pelletier. 1995. Cognitive tutors: Lessons learned. The journal of the learning sciences 4, 2 (1995), 167-207.
- Mark H Ashcraft. 2002. Math anxiety: Personal, educational, and cognitive consequences. Current directions in psychological science 11, 5 (2002), 181-185.
- Titus Barik, Emerson Murphy-Hill, and Thomas Zimmermann. 2016. A Perspective on Blending Programming Environments and Games: Beyond Points, Badges, and Leaderboards. In Proceedings of the 2016 IEEE Symposium on Visual Languages and Human-Centric Computing.
- David Bau, D Anthony Bau, Mathew Dawson, and C Pickens. 2015. Pencil code: block code for a text world. In Proceedings of the 14th International Conference on Interaction Design and Children. ACM, 445-448.
- Piraye Bayman and Richard E. Mayer. 1983. A Diagnosis of Beginning Programmers' Misconceptions of BASIC Programming Statements. Commun. ACM 26, 9 (Sept. 1983), 677-679. DOI: http://dx.doi.org/10.1145/358172.358408
- David W Braithwaite and Robert L Goldstone. 2013. Integrating formal and grounded representations in combinatorics learning. Journal of Educational Psychology 105, 3 (2013), 666.
- Karen Ann Brennan. 2013. Best of both worlds: Issues of structure and agency in computational creation, in and out of school. Ph.D. Dissertation. Massachusetts Institute of Technology.
- Neil CC Brown, Jens Mönig, Anthony Bau, and David Weintrop. 2016. Panel: Future Directions of Block-based Programming. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. ACM, 315-316.
- Jerome Seymour Bruner. 1966. Toward a theory of instruction. Vol. 59. Harvard University Press.
- Shalina Chatlani. 2016. Challenges persist when gamifying education. (December 2016). http://www.educationdive.com/news/ challenges-persist-when-gamifying-education/430817/ [Online; posted 5-Dec-2016].
- Alonzo Church. 1941. The calculi of lambda-conversion. Number 6. Princeton University Press.
- Michael Clancy. 2004. Misconceptions and attitudes that interfere with learning to program. Computer science education research (2004), 85-100.
- Codeacademy. 2011. Codeacademy. http://www.codeacademy.org. (2011).
- CodeCombat. 2014. Code Combat. PC Game. (2014).
- Code.org. 2013. Code.org. http://www.code.org. (2013).
- Stephen Cooper, Wanda Dann, and Randy Pausch. 2000. Alice: a 3-D tool for introductory programming concepts. In Journal of Computing Sciences in Colleges, Vol. 15. Consortium for Computing Sciences in Colleges, 107-116.
- Mihaly Csikszentmihalyi. 1991. Flow: The psychology of optimal experience. Vol. 41. HarperPerennial New York.
- Mihaly Csikszentmihalyi. 1996. Flow and the psychology of discovery and invention. New Yprk: Harper Collins (1996).
- Sayamindu Dasgupta, William Hale, Andrés Monroy-Hernández, and Benjamin Mako Hill. 2016. Remixing as a pathway to computational thinking. In Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work & Social Computing. ACM, 1438-1449.
- Stuart E Dreyfus and Hubert L Dreyfus. 1980. A five-stage model of the mental activities involved in directed skill acquisition. Technical Report. DTIC Document.
- Sarah Esper, Stephen R Foster, and William G Griswold. 2013. CodeSpells: embodying the metaphor of wizardry for programming. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education. ACM, 249-254.
- Anne L Fay and Richard E Mayer. 1988. Learning LOGO: A cognitive analysis. (1988).
- Emily R Fyfe, Nicole M McNeil, and Stephanie Borjas. 2015. Benefits of "concreteness fading" for children's mathematics understanding. Learning and Instruction 35 (2015), 104-120.
- Emily R Fyfe, Nicole M McNeil, Ji Y Son, and Robert L Goldstone. 2014. Concreteness fading in mathematics and science instruction: A systematic review. Educational Psychology Review 26, 1 (2014), 9-25.
- Robert L Goldstone and Ji Y Son. 2005. The transfer of scientific principles using concrete and idealized simulations. The Journal of the Learning Sciences 14, 1 (2005), 69-110.
- Google. 2013. Blockly. https://developers.google.com/blockly/. (2013).
- Lindsey Ann Gouws, Karen Bradshaw, and Peter Wentworth. 2013. Computational thinking in educational activities: an evaluation of the educational game light-bot. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education. ACM, 10-15.
- Philip J Guo. 2013. Online python tutor: embeddable web-based program visualization for cs education. In Proceeding of the 44th ACM technical symposium on Computer science education. ACM, 579-584.
- 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.
- Michael S Horn, Erin Treacy Solovey, R Jordan Crouser, and Robert JK Jacob. 2009. Comparing the use of tangible and graphical programming languages for informal science education. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, 975-984.
- Hansen Hsu. 2015. The Appsmiths: Community, Identity, Affect And Ideology Among Cocoa Developers From Next To Iphone. Ph.D. Dissertation. Cornell University.
- Lisa C Kaczmarczyk, Elizabeth R Petrick, J Philip East, and Geoffrey L Herman. 2010. Identifying student misconceptions of programming. In Proceedings of the 41st ACM technical symposium on Computer science education. ACM, 107-111.
- Ken Kahn. 1996. Toontalk: An animated programming environment for children. Journal of Visual Languages & Computing 7, 2 (1996), 197-217.
- Caitlin Kelleher, Randy Pausch, and Sara Kiesler. 2007. Storytelling alice motivates middle school girls to learn computer programming. In Proceedings of the SIGCHI conference on Human factors in computing systems. ACM, 1455-1464.
- Jordana Kerr, Mary Chou, Reilly Ellis, and Caitlin Kelleher. 2013. Setting the scene: scaffolding stories to benefit middle school students learning to program. In 2013 IEEE Symposium on Visual Languages and Human Centric Computing. IEEE, 95-98.
- Khan Academy. 2006. https://www.khanacademy.org/. (2006).
- Michael Kölling, Neil CC Brown, and Amjad Altadmri. 2015. Frame-based editing: Easing the transition from blocks to text-based programming. In Proceedings of the Workshop in Primary and Secondary Computing Education. ACM, 29-38.
- Dave Krebs, Alexander Conrad, and Jingtao Wang. 2012. Combining visual block programming and graph manipulation for clinical alert rule building. In CHI'12 Extended Abstracts on Human Factors in Computing Systems. ACM, 2453-2458.
- Deepak Kumar. 2014. Digital playgrounds for early computing education. ACM Inroads 5, 1 (2014), 20-21.
- Alyson La. 2015. Language trends on GitHub. https: //github.com/blog/2047-language-trends-on-github. (2015).
- Michael J Lee, Faezeh Bahmani, Irwin Kwan, Jilian LaFerte, Polina Charters, Amber Horvath, Fanny Luor, Jill Cao, Catherine Law, Michael Beswetherick, and others. 2014. Principles of a debugging-first puzzle game for computing education. In 2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 57-64.
- Michael J Lee and Andrew J Ko. 2015. Comparing the effectiveness of online learning approaches on cs1 learning outcomes. In Proceedings of the eleventh annual International Conference on International Computing Education Research. ACM, 237-246.
- Jonathan Liu. 2012. Dragonbox: Algebra beats angry birds. Wired, June (2012).
- Yun-En Liu, Christy Ballweber, Eleanor O'rourke, Eric Butler, Phonraphee Thummaphan, and Zoran Popović. 2015. Large-Scale Educational Campaigns. ACM Transactions on Computer-Human Interaction (TOCHI) 22, 2 (2015), 8.
- Yanjin Long and Vincent Aleven. 2014. Gamification of Joint Student/System Control over Problem Selection in a Linear Equation Tutor. In Intelligent Tutoring Systems. Springer, 378-387.
- John H Maloney, Kylie Peppler, Yasmin Kafai, Mitchel Resnick, and Natalie Rusk. 2008. Programming by choice: urban youth learning programming with scratch. Vol. 40. ACM.
- Nicole M McNeil and Emily R Fyfe. 2012. "Concreteness fading" promotes transfer of mathematical knowledge. Learning and Instruction 22, 6 (2012), 440-448.
- Timothy S McNerney. 2004. From turtles to Tangible Programming Bricks: explorations in physical language design. Personal and Ubiquitous Computing 8, 5 (2004), 326-337.
- Indrani Medhi, Aman Sagar, and Kentaro Toyama. 2006. Text-free user interfaces for illiterate and semi-literate users. In 2006 International Conference on Information and Communication Technologies and Development. IEEE, 72-82.
- Orni Meerbaum-Salant, Michal Armoni, and Mordechai Ben-Ari. 2011. Habits of programming in scratch. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education. ACM, 168-172.
- Orni Meerbaum-Salant, Michal Armoni, and Mordechai Ben-Ari. 2013. Learning computer science concepts with Scratch. Computer Science Education 23, 3 (2013), 239-264.
- Marvin Minsky. 1986. Introduction to LogoWorks. (1986).
- Seymour Papert. 1980. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc.
- Seymour Papert. 1986. Seymour Papert: On Logo. (1986). [Video series].
- Roy D Pea and Karen Sheingold. 1987. Mirrors of minds: Patterns of experience in educational computing. ERIC.
- Arnold Pears, Stephen Seidman, Lauri Malmi, Linda Mannila, Elizabeth Adams, Jens Bennedsen, Marie Devlin, and James Paterson. 2007. A survey of literature on the teaching of introductory programming. ACM SIGCSE Bulletin 39, 4 (2007), 204-223.
- Gordon D Plotkin. 1981. A structural approach to operational semantics. (1981).
- Cyndi Rader, Cathy Brand, and Clayton Lewis. 1997. Degrees of comprehension: children's understanding of a visual programming In Proceedings of the ACM SIGCHI Conference on Human factors in computing systems. ACM, 351-358.
- Vennila Ramalingam, Deborah LaBelle, and Susan Wiedenbeck. 2004. Self-efficacy and mental models in learning to program. In ACM SIGCSE Bulletin, Vol. 36. ACM, 171-175.
- C Reigeluth and R Stein. 1983. Elaboration theory. Instructional-design theories and models: An overview of their current status (1983), 335-381.
- Mitchel Resnick. 2007. All I really need to know (about creative thinking) I learned (by studying how children learn) in kindergarten. In Proceedings of the 6th ACM SIGCHI conference on Creativity & cognition. ACM, 1-6.
- Mitchel Resnick, John Maloney, Andrés Monroy-Hernández, Natalie Rusk, Evelyn Eastmond, Karen Brennan, Amon Millner, Eric Rosenbaum, Jay Silver, Brian Silverman, and others. 2009. Scratch: programming for all. Commun. ACM 52, 11 (2009), 60-67.
- Hong Kian Sam, Abang Ekhsan Abang Othman, and Zaimuarifuddin Shukri Nordin. 2005. Computer self-efficacy, computer anxiety, and attitudes toward the Internet: A study among undergraduates in Unimas. Educational Technology & Society 8, 4 (2005), 205-219.
- Katharina Scheiter, Peter Gerjets, and Julia Schuh. 2010. The acquisition of problem-solving skills in mathematics: How animations can aid understanding of structural problem features and solution procedures. Instructional Science 38, 5 (2010), 487-502.
- James C Spohrer and Elliot Soloway. 1986. Novice mistakes: Are the folk wisdoms correct? Commun. ACM 29, 7 (1986), 624-632.
- Nikolai Tillmann, Jonathan De Halleux, Tao Xie, Sumit Gulwani, and Judith Bishop. 2013. Teaching and learning programming and software engineering via interactive gaming. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 1117-1126.
- Ingo J Timm, Tjorben Bogon, Andreas D Lattner, and René Schumann. 2008. Teaching distributed artificial intelligence with RoboRally. In Multiagent System Technologies. Springer, 171-182.
- Tomorrow Corporation. 2015. Human Resource Machine. PC Game. (2015).
- Jeroen JG Van Merriënboer. 1990. Strategies for programming instruction in high school: Program completion vs. program generation. Journal of educational computing research 6, 3 (1990), 265-285.
- We Want To Know. 2013. DragonBox. PC Game. (2013).
- Wizards of the Coast. 1995. RoboRally. Board Game. (1995).
- Sharon Zhou, Ivy J Livingston, Mark Schiefsky, Stuart M Shieber, and Krzysztof Z Gajos. 2016. Ingenium: Engaging Novice Students with Latin Grammar. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems. ACM, 944-956.