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 remarkable 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 problems 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 them 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.
Scratch, an interactive programming environment created by MIT's Media Lab, allowed players to generate their own games and animations using programming constructions similar to puzzle pieces REF .
Scratch for budding computer scientists
SIGCSE '07
Computer Science