Towards a taxonomy of errors in HTML and CSS

As part of a larger research agenda to explore web development as a context for learning computational literacy skills, we investigate errors people make while writing code in HTML and CSS. We report on a lab-based study in which 20 participants were video recorded as they completed coding tasks. We have applied the skills-rules-knowledge framework to segment this data by the cognitive causes of errors they made, and present a taxonomy of these errors. Our findings demonstrate how the skills-rules-framework can be used to analyze coding errors, provide insight about the origins of these errors, and suggest ways that the design of web development tools can be improved to support learning and practice with HTML and CSS.

[1]  James Reason,et al.  Human Error , 1990 .

[2]  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.

[3]  J. Gosby MEDIA REVIEWS: Basics of Qualitative Research - Techniques and Procedures for Developing Grounded Theory 2nd Edition by A. Strauss and J. Corbin. Sage Publications, , 2000 .

[4]  Alan F. Blackwell,et al.  First steps in programming: a rationale for attention investment models , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[5]  Sébastien Paquet,et al.  Are wikis usable? , 2005, Int. Sym. Wikis.

[6]  Raymond R. Panko,et al.  What we know about spreadsheet errors , 1998 .

[7]  Philip J. Guo,et al.  Two studies of opportunistic programming: interleaving web foraging, learning, and writing code , 2009, CHI.

[8]  Mark Guzdial,et al.  Learning on the job: characterizing the programming knowledge and learning strategies of web designers , 2010, CHI.

[9]  Jens Rasmussen,et al.  Skills, rules, and knowledge; signals, signs, and symbols, and other distinctions in human performance models , 1983, IEEE Transactions on Systems, Man, and Cybernetics.

[10]  Susan Wiedenbeck,et al.  Learning web development: challenges at an earlier stage of computing education , 2011, ICER.

[11]  J. C. Spohrer,et al.  Alternatives to construct-based programming misconceptions , 1986, CHI '86.

[12]  Jacob O. Wobbrock,et al.  Cleanroom: Edit-Time Error Detection with the Uniqueness Heuristic , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[13]  Mary Beth Rosson,et al.  Everyday Programming: Challenges and Opportunities for Informal Web Development , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[14]  W. Buxton Human-Computer Interaction , 1988, Springer Berlin Heidelberg.

[15]  Brad A. Myers,et al.  A framework and methodology for studying the causes of software errors in programming systems , 2005, J. Vis. Lang. Comput..

[16]  N. Hoffart Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory , 2000 .

[17]  Ankur Saxena,et al.  OpenHTML: designing a transitional web editor for novices , 2013, CHI Extended Abstracts.

[18]  Ljubomir Perkovic,et al.  File references, trees, and computational thinking , 2010, ITiCSE '10.

[19]  John R. Anderson,et al.  Novice LISP Errors: Undetected Losses of Information from Working Memory , 1985, Hum. Comput. Interact..

[20]  Edward A. Youngs Human Errors in Programming , 1974, Int. J. Man Mach. Stud..