In a big room at Microsoft Corp.’s Mountain View campus last month, children propped elbows on tables and intensely tapped away at laptops. Loops, conditionals and variables marched down screens, but so did zombies and cats as goofy sound effects pinged on command.
CoderDojo, a network of volunteer groups that introduce young people to computer science, plays up the fun inherent in digital creation. The Silicon Valley chapter gathered children, parents and mentors in the Microsoft conference room July 27 with the idea that anyone can edit and create code – computer science is accessible to more than a narrow niche of the community, and certainly not limited to college- or even high school-level study.
“There’s a lot of awareness and interest in this area, but not always somewhere to go to keep learning,” said Brian Skinner, one of the primary mentors for the Silicon Valley CoderDojo.
The Dojo aims to create that place, tapping into a community of adult mentors who understand and support the goal. The Los Altos School District offers a weekly computer science program in its elementary schools and hosted a coding showcase and competition last spring. Sheena Vaidyanathan, who teaches computer science in the district, led the recent CoderDojo session, introducing Scratch, a programming platform custom-made for young people. Students from all around Silicon Valley turned up with their parents in tow.
Scratching below the surface
The Massachusetts Institute of Technology’s Media Lab developed Scratch as a colorful, visual tool for creating, sharing and remixing programming projects. Children use building blocks explicitly drawn from the computer science taught at MIT and commercialized in Silicon Valley, but they do so using animation, storytelling and game play.
Users customize a character to suit their whimsy – often a cat, to start – and then build scenarios for that creature to act out using the art and logic of sequenced instructions. Students use a menu of color-coded building blocks to find action ideas – rotate, repeat, generate a sound. The blocks echo the physical world, representing chunks of code but looking like LEGOs, which snap together to build something greater than its individual parts. Imagination, not technical knowledge, becomes the limiting factor as you animate your creature in an increasingly complex universe of your own design.
At one table, sisters Jacky and Sophia Moore vetted a cat and mouse game with mentor Steven Ragnarok. Multiple characters were already in play, a mouse devouring bits of cheese as a cat chased it across the screen. Jacky, 14, explained their process of accelerating game difficulty, with the cat speeding up as the cheese gets eaten.
Ragnarok works at Github, a San Francisco-based company that has become a first stop in the world of writing and sharing code. He described the way a hodgepodge of computational concepts can be introduced obliquely through play with objects like the mouse/cat duo. Abstract concept-building gives way to doing and discovering.
The project helps young people to “forget about the computer for a while and think about the language and the world it builds for you,” he said. “Scratch has its underpinning in a world of live objects you interact with. It’s easier to understand what’s going on if you don’t peel back the layers of the onion yet.”
Mitch Resnick, the MIT professor who helped found the project in 2003, noticed that digitally adept young people were very good at interacting with digital devices, but often couldn’t go a step further and become creators. He described it as if one could read, but not write. As you become fluent in speaking and writing a language, you can tell jokes and write letters. Similarly, as children pick up Scratch or other educational programming languages, they can animate a greeting card or build a game. The idea of productive, creative fluency underpins Scratch’s creation.
Collaboration and cookies
The educational languages’s personalization and visual style capture attention – a coding error feels relevant if you watch your avatar get devoured by a zombie. Beyond that, programs like Scratch also chase the bigger idea that computation leads to creation, and that making projects with and for others feels powerful.
“I think magic happens when kids get to know each other in a social environment, teaching each other,” Marcy Delgado said.
She co-founded the Silicon Valley CoderDojo after attending an event hosted by the San Francisco branch with her son.A high school student in Ireland started the first CoderDojo in 2011 and since then new chapters have sprung up around the world.
Delgado said that parents often help find venues for the group to meet, and that over time the Dojo is developing a core group of returning students who are advancing into more complex programming projects.
The bimonthly events in Silicon Valley are free but tend to book up early. Donations support the snacks that fuel hours of hacking.
“At events like this, the cookies are done – we always need more cookies,” Delgado said ruefully. “If we could have one thing, we want money for munchies.”
The Dojo is also constantly recruiting new mentors who circulate at events helping young people debug their projects and dream up extensions for an idea.
“We need technical people who are passionate about what they do. It’s the enthusiasm and the encouragement that really make the difference,” Delgado said.
In addition to introducing beginners to Scratch, the Dojo encourages students who want to pick up other languages such as HTML, CSS, Python and even Unity, a 3-D game development tool.
“Starting young, there’s not really a hurry,” Skinner, the Dojo mentor, said.
Programming “is seeping into every aspect of the world,” he said, but to engage with it, people have to know they can have fun. Even starting from scratch, young programmers can tackle complicated problems – and do it with style.