An analysis of HTML and CSS syntax errors in a web development course

Thomas H. Park, Brian Dorn, Andrea Forte

Research output: Contribution to journalArticlepeer-review

14 Scopus citations

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 dictateswhenit 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 determininghowHTML 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.

Original languageEnglish (US)
Article number4
JournalACM Transactions on Computing Education
Volume15
Issue number1
DOIs
StatePublished - Mar 1 2015

Keywords

  • Code editors
  • Computational literacy
  • Web development

ASJC Scopus subject areas

  • Computer Science(all)
  • Education

Fingerprint

Dive into the research topics of 'An analysis of HTML and CSS syntax errors in a web development course'. Together they form a unique fingerprint.

Cite this