Computer Science Department
School of Computer Science, Carnegie Mellon University


Lowering the Barriers to Programming:
A Survey of Programming Environments and Languages
for Novice Programmers

Caitlin Kelleher, Randy Pausch

May 2003 (Color)
CMU-CS-03-137.pdf (Color)

Keywords: Human-Computer Interaction, design, programming environments, programming languages, novice, Computer Science Education, learning

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 paper 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 the authors approach to making learning to program easier for novice programmers. The paper 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.

66 pages

Return to: SCS Technical Report Collection
School of Computer Science homepage

This page maintained by