Heuristic Evaluation for Novice Programming Systems

Michael Kölling, Fraser McKay

Research output: Contribution to journalArticlepeer-review

29 Citations (Scopus)


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.
Original languageEnglish
Number of pages32
JournalTransactions of Computing Education
Issue number3
Publication statusPublished - 1 Jun 2016


  • Heuristic evaluations
  • Computing education


Dive into the research topics of 'Heuristic Evaluation for Novice Programming Systems'. Together they form a unique fingerprint.

Cite this