Will code for cookies: Volunteer network introduces youth to computer science

Eliza Ridgeway/Town Crier
Sheena Vaidyanathan looks in on Emily Zhang, left, and Ashley Zhang at CoderDojo Mountain View.

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.

cat scriptcat sprite

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.

Eliza Ridgeway/Town Crier 
Jacky Moore experiments in Scratch, with an assist from Sophia Moore and mentor Steven Ragnarok.

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.

Scratch Practices

• Procedure: Map out a big project by planning a series of smaller tasks. Work iteratively and incrementally, writing a little bit, testing it, and then writing some more.

• Fixes, not frustration: Test a project and when you find a problem, debug it. Generating silly errors and resolving bugs can be part of the game.

• Remixing: Find inspiration and solutions in other people’s ideas, and share your own work. Scratch has compiled more than 3 million projects that are part of the “Creative Commons” – a shared intellectual space free of copyright that encourages the growth of ideas upon ideas.

Some programming languages provide description – for instance, CSS shows a webpage what color to make words and how big to display pictures, and SQL can tell you how many stories in the Town Crier’s database mentioned Bullis Charter School last week. Other languages, such as JavaScript or C++, are procedural, directing actions such as starting and stopping a sound effect. In Scratch, beginners get a feel for both description and procedure as they design action and the environment in which it happens.

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.

Scratch Concepts

• Sequence: Envision an action as a series of steps. For a cat to chase a mouse, the mouse must move, the cat must sense that movement and then follow it. Find the building blocks for each action, and put them together in order.

• Boolean logic: Structure questions for which the only possible answers are “true” or “false.” In Scratch, for instance, you can have your program answer the true/false question, is my cat touching a wall? IF a cat is touching a wall, THEN it should meow and rotate 90 degrees so it doesn’t get stuck. You’ve kept your creature in motion and, along the way, you found an introduction to the math that helped build search engines.

• Parallelism: Learn how to make things happen at the same time, and work through the unexpected consequences of concurrent actions. You can program multiple characters to move around the screen simultaneously – what should happen when they collide? What if two cats catch the same mouse – which gets to score?

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.

To connect to a local CoderDojo, visit To explore Scratch, visit

Schools »

Read More

Sports »

Read More

People »

Read More

Special Sections »

Special Sections
Read More

Photos of Los Altos

Browse and buy photos