Benefits Main | Advantages of Learning CS | Relevant Research | What to Teach | Success Stories

Relevant Research

While they are somewhat few and far-between, studies by various universities and research organizations have confirmed the positive effects of early programming instruction and revealed effective teaching methods for lesson plans at this level. Below is a sampling of these studies from researchers in computer science, psychology, education, and other fields. Although they only scratch the surface of the body of research about teaching computer science to younger students, they show some important results in the fields and provide strong reference points for those seeking a research-grounded basis for their curriculum design.

Clements, Douglas and Julie Meredith. "Research on Logo: Effects and Efficacy." <http://el.media.mit.edu/logo-foundation/pubs/papers/research_logo.html>.

This article describes empirical and anecdotal research indicating the effectiveness of Logo for teaching various skills in the elementary and middle school classroom. The author cites studies indicating that Logo has helped students learn geometry and that it also helps build a "conceptual framework" for beginning algebra. Additionally, group programming activities are shown to help students develop social skills, forcing them to communicate their ideas with one another while writing a program. This type of study begins to indicate the types of skills that can be gained by teaching programming in elementary and middle school; clearly, early exposure to programming not only supports later computer science curricula, but also mathematics education and even the development of communication skills.

Guzdial, Mark. "Programming Environments for Novices." Computer Science Education Research. Ed. Sally Fincher and Marian Petre. London: RoutledgeFalmer, 2004

This study, presented as part of a larger text on computer science education, presents a comparison of common programming environments for beginners. It provides a systematic exploration of different classes of "beginners'" programming languages designed to introduce readers to programming without complicated syntax or structures. As with most similar studies, this paper starts by examining the Logo programming language. The study then systematically examines more sophisticated descendants of logo, including LogoWriter and MOOSE Crossing, which allow programmers to create more varied programs without the original logo turtle. Other languages and programming environments discussed include Smalltalk, Prolog, and Stagecast. Of key importance to Guzdial's study is the question of "what makes programming hard" (140). For instance, rule-based programming environments assume the difficulty in programming comes from the "kind of programming" and seek to change the metaphor from imperative/procedural programming to something more natural; on the other hand, graphical environments like ToonTalk and Stagecast assume the difficulty in programming is the interface and address that problem directly. In general, Guzdial predicts that beginning programming tools in the future will have the following properties (150-151):

  • Traditional/easy-to-read syntax: While natural syntax may be more verbose and difficult to parse, it is easier to understand by programming novices who are used to regular language rather than rigid constructs.
  • Relevance/applicability: Students desire to do more than move the Logo turtle; new introductory programming tools make it possible to write games and simulations to keep students' interest and convince them that programming is a useful art.
  • Immediate feedback: Students would rather not "deal with subtle shades of correctness" but prefer the immediate gratification provided by graphics environments and other software offering faster feedback.

This study begins to suggest the future of programming tools that are likely to appeal to a younger audience. The design of such tools requires a unique combination of psychological, educational, and technical insight that is still being explored as an active area of research.

Mauch, Elizabeth. "Using Technological Innovation to Improve the Problem-Solving Skills of Middle School Students: Educators' Experiences with the LEGO Mindstorms Robotic Invention System." Clearing House 74.4 (2001): 211-214.

As with several other research articles examining the use of computer programming in the classroom, this study indicates that programming and building robots using the LEGO Mindstorms system supports instruction in problem solving. Perhaps more interesting, however, the study describes how teachers went about designing an appropriate Mindstorms curriculum for middle school. By first testing curriculum ideas during a week-long summer camp, the teachers were able to refine their teaching techniques before presenting them to a larger audience in the middle school classroom.

These sorts of studies will be required to design an effective and usable curriculum for an introduction to computer science for elementary and middle school students. While there certainly is room for theorizing about the most effective teaching methods at this level, the ultimate judge of how effective a curriculum is comes from the students themselves.

Milojkovic, James Dusko. "Children Learning Computer Programming: Cognitive and Motivational Consequences." Diss. Stanford University Department of Psychology, 1983.

In this study, three ten-week courses were taught to different classes of fifth-grade students in BASIC, Logo, and Computer-Aided Learning (CAL) software; a fourth group was not explosed to computers during the same period. This study found that learning to program had little "immediate cognitive benefits" for students (ie it did not raise their scores on some standard exams) but that it did have effects in the "motivational domain" (64).

This study indicates that significant research is still needed to find out exactly which skills are best supported and taught by introducing programming. Programming in Logo or BASIC had little effect on students' overall intelligence scores, indicating that there clearly is still room for more traditional classroom instruction techniques. At the same time, programming encouraged students to explore technical fields; combined with the fact that it supports other aspects of the elementary school curriculum (see the article by Clements and Meredith), this might be motivation enough to teach programming in the classroom.

Sivilotti, Paolo and Murat Demirbas. "Introducing Middle School Girls to Fault Tolerant Computing." Proceedings of the 34th SIGCSE Technical Symposium on Computer Science Education (2003): 327-331.

In this study, researchers from Ohio State University taught a week-long introduction to fault-tolerant computing for middle school girls. By the end of the study, participants even were able to "[act] out an implementation of Dijkstra's self-stabilizing token ring algorithm" (327), using metaphors from cooking and other areas of experience to guide their learning. Even after exploring flashier activities and demonstrations in engineering, the participants indicated on a survey about their summer experience that the fault tolerant computing course was the one in which they "learned the most about engineering" (331). The study indicates that one way to pique girls' and boys' interest in computing disciplines would be to start earlier than the high school level; thus, one advantage of starting computer science education earlier is that it is more likely to pique interest in groups of students who statistically are less likely to pursue computer science education later on.

Early Acquisition of Computer Science · ©2008 Justin Solomon and Peter Rusev