During at least one afternoon each month, Wilmette (Ill.) Public Library (WPL)--where I serve as web manager and teen librarian--hosts a local group of computer programmers, designers, and artists, who meet to discuss digital projects and resources, technical challenges, and successful design or programming strategies. Countless slices of pizza are washed down by soda or high-octane energy drinks as members of the group excitedly share news about recent accomplishments and challenges. On some occasions, these meetings are informal and loosely structured, with members standing clustered in groups or seated awash in the glow of somebody's laptop computer screen. On other occasions, members come equipped to deliver formal presentations with PowerPoint slides and handouts. Their presentations cover a wide range of subjects, such as how to model 3D environments or how to map character motions to game controller buttons. Occasional guest speakers from the digital entertainment industry visit the group to talk about level design, motion capture, and even how to generate ideas for new projects.
Individual members' interests are as varied as the members themselves, with some focusing on digital storytelling, some on computer game design, and some on developing applications such as digital media players, calculators, or encryption devices. Equally varied are the backgrounds, skills, and creative impulses they bring to their projects. The group sponsors occasional events at the library, such as competitive gaming tournaments and an annual game design contest, and some of its members even manage a website. Attendance at each meeting ranges from five to as many as 30 when a special guest speaker has been invited to visit. Participation tends to be greatest during the summer months when school is out because the typical member of this spirited and creative cadre of designer-programmers falls between the ages of 12 and 18.
From Media Consumers to Media Creators
WPL's Game Design Club, now in its third year, owes its existence to a combination of elements: our library's commitment to supporting 21st-century literacy skills, a motivated population of teens for whom no comparable peer community exists, and the recent development of a variety of free and open source programming environments and content editing tools designed specifically to facilitate learning in a media development context. We were inspired by the constructionist theories of figures such as Seymour Papert and Alan Kay, who have argued (with respect to educational technologies) that we must teach our kids to program computers rather than use computers to program our kids. And we were guided by such examples as the People's Computer Co., a seminal community technology center established in the San Francisco Bay area in the early '70s to teach young people how to use and even program computers long before the first PCs hit the consumer market.
Like many public libraries seeking to enhance our services to teens, the Wilmette Public Library began offering open video game play and competition events in 2005. These programs were successful from the outset, drawing an enthusiastic population of teens into the library that, over a period of time, developed into a robust subculture with a special interest in gaming and other types of media including anime, mashups, fan fiction, and fan art. At about the same time, we began experimenting with newly available, free, and open source integrated development environments (IDEs) that offered rich learning potential within the context of game design and other media creation activities. Among these applications were Alice, Squeak (Etoys), Game Maker, Scratch, and Greenfoot.
While recognizing the literacy and learning benefits of some video games, we felt that by placing our teens in the role of media designers and developers--by giving them an opportunity to design and create their own original games and interactive media--we might achieve learning benefits that were less ambiguous and more consistent with a model that recognizes teens as knowledge generators, not just consumers. Literacy has as much to do with constructing and communicating meaning across a variety of platforms as it does with accessing information and comprehending meaning via traditional text- and broadcast-based media. Learning systems--whether games, fan sites, or immersive environments such as Second Life--need to have, at the very least, a wikilike or modding functionality, allowing learners to generate and contribute resources as well as use them.
Our plan was to install these applications on our learning lab computers, put the computers in front of the kids, and watch to see what they would produce. Our initial workshops varied in structure depending upon the application we were using, the target age group, and the goals we wished to accomplish. Scratch workshops, intended for boys and girls ages 8 and older, were scheduled for a period of 4 hours over 2 days, while Game Maker and Greenfoot workshops, intended for older teens, totaled 10--12 hours over 5 or 6 days. All workshop participants received a free CD containing the design application as well as some additional free or open source content-editing applications, typically GIMP, ArtRage, or Inkscape (for graphics); Audacity (for sound editing); and Anvil Studio (a MIDI composer/editor).
We believe that the best learning occurs when the learner finds the material personally meaningful, contributing in some way to his or her existing interests, broader goals, and sense of identity. Needless to say, the opportunity to learn game-making and other forms of media design and to share one's creations with one's peers and family produces an extremely high level of motivation among middle schoolers and high schoolers. In order to produce sustained engagement, it's best to structure activities in such a way as to put the learner in charge of his or her own trajectory. Practically speaking, this means that the workshop leaders serve as facilitators rather than lecturers, leaving participants to devise and pursue their own design goals according to their personal interests and individual levels of commitment.
In our workshops, we devote an equal amount of time to guided projects and open creative labs. Guided projects are based upon existing tutorials for which we provide handouts and step-by-step instructions, with the requirement that participants customize not just the media content of the project in order to make it their own but also that they introduce original mechanical features such as scoring or special interactive content in their code, thus engaging them with programming challenges. Typically, the guided projects are based upon well-known genres such as platform or scrolling combat games. (This approach has produced more than its share of Naruto-themed Pong and Dr. Who-themed Space Invaders games.) Open lab time is devoted to project customization or to original projects. We've found that when kids are given the ability to work on projects that they can call their own, they pursue knowledge on a "need to know" basis, deepening the assimilation and associative integration of newly formed concepts and skills.
Applications such as Alice, Scratch, and Game Maker serve as transitional tools or "tools to think with." The experience of making objects move onscreen within a geometric framework, respond to user input, and interact dynamically with other system elements creates a foundation of experience that makes higher-level math and physics concepts seem less abstract or foreign when encountered in the classroom. In addition to this unique contextualizing experience, workshop activities support the science, technology, engineering, and mathematics (STEM) fields by promoting specific math and computing concepts. Math concepts range from addition and subtraction, angles, geometric coordinates, and variables to higher-level geometric and algebraic concepts needed to control the dynamics of motion (character movement, gravity, background scrolling) within 2D or 3D grids. Computational thinking is promoted through the actual hands-on coding that goes into a project, providing exposure to conditional (Boolean) expressions, object-oriented concepts such as classes and inheritance, concurrency, loops, randomness, and variable-dependent operations necessary to control scoring, inventory, health, and lives.
Our workshops provide a powerful multidisciplinary framework that promotes storytelling, graphic and audio editing experience, information management skills, critical thinking, and a user-centered design orientation. We've unexpectedly found that our workshop activities also provide support to educational content domains. For example, one of the first Scratch projects created by a Wilmette eighth-grader was a demonstration on plant biology, a science fair project narrated by a bumblebee that explained photosynthesis and plant reproduction as it flew from fungus to flower to vegetation to fruit trees within a simulated backyard garden. (Alice and Scratch are particularly well-suited as platforms for multimedia presentations.) In a more recent example, a Game Design Club member (another eighth-grader) created an electoral map that he used to dynamically calculate all electoral votes cast in the November 2008 presidential election, using those votes to manipulate variables that controlled the color (red or blue) of each U.S. state and territory in which votes were counted. Digital storytelling projects can also provide an engaging context for traditional literacy instruction: We're currently collaborating with faculty at our local high school to pair teens with senior citizens in a program that will capture seniors' personal narratives in a variety of digital presentation formats (e.g., oral history plus slide shows).
The Game Design Club
Beginning with the completion of our very first series of design workshops, a number of the participants proposed that we establish a club that would provide a context for further collaboration and skill development. This initial core group of three boys and two girls wanted to create a context in which they could formalize and sustain the creative atmosphere of our open lab sessions while continuing to produce games, animations, and digital stories. Their proposal articulated two chief goals: that they have an opportunity to continue as mentors or facilitators in subsequent workshops, and that they sponsor a game design contest with the library's support.
The group began meeting informally on a monthly basis, sharing examples of their work and even offering more formal presentations, arriving at meetings equipped with PowerPoint presentations and handouts. Plans for a game design contest were hatched and debated; some members of the group put together a presentation for the library's board of trustees that included examples of their media productions. By the summer of 2007, a club-maintained website was set up (www.gamemakeracademy.org), the club's first game design contest was underway, and the Game Design Club became a formally recognized program of the Wilmette Public Library.
Because of our proximity to Chicago, home to a number of game design companies, we've been able to invite professional game programmers, artists, and designers to give presentations or simply meet informally with the club to talk about the design process, creativity, and digital collaboration.Patrick Curry of Midway Games (designer of Stubbs the Zombie and Stranglehold) gave us a wonderful presentation on how he comes up with ideas for his projects. Rachel Nador (formerly of EA, now a freelancer) has visited frequently to discuss 3D environmental art and animation techniques. Josh Criz, a programmer (formerly with Atari and EA, now with A1 Studios) has visited with the club to talk about programming strategies.
The club now has a role in planning regular teen gaming competitions, sometimes staffing a table at these events to promote our design workshops. (For a recent Super Smash Bros. tournament, one of our members created an automated bracketing system in Scratch that was projected on-screen between rounds so that players could monitor their status.)
But the most significant accomplishment of this group, in my opinion, is its direct role in building and sustaining a library-centered culture of learning for themselves and their peers. Some of our members now regularly facilitate workshops and open labs and have even created projects, presentations, and handout materials that they present on these occasions. They have assisted me in presenting workshops at other libraries within our system and have even co-presented at systemwide and statewide panels where librarians are exposed to the technologies and practices with which we are engaged. As a result, a number of digital design workshops are now offered at other libraries within our system, and we're even hearing about design clubs popping up among our neighboring institutions.
The Library as a Media Lab
Education theorists are currently producing a great amount of research on the role of informal learning spaces (community technology centers, after-school enrichment programs, online communities) in promoting technology fluency among youth. Unfortunately, little of this research has focused upon the role of the public library, which--as part of an existing distributed network of institutions whose traditional role has been the promotion of literacy and learning outside the classroom--represents potentially the most resource--laden and accessible of all informal learning spaces available to today's youth and teen populations.
I believe that the reason public libraries are rarely considered viable spaces for promoting 21st-century literacy skills is that their youth and teen services remain biased toward traditional text-based literacy, and even where technology instruction is offered, it tends to be remedial in nature, often geared toward an adult population that lacks basic computer skills. Of those libraries that have offered programs to promote digital literacy skills among their teen populations, most focus upon nurturing what I call functional literacies: web-based research skills, basic competencies with word processing and spreadsheet applications, or the use of client technologies such as blogs, RSS feeds, and media-hosting sites such as Flickr or YouTube. Less commonly offered are programs that nurture development-oriented skills and practices: programs designed to promote media literacy, systems thinking, creativity, collaboration, and higher order problem-solving skills geared to a perpetually evolving digital landscape.
Some libraries, however, are making pronounced efforts to identify and promote the skills and attitudes that will be essential to success in higher-level educational settings and in the work force of the 21st century. Throughout 2009, the Hennepin County (Minn.) Library, together with research partners at the Science Museum of Minnesota and the Institute for Learning Innovation, will conduct a comprehensive research project called Media MashUp that will evaluate, verify, and document the 21st-century literacy skills acquired by youth through participation in innovative library-based technology programs utilizing Scratch and a number of other media editing software applications. This research, funded by the Institute of Museum and Library Services, will be conducted at six libraries nationally: the Hennepin County Library, the Public Library of Charlotte & Mecklenburg County, the Memphis Public Library, the Free Library of Philadelphia, the Seattle Public Library, and the Wilmette Public Library. It is expected that this project will establish and articulate best practices for public libraries offering comparable programs by examining how library spaces might be designed and equipped for informal technology-based learning and by establishing a model framework for libraries to use when developing and implementing innovative technology programs such as teen tech workshops, game design programs, and computer clubs.
I believe that the challenge we face in developing such programs offers new opportunities for collaboration between library technology professionals and those responsible for developing youth and teen library services. In the future, computationally enhanced devices will become increasingly pervasive (and persuasive), mediating our relationships with one another and with the world ever-more seamlessly. Literacy will be defined in large part as the ability to control human-machine interactions, to exhibit higher-level problem-solving skills in a ubiquitous (and increasingly mobile) digital environment, and to demonstrate the ability to learn and adapt continuously within an ever-evolving information landscape. The most literate among us will be those who develop the ability to think, invent, collaborate, and express themselves effectively in this new media environment. The least literate among us will (at best) have the ability to interact with these technologies only passively: playing games, shopping online, downloading music and videos.
Bridging this literacy gap will not be easy: It will require that we re-evaluate our perspectives and reinvent our practices to better prepare our youth for fully participatory lives in the years ahead. In my experience, this is best accomplished by enlisting the participation of the youth themselves, nurturing and harnessing their passions, creativity, and positive social instincts within a learning environment that connects them with the tools they'll need to experiment, invent, program, and share, collaboratively and continuously. Those tools are now available to us. What's needed is the institutional vision and determination necessary to reinvent our spaces and services to accommodate new forms of literacy and to adopt new approaches to learning.
Some Free and Open Source Educational Programming Languages
Alice is a programming environment designed for middle school students, specifically targeted to middle school girls. It supports the creation of interactive 3D stories and games within a graphical drag-and-drop coding environment.
This is a programming language created to help students quickly and efficiently understand the essentials of programming. It promotes the acquisition of programming concepts by helping students acquire pattern-recognition skills that can be applied in most standard programming languages.
Greenfoot is a graphical IDE (integrated development environment) that permits programmers to design 2D games and virtual worlds while learning the fundamental concepts of object-oriented programming utilizing Java. Greenfoot was developed at the University of Kent (U.K.) and is supported by a number of sample projects and online tutorials. It is appropriate for ages 13 and older.
Karel, Karel++, Karel J. Robot
The Karel languages are aimed at introducing beginners to the foundations of object-oriented programming. The most recent version, Karel J. Robot, applies a syntax very similar to Java. (Karel is named after Karel Capek, who coined the word "robot.")
The Mozart Programming System is a multiplatform implementation of the Oz programming language developed by the Mozart Consortium. Because it runs applications in a virtual machine, applications can be developed once and run on many different platforms. It is appropriate for ages 13 and older.
This is a simple programming environment that allows beginners to program a virtual robot. In addition to foundational programming concepts, it introduces students to robotics and artificial intelligence. The ROBO programming language applies a syntax that is very similar to Java.
Scratch is designed to help young people (ages 8 and older) design games, stories, animations, and art using a graphical programming interface. As they create Scratch projects, kids develop important mathematical and computational concepts, while also acquiring an understanding of the process of design. Developed at the MIT Media Lab, Scratch is included on every One Laptop per Child (OLPC) machine.
Squeak is an educational programming language for teaching foundational programming concepts, as well as mathematics and physics concepts and multimedia skills. It was developed by Alan Kay and Dan Ingalls. The Etoys environment, which implements Squeak, is included on each OLPC machine. It is appropriate for ages 6 and older.
StarLogo TNG (The Next Generation) can be used by students to model the behavior of multiagent, decentralized systems. It provides a 3D world using OpenGL graphics and a block-based graphical language to provide a low entry threshold. It is written in C and Java. It is appropriate for ages 10 and older.
For a more comprehensive overview of educational programming languages, see Kelleher, C. and Pausch, R., "Lowering the Barriers to Programming: A Survey of Programming Environments and Languages for Novice Programmers." ACM Computing Surveys 37.2 (2005).
Brian Myers is a reference librarian at the Wilmette Public Library (Ill.), where he sponsors the Teen Advisory Board and facilitates numerous teen-oriented programs. He also teaches Java programming and game design at Northwestern University's Center for Talent Development. His email address is bmyers@wilmette library.info.