skip to main content
research-article

An Analysis of HTML and CSS Syntax Errors in a Web Development Course

Published:04 March 2015Publication History
Skip Abstract Section

Abstract

Many people are first exposed to code through web development, yet little is known about the barriers beginners face in these formative experiences. In this article, we describe a study of undergraduate students enrolled in an introductory web development course taken by both computing majors and general education students. Using data collected during the initial weeks of the course, we investigate the nature of the syntax errors they make when learning HTML and CSS, and how they resolve them. This is accomplished through the deployment of openHTML, a lightweight web-based code editor that logs user activity. Our analysis reveals that nearly all students made syntax errors that remained unresolved in their assessments, and that these errors continued weeks into the course. Approximately 20% of these errors related to the relatively complex system of rules that dictates when it is valid for HTML elements to be nested in one another. On the other hand, 35% of errors related to the relatively simple tag syntax determining how HTML elements are nested. We also find that validation played a key role in resolving errors: While the majority of unresolved errors were present in untested code, nearly all of the errors that were detected through validation were eventually corrected. We conclude with a discussion of our findings and their implications for computing education.

References

  1. A. Biemiller. 1977. Relationships between oral reading rates for letters, words, and simple text in the development of reading achievement. Read. Res. Q. 13, 2 (1977), 223--253.Google ScholarGoogle ScholarCross RefCross Ref
  2. A. F. Blackwell. 2002. First steps in programming: A rationale for attention investment models. In Proceedings of the IEEE Symposia on Human-Centric Computing Languages and Environments. 2--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Brandt, P. J. Guo, J. Lewenstein, M. Dontcheva, and S. R. Klemmer. 2009. Two studies of opportunistic programming: Interleaving web foraging, learning, and writing code. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 1589--1598. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. K. Brennan and M. Resnick. 2012. New frameworks for studying and assessing the development of computational thinking. In Proceedings of the Annual Meeting of the American Educational Research Association. 1--25.Google ScholarGoogle Scholar
  5. P. Chandler and J. Sweller. 1996. Cognitive load while learning to use a computer program. Appl. Cognitive Psych. 10, 151--170.Google ScholarGoogle ScholarCross RefCross Ref
  6. R. Connolly. 2011. Awakening Rip Van Winkle: Modernizing the computer science web curriculum. In Proceedings of the Annual Conference on Innovation and Technology in Computer Science Education. 18--22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. C. L. Corritore and S. Wiedenbeck. 1991. What do novices learn during program comprehension? Int. J. Hum.-Comput. Int. 3, 2 (1991), 199--222.Google ScholarGoogle ScholarCross RefCross Ref
  8. A. Désilets, S. Paquet, and N. G. Vinson. 2005. Are wikis usable? In WikiSym. 3--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Dorn and M. Guzdial. 2010a. Learning on the job: Characterizing the programming knowledge and learning strategies of web designers. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 703--712. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. B. Dorn and M. Guzdial. 2010b. Discovering computing: Perspectives of web designers. In Proceedings of the International Computing Education Research Workshop. 23--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. B. Du Boulay. 1986. Some difficulties of learning to program. J Educ. Comput. Res. 2, 1 (1986), 57--73.Google ScholarGoogle ScholarCross RefCross Ref
  12. T. Felke-Morris. 2011. Basics of Web Design: HTML5 and CSS3. Addison-Wesley, Boston, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Fincher, J. Tenenberg, and A. Robins. 2011. Research design: Necessary bricolage. In Proceedings of the International Computing Education Research Workshop. 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. B. Hartmann, D. MacDougall, J. Brandt, and S. R. Klemmer. 2010. What would other programmers do? Suggesting solutions to error messages. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 1019--1028. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. C. Jadud. 2006. Methods and tools for exploring novice compilation behaviour. In Proceedings of the International Computing Education Research Workshop. 73--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Klassner. 2000. Can web development courses avoid obsolescence? In Proceedings of the Annual Conference on Innovation and Technology in Computer Science Education. 77--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. B. B. L. Lim. 1998. Teaching web development technologies in CI/IS curricula. In Proceedings of the ACM Technical Symposium on Computer Science Education. 107--111. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Mercuri, N. Herrmann, and J. Popyack. 1998. Using HTML and JavaScript in introductory programming courses. In Proceedings of the SIGCSE Technical Symposium on Computer Science Education. 176--180. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. S. Miller, L. Perkovic, and A. Settle. 2010. File references, trees, and computational thinking. In Proceedings of the Annual Conference on Innovation and Technology in Computer Science Education. 132--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Nienaltowski, M. Pedroni, and B. Meyer. 2007. Compiler error messages: What can help novices? In Proceedings of the SIGCSE Technical Symposium on Computer Science Education. 168--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Papert and I. Harel. 1991. Situating Constructionism. In Constructionism. S. Papert and I. Harel (Eds.). Ablex Publishing Corporation, 1--13.Google ScholarGoogle Scholar
  22. T. H. Park and S. Wiedenbeck. 2011. Learning web development: Challenges at an earlier stage of computing education. In Proceedings of the International Computing Education Research Workshop. 125--132. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. T. H. Park, R. M. Magee, S. Wiedenbeck, and A. Forte. 2013a. Children as webmakers: Designing a web editor for beginners. In Proceedings of the Conference on Interaction Design and Children. 419--422. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. T. H. Park, A. Saxena, S. Jagannath, S. Wiedenbeck, and A. Forte. 2013b. Towards a taxonomy of errors in HTML and CSS. In Proceedings of the International Computing Education Research Workshop. 75--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. R. D. Pea, E. Soloway, and J. C. Spohrer. 1987. The buggy path to the development of programming expertise. Focus on Learning Problems in Mathematics 9, 1 (1987), 5--30.Google ScholarGoogle Scholar
  26. J. Rasmussen. 1983. Skills, rules, and knowledge; Signals, signs, and symbols, and other distinctions in human performance models. IEEE Trans. Syst., Man, Cybern. 13, 3 (1983), 257--266.Google ScholarGoogle ScholarCross RefCross Ref
  27. D. Reed. 2001. Rethinking CS0 with JavaScript. In Proceedings of the SIGCSE Technical Symposium on Computer Science Education. 100--104. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. B. Rosson, J. F. Ballin, and H. Nash. 2004. Everyday programming: Challenges and opportunities for informal web development. In Proceedings of the Symposium on Visual Languages and Human-Centric Computing. 123--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. M. B. Rosson, J. F. Ballin, and J. Rode. 2005. Who, what, and how: A survey of informal and professional web developers. In Proceedings of the Symposium on Visual Languages and Human-Centric Computing. 199--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. C. Spohrer and E. Soloway. 1986. Novice mistakes: Are the folk wisdoms correct? Commun. ACM 29, 7 (1986), 624--632. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. K. Sridharan. 2004. A course on web languages and web-based applications. IEEE Trans. Educ. 47, 2 (2004), 254--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. A. Stefik and S. Siebert. 2013. An empirical investigation into programming language syntax. ACM Trans. Comput. Educ. 13, 4 (2013), 1--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. K. Treu. 2002. To teach the unteachable class: An experimental course in web-based application design. In Proceedings of the SIGCSE Technical Symposium on Computer Science Education. 201--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. E. L. Walker and L. Browne. 1999. Teaching web development with limited resources. In Proceedings of the SIGCSE Technical Symposium on Computer Science Education. 12--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Y. D. Wang and N. Zahadat. 2009. Teaching web development in the Web 2.0 era. In Proceedings of the ACM Special Interest Group for Information Technology Education. 80--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. C. Watson, F. W. B. Li, and J. L. Godwin. 2014. No tests required: Comparing traditional and dynamic predictors of programming success. In Proceedings of the ACM Technical Symposium on Computer Science Education. ACM, New York, New York, 469--474. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. S. Wiedenbeck. 2005. Factors affecting the success of non-majors in learning to program. In Proceedings of the International Computing Education Research Workshop. 13--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. World Wide Web Consortium. 2014. Why Validate? Retrieved from http://validator.w3.org/docs/why.html.Google ScholarGoogle Scholar

Index Terms

  1. An Analysis of HTML and CSS Syntax Errors in a Web Development Course
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Computing Education
      ACM Transactions on Computing Education  Volume 15, Issue 1
      Special Issue on Web Development
      March 2015
      65 pages
      EISSN:1946-6226
      DOI:10.1145/2742853
      Issue’s Table of Contents

      Copyright © 2015 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 4 March 2015
      • Revised: 1 November 2014
      • Accepted: 1 November 2014
      • Received: 1 September 2013
      Published in toce Volume 15, Issue 1

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader