Comparing Textual and Block Interfaces in a Novice Programming Environment

Visual, block-based programming environments present an alternative way of teaching programming to novices and have proven successful in classrooms and informal learning settings. However, few studies have been able to attribute this success to specific features of the environment. In this study, we isolate the most fundamental feature of these environments, the block interface, and compare it directly to its textual counterpart. We present analysis from a study of two groups of novice programmers, one assigned to each interface, as they completed a simple programming activity. We found that while the interface did not seem to affect users' attitudes or perceived difficulty, students using the block interface spent less time off task and completed more of the activity's goals in less time.

[1]  Barbara M. Moskal,et al.  Evaluating the effectiveness of a new instructional approach , 2004 .

[2]  Mitchel Resnick,et al.  Programming by choice: urban youth learning programming with scratch , 2008, SIGCSE '08.

[3]  Y. Benjamini,et al.  Controlling the false discovery rate: a practical and powerful approach to multiple testing , 1995 .

[4]  Simone Stumpf,et al.  End-User Experiences of Visual and Textual Programming Environments for Arduino , 2013, IS-EUD.

[5]  Gregory John Michaelson,et al.  "Understanding Java Dynamic Thread Behaviour", in U. O'Reilly (Ed), Proceedings of 3rd Annual Conference of the LTSN Centre for Computer and Information Science , 2002 .

[6]  Steve Cooper,et al.  Mediated transfer: Alice 3 to Java , 2012, SIGCSE '12.

[7]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[8]  Colleen M. Lewis How programming environment shapes perception, learning and goals: logo vs. scratch , 2010, SIGCSE.

[9]  Marian Petre,et al.  When Visual Programs are Harder to Read than Textual Programs , 1992 .

[10]  Daniel D. Garcia,et al.  CS principles pilot at University of California, Berkeley , 2012, INROADS.

[11]  Michael Homer,et al.  Combining Tiled and Textual Views of Code , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[12]  John Maloney,et al.  Alice, Greenfoot, and Scratch -- A Discussion , 2010, TOCE.

[13]  Michael Kölling,et al.  Predictive modelling for HCI problems in novice program editors , 2013, BCS HCI.

[14]  Randy F. Pausch,et al.  Teaching objects-first in introductory computer science , 2003, SIGCSE.

[15]  Caitlin Kelleher,et al.  Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers , 2005, CSUR.

[16]  Marian Petre,et al.  Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework , 1996, J. Vis. Lang. Comput..

[17]  Brian Harvey,et al.  Bringing "No Ceiling" to Scratch: Can One Language Serve Kids and Computer Scientists? , 2010 .

[18]  Jeffrey G. Gray,et al.  Using app inventor in a K-12 summer camp , 2013, SIGCSE '13.

[19]  Kirsten N. Whitley Visual Programming Languages and the Empirical Evidence For and Against , 1997, J. Vis. Lang. Comput..

[20]  Caitlin Kelleher,et al.  Storytelling alice motivates middle school girls to learn computer programming , 2007, CHI.

[21]  Brian Harvey The Beauty and Joy of Computing: Computer Science for Everyone , 2012 .

[22]  D.C. Cliburn,et al.  Experiences with the LEGO Mindstorms throughout the Undergraduate Computer Science Curriculum , 2006, Proceedings. Frontiers in Education. 36th Annual Conference.

[23]  Tiffany Barnes,et al.  Use and development of entertainment technologies in after school STEM program , 2014, SIGCSE.

[24]  Benedict du Boulay Programming Environments for Novices , 1992, Intelligent Tutoring Systems.

[25]  Michael Kölling Greenfoot: a highly graphical ide for learning object-oriented programming , 2008, ITiCSE.

[26]  Ralph Morelli,et al.  Can Android App Inventor Bring Computational Thinking to K-12 ? , 2010 .

[27]  M. Guzdial Programming Environments for Novices , 1997 .

[28]  Shaileen Crawford Pokress,et al.  MIT App Inventor: Enabling Personal Mobile Computing , 2013, ArXiv.

[29]  Mitchel Resnick,et al.  LogoBlocks: A Graphical Programming Language for Interacting with the World , 2000 .

[30]  Yasmin B. Kafai,et al.  What Videogame Making Can Teach Us About Literacy and Learning: Alternative Pathways into Participatory Culture , 2007, DiGRA Conference.

[31]  Mordechai Ben-Ari,et al.  Learning computer science concepts with scratch , 2010, ICER '10.