ComiKit

ComiKit � Programming with Comic Strips By Mikael Kindborg mikki@ida.liu.se

��� Children have always created their own toys, often from left-over materials that happen to be available. A child-made doll or car may not be as fancy and polished as one you would buy in a store, but nonetheless, kids often find great satisfaction and joy in making their own toys. Computer games and interactive software toys are different, however. The programming required to create your own game, even a very simple one, is just too difficult for most children to learn. The consequence is that kids are limited to the role of consumers of ready-made software.

��� One approach for making programming easier is to use a program representation that is similar to the runtime representation. If the source code of the program looks similar to what is seen on the runtime display, the mental gap between the two representations could be reduced. If programming could be done in a direct and concrete way, the need for mastering complex symbolic representations would be reduced. A representation that is interesting in this respect is comics. Just like a program, a comic is a static representation of something dynamic. The medium of comics gives a very direct impression of the action going on in the story. To the comic book reader, the characters in a comic almost look like they are moving and they almost sound as if they are speaking. For programs that consist of interactive graphical objects, comics have the potential to describe the behaviour of the objects in a way that strongly resembles the visual result of running the program.

��� ComiKit is a software tool for children that uses comic strips to program the behaviour of graphical characters. In comics, the events in the story are shown in strips of panels, where each panel shows a part of the action. If we introduce the notion of conditional strips, comic strips can be used to describe events in a program. In an event strip, the first panel is a precondition for the actions in the subsequent panels. In ComiKit, a program is created by drawing pictures of characters and making event strips for their actions. The event strips are monitored and executed when the game is played. Comic strip events are similar to graphical rewrite rules, but are in many ways potentially more expressive and flexible. ��� Several prototypes of ComiKit have been tested together with 4:th and 5:th grade school children. The results showed that children still had to learn programming concepts such as conditional events, but most children could create meaningful interactive stories and simple games in one to two hours. The studies also showed that girls and boys where equally creative with the programming tool.

��� ComiKit is developed in Squeak. A first, Java was used, but moving to a Smalltalk-based system proved to be a tremendous benefit, among other things because of the dynamic nature of Smalltalk and the expressiveness of the language.�Research reports are available at: http://www.ida.liu.se/~mikki/comics/��� ComiKit can be found here: http://www.comikit.se/esug/


Current position: Associate Professor, Department of Computer Science, Linköping University, Sweden. Past experience: Research on computer-based learning environments for children (1983-1990), Multimedia development and research (1991-1995), Web development (1996-1997), Teaching interactivity and programming, Research on children and programming (1998-present).