ACM Home Page
Please provide us with feedback. Feedback
Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers
Full text PdfPdf (14.21 MB)
Source ACM Computing Surveys (CSUR) archive
Volume 37 ,  Issue 2  (June 2005) table of contents
Pages: 83 - 137  
Year of Publication: 2005
ISSN:0360-0300
Authors
Caitlin Kelleher  Carnegie Mellon University, Pittsburgh, PA
Randy Pausch  Carnegie Mellon University, Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 71,   Downloads (12 Months): 597,   Citation Count: 37
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1089733.1089734
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Atkinson, B. 1987. Hypercard. Apple Computer.
 
2
Becker, B. 2004. Robots: Learning to Program with Java. Self-published. Waterloo.
 
3
Begel, A. 1997. Bongo: A kids' programming environment for creating video games on the Web. Electrical Engineering and Computer Science Department, MIT, Cambridge, MA.
 
4
Begel, A. 1996. LogoBlocks: A graphical programming language for interacting with the world. Electrical Engineering and Computer Science Department. MIT, Cambridge, MA.
 
5
Bell, B. and Lewis, C. 1993. ChemTrains: A language for creating behaving pictures. In IEEE Symposium on Visual Languages, 188--195.
 
6
 
7
 
8
9
 
10
Bruckman, A. 1997. MOOSE crossing: Construction, community, and learning in a networked virtual world for kids. MIT Media Lab, Cambridge, MA.
 
11
Brusilovsky, P. 1991. Turingal---the language for teaching the principles of programming. In the 3rd European Logo Conference, Parma, Italy. 423--432.
 
12
 
13
Budge, B. 1983. Pinball Construction Set, Exidy Software.
 
14
 
15
Carnegie Mellon University. 2003. Alice 2. Available at www.alice.org.
 
16
Carnegie Mellon University. 1999. Alice 99. Available at www.alice.org.
 
17
Catlin, D. 1989. Roamer. Valiant Technologies. Available at www.valiant-technology.com.
 
18
Cheng, A. 1998. A graphical programming interface for a children's constructionist learning environment. Electrical Engineering and Computer Science Department. MIT, Cambridge, MA.
 
19
 
20
Cockburn, A. and Bryant, A. 1997. Leogo: An equal opportunity user interface for programming. J. Visual Lang. Comput. 8, 5-6, 601--619.
 
21
Cognitoy. 2001. Mindrover.
 
22
Conway, M. 1997. Alice: Easy-to-learn 3D scripting for novices. School of Engineering and Applied Science, University of Virginia, Charlottesville, VA.
 
23
 
24
Debonte, A. 1998. Pet Park: A virtual learning world for kids. Electrical Engineering and Computer Science Department. MIT, Cambridge, MA.
 
25
 
26
Dijkstra, E. W. 1969. Structured programming. In Proceedings of Software Engineering Technologies, Rome, Italy.
27
 
28
Edmark Corporation. 1995. Thinkin' Things Collection 3: Half Time.
29
30
 
31
Finzer, W. and Gould, L. 1984. Programming by rehearsal. Xerox Palo Alto Research Center, Palo Alto, CA.
32
 
33
Gilligan, D. 1998. An exploration of programming by demonstration in the domain of novice programming. Comput. Science. Victoria University, Wellington, Victoria, 176.
 
34
 
35
 
36
 
37
Guzdial, M. 1994. Software-realized scaffolding to facilitate programming for science learning. Interact. Learn. Environ. 4, 1, 1--44.
 
38
Hancock, C. 2001. Children's understanding of process in the construction of robot behaviors. In Symposium on Varieties of Programming Experiences, Seattle, WA.
 
39
 
40
Hays, J. and Burnett, M. 2001. Guided tour of Forms/3. Available at http://web.engr.oregonst-ate.edu/~burnett/Forms3/Tour/tour.html.
 
41
42
43
 
44
 
45
Ingalls, D., Wallace, S., Chow, Y.-Y., Ludolph, F., and Doyle, K. 1988. Fabrik: A visual programming environment. In Object Oriented Programming Systems, Languages, and Applications, San Diego, CA. 176--190.
 
46
Kahn, K. 1996. Drawings on napkins, video-game animation, and other ways to program computers. Commun. ACM 43, 3, 104--106.
 
47
48
 
49
Kay, A. Etoys and simstories in squeak. Available at http://www.squeakland.org/author/etoys.html.
 
