To block or not to block, that is the question: students' perceptions of blocks-based programming

Blocks-based programming tools are becoming increasingly common in high-school introductory computer science classes. Such contexts are quite different than the younger audience and informal settings where these tools are more often used. This paper reports findings from a study looking at how high school students view blocks-based programming tools, what they identify as contributing to the perceived ease-of-use of such tools, and what they see as the most salient differences between blocks-based and text-based programming. Students report that numerous factors contribute to making blocks-based programming easy, including the natural language description of blocks, the drag-and-drop composition interaction, and the ease of browsing the language. Students also identify drawbacks to blocks-based programming compared to the conventional text-based approach, including a perceived lack of authenticity and being less powerful. These findings, along with the identified differences between blocks-based and text-based programming, contribute to our understanding of the suitability of using such tools in formal high school settings and can be used to inform the design of new, and revision of existing, introductory programming tools.

[1]  Wolfgang Slany,et al.  Pocket code: a scratch-like integrated development environment for your phone , 2014, SPLASH '14.

[2]  Bernard Lang,et al.  Programming Environments Based on Structured Editors: The MENTOR Experience, , 1980 .

[3]  Seymour Papert,et al.  Mindstorms: Children, Computers, and Powerful Ideas , 1981 .

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

[5]  Owen L. Astrachan,et al.  The CS principles project , 2012, INROADS.

[6]  S. Turkle,et al.  Epistemological Pluralism: Styles and Voices within the Computer Culture , 1990, Signs: Journal of Women in Culture and Society.

[7]  Michelle Hoda Wilkerson-Jerde,et al.  Restructuring Change, Interpreting Changes: The DeltaTick Modeling and Analysis Toolkit , 2010 .

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

[9]  Michael S. Horn,et al.  Frog pond: a codefirst learning environment on evolution and natural selection , 2014, IDC.

[10]  Timothy C. Bell,et al.  Should your 8-year-old learn coding? , 2014, WiPSCE.

[11]  Betsy James DiSalvo,et al.  Graphical Qualities of Educational Technology: Using Drag-and-Drop and Text-Based Programs for Introductory Computer Science , 2014, IEEE Computer Graphics and Applications.

[12]  Andrew Begel,et al.  StarLogo TNG: An Introduction to Game Development , 1996 .

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

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

[15]  John Maloney,et al.  The Scratch Programming Language and Environment , 2010, TOCE.

[16]  Randy Pausch,et al.  Alice: a 3-D tool for introductory programming concepts , 2000 .

[17]  Amy Bruckman,et al.  Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language , 1999, CHI '99.

[18]  Edwin Hutchins,et al.  How a Cockpit Remembers Its Speeds , 1995, Cogn. Sci..

[19]  David Weintrop,et al.  RoboBuilder: A Program-to-Play Constructionist Video Game , 2012 .

[20]  Yasmin B. Kafai,et al.  Programming in the wild: trends in youth computational participation in the online scratch community , 2014, WiPSCE.

[21]  David Weintrop,et al.  Robobuilder: a computational thinking game (abstract only) , 2013, SIGCSE '13.

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

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

[24]  Dennys Da Silva Reis,et al.  NOTAS HISTORIOGR%C3%81FICAS DOS POEMAS DE VICTOR HUGO TRADUZIDOS NO BRASIL , 2014 .

[25]  Ricarose Roque OpenBlocks : an extendable framework for graphical block programming systems , 2007 .

[26]  W. Feurzeig,et al.  Programming-languages as a conceptual framework for teaching mathematics , 1969, SCOU.

[27]  Philip Miller,et al.  Evolution of Novice Programming Environments: The Structure Editors of Carnegie Mellon University , 1994, Interact. Learn. Environ..

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

[29]  James D. Hollan,et al.  Distributed cognition: toward a new foundation for human-computer interaction research , 2000, TCHI.

[30]  William G. Griswold,et al.  CodeSpells: embodying the metaphor of wizardry for programming , 2013, ITiCSE '13.

[31]  Joanna Goode,et al.  Beyond curriculum: the exploring computer science program , 2012, INROADS.