Heuristic Evaluation for Novice Programming Systems

The past few years has seen a proliferation of novice programming tools. The availability of a large number of systems has made it difficult for many users to choose among them. Even for education researchers, comparing the relative quality of these tools, or judging their respective suitability for a given context, is hard in many instances. For designers of such systems, assessing the respective quality of competing design decisions can be equally difficult. Heuristic evaluation provides a practical method of assessing the quality of alternatives in these situations and of identifying potential problems with existing systems for a given target group or context. Existing sets of heuristics, however, are not specific to the domain of novice programming and thus do not evaluate all aspects of interest to us in this specialised application domain. In this article, we propose a set of heuristics to be used in heuristic evaluations of novice programming systems. These heuristics have the potential to allow a useful assessment of the quality of a given system with lower cost than full formal user studies and greater precision than the use of existing sets of heuristics. The heuristics are described and discussed in detail. We present an evaluation of the effectiveness of the heuristics that suggests that the new set of heuristics provides additional useful information to designers not obtained with existing heuristics sets.

[1]  Caitlin Kelleher,et al.  Using storytelling to motivate programming , 2007, CACM.

[2]  Jakob Nielsen,et al.  How to Conduct a Heuristic Evaluation , 2006 .

[3]  Kathi Fisler,et al.  Measuring the effectiveness of error messages designed for novice programmers , 2011, SIGCSE.

[4]  Robert Cartwright,et al.  DrJava: a lightweight pedagogic environment for Java , 2002, SIGCSE '02.

[5]  Lynda Thomas,et al.  Identifying novice difficulties in object oriented design , 2006, ITICSE '06.

[6]  Fraser McKay,et al.  A prototype structured but low-viscosity editor for novice programmers , 2012, BCS HCI.

[7]  Dean Sanders,et al.  Jeroo: a tool for introducing object-oriented programming , 2003, SIGCSE.

[8]  Thomas R. G. Green,et al.  Cognitive dimensions of notations , 1990 .

[9]  Christopher D. Hundhausen,et al.  An experimental study of the impact of visual semantic feedback on novice programming , 2007, J. Vis. Lang. Comput..

[10]  Robert C. Williges,et al.  Criteria For Evaluating Usability Evaluation Methods , 2001, Int. J. Hum. Comput. Interact..

[11]  KöllingMichael,et al.  Heuristic Evaluation for Novice Programming Systems , 2016 .

[12]  Wolmet Barendregt,et al.  A comparison of two analytical evaluation methods for educational computer games for young children , 2007, Cognition, Technology & Work.

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

[14]  Mark Toleman,et al.  Language trends in introductory programming courses , 2002 .

[15]  Benjamin E. Birnbaum,et al.  Achieving flexibility in direct-manipulation programming environments by relaxing the edit-time grammar , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[16]  S. Turkle,et al.  Epistemological Pluralism and the Revaluation of the Concrete. , 1992 .

[17]  Alan F. Blackwell,et al.  Metacognitive theories of visual programming: what do we think we are doing? , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[18]  Ben Shneiderman,et al.  Program indentation and comprehensibility , 1983, CACM.

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

[20]  Robert M. Siegfried Visual programming and the blind: the challenge and the opportunity , 2006, SIGCSE '06.

[21]  Matthew C. Jadud,et al.  Methods and tools for exploring novice compilation behaviour , 2006, ICER '06.

[22]  Mark H. Overmars,et al.  Teaching computer science through game design , 2004, Computer.

[23]  Kate Sanders,et al.  Checklists for grading object-oriented CS1 programs: concepts and misconceptions , 2007, ITiCSE.

[24]  PauschRandy,et al.  Teaching objects-first in introductory computer science , 2003 .

[25]  Gerald M. Weinberg,et al.  Psychology of computer programming , 1971 .

[26]  Westby,et al.  Turbo Pascal With Turtle Graphics , 1990 .

[27]  Jakob Nielsen,et al.  Ten Usability Heuristics , 2006 .

[28]  Brad A. Myers,et al.  Design requirements for more flexible structured editors from a study of programmers' text editing , 2005, CHI Extended Abstracts.

[29]  Lynda Thomas,et al.  Code warriors and code-a-phobes: a study in attitude and pair programming , 2003 .

[30]  Jakob Nielsen,et al.  Heuristic evaluation of user interfaces , 1990, CHI '90.

[31]  Andrew Begel,et al.  StarLogo: A Programmable Complex Systems Modeling Environment for Students and Teachers , 2005 .

[32]  Thomas W. Malone,et al.  What makes things fun to learn? heuristics for designing instructional computer games , 1980, SIGSMALL '80.

[33]  Mordechai Ben-aft,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

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

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

[36]  Mikkel Rønne Jakobsen,et al.  Evaluating a fisheye view of source code , 2006, CHI.

[37]  Dominique L. Scapin,et al.  Evaluating a user interface with ergonomic criteria , 1995, Int. J. Hum. Comput. Interact..

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

[39]  Brad A. Myers,et al.  Barista: An implementation framework for enabling new tools, interaction techniques and views in code editors , 2006, CHI.

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

[41]  Brad A. Myers,et al.  Six Learning Barriers in End-User Programming Systems , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[42]  Michael E. Caspersen,et al.  Here, there and everywhere - on the recurring use of turtle graphics in CS1 , 2000, ACSE '00.

[43]  Kim B. Bruce,et al.  Event-driven programming is simple enough for CS1 , 2001, ITiCSE '01.

[44]  Panagiotis Louridas,et al.  When students are not programmers , 2010, INROADS.

[45]  Gerard K. Rambally The influence of color on program readability and comprehensibility , 1986, SIGCSE.

[46]  Walter William Milner,et al.  A broken metaphor in Java , 2010, SGCS.

[47]  Colin Ware,et al.  Visual Thinking for Design , 2008 .

[48]  Richard E. Pattis,et al.  Karel the Robot: A Gentle Introduction to the Art of Programming , 1994 .

[49]  Ewan D. Tempero,et al.  Understanding the syntax barrier for novices , 2011, ITiCSE '11.

[50]  Michael Kölling,et al.  The design of an object-oriented environment and language for teaching , 1999 .

[51]  Brad A. Myers,et al.  Usability Issues in the Design of Novice Programming Systems , 1996 .

[52]  Matt MacLaurin,et al.  Kodu: end-user programming and design for games , 2009, FDG.

[53]  David Garlan,et al.  A programming system for children that is designed for usability , 2002 .

[54]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[55]  新郷 重夫,et al.  Zero quality control : source inspection and the poka-yoke system , 1986 .

[56]  Anthony Robins,et al.  Problem distributions in a CS1 course , 2006 .

[57]  Michael Kölling,et al.  The Greenfoot Programming Environment , 2010, TOCE.

[58]  Yasmin B. Kafai,et al.  Programming & storytelling: opportunities for learning about coding & composition , 2010, IDC.

[59]  Carsten Schulte,et al.  What do teachers teach in introductory programming? , 2006, ICER '06.

[60]  Alan Cooper,et al.  About Face 3: the essentials of interaction design , 1995 .

[61]  Andrew Sears,et al.  Heuristic Walkthroughs: Finding the Problems Without the Noise , 1997, Int. J. Hum. Comput. Interact..

[62]  Shigeo Shingo,et al.  Zero Quality Control: Source Inspection and the Poka-Yoke System , 1986 .