Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers

Caitlin Kelleher, Randy Pausch

Research output: Contribution to journalReview articlepeer-review

662 Scopus citations

Abstract

Since the early 1960's, researchers have built a number of programming languages and environments with the intention of making programming accessible to a larger number of people. This article presents a taxonomy of languages and environments designed to make programming more accessible to novice programmers of all ages. The systems are organized by their primary goal, either to teach programming or to use programming to empower their users, and then, by each system's authors' approach, to making learning to program easier for novice programmers. The article explains all categories in the taxonomy, provides a brief description of the systems in each category, and suggests some avenues for future work in novice programming environments and languages.

Original languageEnglish
Pages (from-to)83-137
Number of pages55
JournalACM Computing Surveys
Volume37
Issue number2
DOIs
StatePublished - Jun 2005

Keywords

  • Computer Science education
  • Human-computer interaction
  • Learning
  • Literacy
  • Problem solving

Fingerprint

Dive into the research topics of 'Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers'. Together they form a unique fingerprint.

Cite this