From drawing to programming
Pelle Hall, Andrew Hirakawa, Jennelle Nystrom, Samuel A. Rebelsky · 2012
Consider a middle-school student "playing" with a computer. What does she do? She may chat with friends. She may surf the Web. She may even play a few games. But she is also likely to make things with drawing programs, word processors, or other applications that make things. Can one leverage that creativity to encourage her to want to learn to program? Projects from Alice (Moskal et al. 2004) to Scratch (Maloney et al. 2010) have certainly shown that tools that tie creativity and programming can encourage students to think algorithmically. Despite the success of these programs, there is still room for new models that link children's artistic interests with programming. In this project, we explore the link between creativity and programming through a different model, one in which the drawing application "self discloses" underlying commands (DiGiano & Eisenberg 1995). As students draw images with the GNU Image Manipulation Program, a Photoshop-like application, a small window displays code that represents their actions. For example, when they draw a line, a "draw line" command appears that includes the coordinates of the line; when they change brushes, a "set brush" command appears that includes the name of the brush. Eventually, students refer to these commands to redraw their figures, to copy their figures, and to change their figures. Slowly they move from copying and pasting code, to modifying, to writing their own instructions, and beyond.