50
Kimura, T., Choi, J., and Mack, J. 1990. Show and tell: A visual programming language. In Glinert, E. P., Ed. Visual Programming Environments: Paradigms and Systems. IEEE Computer Science Press, 397--404.
 
51
Kolling, M., Quig, B., Patterson, A., and Rosenberg, J. 2003. The BlueJ system and its pedagogy. J. Comput. Science Educ., Special Issue of Learning and Teaching Object Technology 12, 4, 249--268.
52
53
 
54
Kurtz, T. 1981. BASIC. In Wexelblat, R., Ed. History of Programming Languages. Academic Press, New York, 515--537.
 
55
Lego Systems, Inc. 1998. Lego Mindstorms Robotics Invention System. Available at http://mindstorms.lego.com.
 
56
 
57
Lionet, F. and Lamoureux, Y. 1994. Klik and Play. Maxis.
 
58
Logo Computer Systems, Inc. 1995. My Make Believe Castle.
 
59
Logo Computer Systems, Inc. 1995. Availablle at www.microworlds.com.
 
60
Logotron. 2002. Magic Forest.
 
61
Martin, F., Colobong, G. L., and Resnick, M. 1999. Tangible programming with trains. Available at http://el.www.media.mit.edu/projects/trains.
 
62
Maxis. 1995. Widget Workshop.
 
63
Mciver, L. 1999. Grail: A zeroth programming language. In Conference in Computers in Education.
 
64
Mciver, L. 2001. Syntactic and semantic issues in introductory programming education. Comput. Science Softw. Eng., Monash University, Melbourne, Australia.
 
65
Mcnerney, T. 2000. Tangible programming bricks: An approach to making programming accessible to everyone. MIT Media Lab, Cambridge, MA.
 
66
Merrill, D. C. and Reiser, B. J. 1993. Scaffolding the acquisition of complex skills with reasoning-congruent learning environments. In Workshop in Graphical Representations, Reasoning, and Communication from the World Conference on Artificial Intelligence in Education. University of Edinburgh, 9--16.
 
67
Miller, P., Pane, J., Meter, G., and Vorthmann, S. 1994. Evolution of novice programming environments: The Structure Editors of Carnegie Mellon University. Interac. Learn. Environ. 4, 2, 140--158.
 
68
69
 
70
Motil, J. and Epstein, D. 1998. JJ: A language designed for beginners (less is more). Available at http://www.publicstaticvoidmain.com/JJ_A_Language_Designed_For_Begin-ners_LessIsMore.pdf.
 
71
 
72
Nelson, M. 2001. Robocode, IBM Advanced Technologies. Available at http://robocode.alphaworks.ibm.com/home/home.html.
 
73
Norman, D. 1986. Cognitive engineering. In Norman, D. and Draper, S., Eds. User Centered System Design: New Perspectives on Human-Computer Interaction. Lawrence Erlbaum Associates, Hillsdale, NJ.
 
74
Overmars, M. Drape: Drawing programming environment. Available at http://www.cs.uu.nl/people/markov/kids.
 
75
 
76
 
77
 
78
Perlman, R. 1976. Using computer technology to provide a creative learning environment for preschool children. Electrical Engineering and Computer Science, Department MIT, Cambridge, MA.
79
 
80
 
81
82
 
83
Robinett, W. 1979. Atari 2600 Basic Cartridge. Atari Co.
 
84
Robinett, W. and Grimm, L. 1982. Rocky's Boots/Robot Odyssey. The Learning Co.
 
85
Sammet, J. 1981. The early history of cobol. In Wexelblat, R. Ed. History of Programming Languages. Academic Press, New York, NY. 199--241.
 
86
Sellman, R. 1992. Gravitas: An object-oriented discovery learning environment for Newtonian gravitation. In Proceedings of the East-West Conference on Human-Computer Interaction. 31--41.
 
87
Sherwood, B. and Sherwood, J. 1988. The cT Language. Stipes Publishing Company, Champaigne, IL.
 
88
Sierra Games. 1993. The Incredible Machine.
 
89
90
 
91
Smith, R. 1987. Experiences with the alternate reality kit: An example of the tension between literalism and magic. In Human Factors in Computing Systems, 61--67.
 
92
 
93
Tanimoto, S. and Runyan, M. 1986. Play: An iconic programming system for children. In Chang, S. K., Ichikawa, T. and Ligomenides, P. A., Eds. Visual Languages. Plenum Publishing Corp. 191--205.
94
 
95
96
97
 
98

CITED BY  37

Collaborative Colleagues:
Caitlin Kelleher: colleagues
Randy Pausch: colleagues