Scratch for budding computer scientists
David J. Malan,Henry Leitner +1 more
- 07 Mar 2007
- Vol. 39, Iss: 1, pp 223-227
TL;DR: It is found that, not only did Scratch excite students at a critical time (i.e.,, their first foray into computer science), it also familiarized the inexperienced among th with fundamentals of programming without the distraction of syntax.
read more
Abstract: Scratch is a "media-rich programming environment" recently developed by MIT's Media Lab that "lets you create your own animations, games, and interactive art." Although Scratch is intended to "enhance the development of technological fluency [among youths] at after-school centers in economically disadvantaged communities," we find rarkable potential in this programming environment for higher education as well.We propose Scratch as a first language for first-time programmers in introductory courses, for majors and non-majors alike. Scratch allows students to program with a mouse: programmatic constructs are represented as puzzle pieces that only fit together if "syntactically" appropriate. We argue that this environment allows students not only to master programmatic constructs before syntax but also to focus on probls of logic before syntax. We view Scratch as a gateway to languages like Java.To validate our proposal, we recently deployed Scratch for the first time in higher education via harvard Summer School's Computer Science S-1: Great Ideas in Computer Science, the summertime version of a course at harvard College. Our goal was not to improve scores but instead to improve first-time programmers' experiences. We ultimately transitioned to Java, but we first introduced programming itself via Scratch. We present in this paper the results of our trial.We find that, not only did Scratch excite students at a critical time (i.e.,, their first foray into computer science), it also familiarized the inexperienced among th with fundamentals of programming without the distraction of syntax. Moreover, when asked via surveys at term's end to reflect on how their initial experience with Scratch affected their subsequent experience with Java, most students (76%) felt that Scratch was a positive influence, particularly those without prior background. Those students (16%) who felt that Scratch was not an influence, positive or negative, all had prior programming experience.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures

Figure 1: The sheer volume of keywords and syntax in even the simplest of Java programs defies explanation on an introductory course’s first day. 
Figure 2: With Scratch, Figure 1 becomes the above. 
Figure 4: A sampling of Scratch’s building blocks (i.e., puzzle pieces), categorized in terms a budding computer scientist should understand. Blocks are shaped so that they only snap together if “syntactically” appropriate (e.g., only hexagonal Boolean expressions fit inside conditions’ hexagonal “holes”). Moreover, certain blocks (e.g., conditions and loops) dynamically resize themselves to accommodate any number of nested blocks. 
Figure 5: At term’s start, we surveyed students about their prior programming experiences, if any. Among the 25 respondents, 52% had no background in programming whatsoever, 32% had weak backgrounds (i.e., exposure to but limited experience with at least one language), and 16% had strong backgrounds (i.e., at least one year’s experience with at least one language). 
Figure 6: At term’s end, we surveyed students on how their initial experience with Scratch affected their subsequent experience with Java. Among the 25 respondents, 19 (76%) felt that Scratch was a positive influence, 2 (8%) felt that Scratch was a negative influence, and 4 (16%) felt that Scratch was not an influence. 
Figure 3: Scratch’s interface consists of a blocks palette, a scripts area, a selection area, and a stage, along with other controls. Pictured is Oscartime, a game with nine sprites and nineteen scripts whose implementation we explored, among others, in class.
Citations
Scratch: programming for all
Mitchel Resnick,John Maloney,Andrés Monroy-Hernández,Natalie Rusk,Evelyn Eastmond,Karen Brennan,Amon Millner,Eric Rosenbaum,Jay Silver,Brian Silverman,Yasmin B. Kafai +10 more
TL;DR: "Digital fluency" should mean designing, creating, and remixing, not just browsing, chatting, and interacting.
4K
Computational thinking
Peter B. Henderson,Thomas J. Cortina,Jeannette M. Wing +2 more
- 07 Mar 2007
TL;DR: Computational Thinking is a universal metaphor of reasoning used by both mankind and machines and has the potential to be a comprehensive umbrella for capturing the intrinsic nature of computing and conveying this in an understandable way to students and the general public.
1.8K
The Scratch Programming Language and Environment
TL;DR: Scratch as discussed by the authors is a visual programming environment that allows users to learn computer programming while working on personally meaningful projects such as animated stories and games, and it supports self-directed learning through tinkering and collaboration with peers.
Learning computer science concepts with scratch
Orni Meerbaum-Salant,Michal Armoni,Mordechai Ben-Ari +2 more
- 09 Aug 2010
TL;DR: New learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch showed that in general students could successfully learn important concepts of computer science, although there were some problems with initialization, variables and concurrency.
448
Learning computer science concepts with Scratch
TL;DR: Learning materials for middle-school students that were designed according to the constructionist philosophy of Scratch showed that students could successfully learn important concepts of CS, although there were problems with some concepts such as repeated execution, variables, and concurrency.
340
References
Some reflections on designing construction kits for kids
Mitchel Resnick,Brian Silverman +1 more
- 08 Jun 2005
TL;DR: Ten guiding principles for designing construction kits for kids, informed by the experiences over the past two decades, believe that they could be useful for everyone who designs new technologies for kids.
•Book
Karel the Robot: A Gentle Introduction to the Art of Programming
Richard E. Pattis,Jim Roberts,Mark Stehlik +2 more
- 25 Jul 1994
TL;DR: Karel the Robot as mentioned in this paper is a literal-minded robot whose built-in capabilities allow him to explore his world and manipulate simple objects in it and introduce a programming language, which emphasizes logical deduction and spatial reasoning rather than calculation and algebraic reasoning.
395
Scratch: A Sneak Preview
John Maloney,Leo Burd,Yasmin B. Kafai,Natalie Rusk,Brian Silverman,Mitchel Resnick +5 more
- 29 Jan 2004
TL;DR: The working hypothesis is that, as kids work on personally meaningful Scratch projects such asanimated stories, games, and interactive art, they will develop technological fluency, mathematical and problem solving skills, and a justifiable self-confidencethat will serve them well in the wider spheres of their lives.
333
•Book
Karel++: A Gentle Introduction to the Art of Object-Oriented Programming
Joseph Bergin,Jim Roberts,Richard E. Pattis,Mark Stehlik +3 more
- 16 Oct 1996
TL;DR: This creative approach to learning C++ programming introduces readers to Karel the Robot and then shows them how to design programs that instruct Karel to perform complex tasks.
130
•Book
Karel J Robot: A Gentle Introduction to the Art of Object-Oriented Programming in Java
Jim Roberts,Mark Stehlik,Joseph Bergin +2 more
- 05 Apr 2013
TL;DR: A map illustrating the structure of the robot world, whose shape is a great flat plane with the standard north, south, east, and west compass points, which is bounded by an infinitely long horizontal wall extending eastward.
47