Learning How to Program at Seattle CoderDojo

Meilee during her first Seattle CoderDojo class. Sept. 20, 2014

Meilee began learning how to use Scratch a year ago in July (read the original post). Her first published project was called The Unicorn Ghost and its premise was rudimentary: click on the button to make the unicorn move. She played around a little and started projects, but didn’t progress beyond one-trick ponies, so to speak. Recently, I saw an in article in Geewire.com about CoderDojo, a free weekly programming club for kids ages 8-18 that was founded in Seattle but now has local clubs across the country. And the Seattle CoderDojo club meets on the Amazon campus – which is across the street from my office. After we checked in at security, the kids were each given a souvenir CoderDojo badge, which was a great touch that made them feel official.

Seattle CoderDojo badge
Seattle CoderDojo badge.

The kids who attend are divided up according to programming interest: Scratch, HTML/JavaScript, PHP, C# and Java. We found our way to the Scratch room and settled in, Meilee with my laptop and Shen with the iPad to keep him entertained. While Shen isn’t ready for Scratch, I wanted him to tag along so that he gets exposure to the club. The first 15 minutes or so of the session is spent listening to the lead mentor describe some basics of how to get started on the day’s assignment. CoderDojo has a set of projects that will help kids learn basic commands in Scratch. After the introduction, each participant can work at his/her own pace and seek help as needed from one of the volunteer mentors.

A Seattle CoderDojo mentor helps Meilee with a series of commands.
A Seattle CoderDojo mentor helps Meilee with a series of commands.

Meilee’s first challenge was to use repeat loops to draw patterns with an arrow. Doing so required some thought as to what commands to use and some basic geometry. While the math was beyond Meilee’s experience, she was lucky that one of the volunteers happened to be a math teacher.

A Seattle CoderDojo volunteer who happened to be a math teacher helped Meilee with some geometry.
A Seattle CoderDojo volunteer who happened to be a math teacher helped Meilee with some geometry.

What appeals to me about CoderDojo is that it provides a place to go where Meilee can be around other kids who are interested in Scratch and where she can get expert help from mentors. Best of all, the club is FREE (the magic word for DIY Tiger Mom) to attend. During a quick break, I ran into a woman in the restroom who said that the CoderDojo in New York had a waiting list of 500 kids. (500!) Luckily, that isn’t the case in Seattle. I had to ask my husband to take Meilee to the second session, because I had another appointment. Later in the day, she asked if she could show me what she learned at CoderDojo. It was so thrilling to hear her describe her thought process. As I mentioned in the post I wrote last year, I don’t necessarily want Meilee to become a software engineer. I just want her to learn how to analyze a challenge – regardless of what it is – and engineer a solution. I think she’s on her way.

[END OF POST]

Water Balloon Experiment

“We’re doing an experiment.”
“What’s the experiment?”
“We’re trying to make the water leak out without destroying the bag.”
“And how are you going to do that?”
“By hitting or punching it or doing some massive destruction without popping it.”
“And, how’s it going?”
“The result was that we couldn’t really get the water to come out of the bag without damaging it.”

Water Balloon Experiment 1

Water Balloon Experiment 3

 

Water Balloon Experiment 5

Water Balloon Experiment 6

Water Balloon Experiment 7

Water Balloon Experiment 8

Engineering a Puff Mobile

Meilee competed in the Puff Mobile competition at school. She had to make a “car” using straws, Life Savers, paper clips, tape and material for a sail (cling wrap). She won the first round to advance to the second round but didn’t make it past that. Then we celebrated with frozen yogurt.

PD5A0269

PD5A0275

PD5A0288

PD5A0291

PD5A0292

PD5A0294

PD5A0296

PD5A0302

Engineering Crazy Straws

Crazy Straws 1

When I was a kid, a “crazy straw” had a figure-eight loop and that was fun enough. Now, there’s the NuOp Design Strawz – kits that allow you to engineer your own crazy straw. You can find them online or at specialty stores. I found Strawz at my neighborhood grocery store on clearance for $6.50 per set (the original price was $10.95). What comes in the box are 44 pieces of long and short straws and connectors.

Crazy Straws 2

It was a no-brainer purchase – especially at a clearance price – for an easy engineering lesson veiled as fun. I purposely use the term “engineer” instead of “make” or “create” so that the kids continue to hear the word associated with the concept of designing and building solutions. To spur a little friendly competition, I told the kids that whoever had the best-designed straw would win a treat. It wasn’t necessarily a fair playing field since Shen’s fine motor skills aren’t as developed as Meilee’s. He started to pout (below) when Meilee finished constructing her straw before he did.

Cray Straws 3

But this presented an opportunity for me to encourage Meilee as the older sister to help her younger brother and to remind Shen that pouting doesn’t get the job done. They worked together to build Shen’s straw. And then they forgot that it had started out as a contest.

It’s a brilliant kit given that the kids have to think about how to join pieces together in a way that is not only crazy but functional. There is also physics involved: water sprays everywhere if the joints aren’t connected properly to the straws or, if a section of the straw is at an awkward angle, it could knock over a glass. (Yes, water spilled all over the table and the floor.) I imagine that you could hack a kit together using flexible straws. I might explore that with the kids to test their ingenuity.

Crazy Straws 4

Later, during dinner, I asked Meilee what she understood about engineering. Here was her response:

“When you engineer something, you think about how am I going to make this? What materials am I going to need to do it? When you’re building the shapes, it’s fun to learn how to connect the straws and unconnect (sic) the straws. There are different sizes of straws. The small straws help you in small places. The big straws help you in big places. You can make different kinds of things – like a sword. You can be capable of doing lots of things like a house of straws.”

Crazy Straws 5

I was glad she had an inkling, but I also didn’t hear her say something that indicated she understood the thought process behind engineering. She started to give me additional examples related to craft projects – things that weren’t necessarily focused on designing solutions – so I shifted the conversation to talking about how an engineer would approach the challenge of building a bridge across a river.

“An engineer would have to think about the distance across the river, right?” I asked. “And if it’s a highway, the bridge would have to support a lot of cars and big trucks. That would affect the kind of materials that the engineer chooses to build the bridge. If the bridge were just for people, the engineer wouldn’t have to use the same kinds of materials.”

“Logs and rope!” Meilee exclaimed.

Something clicked, but we’ll see what sticks over time. The logs and rope comment reminds me that we could use popsicle sticks to engineer a bridge. A project for another day.

Learning to Code: Meilee’s First Scratch Project

The Unicorn Ghost
Screen shot of Meilee’s “The Unicorn Ghost” coding project.

Meilee has shared her first coding project from Scratch: “The Unicorn Ghost.” When you share a project it appears on the home page of the Scratch site under “recently shared” and Meilee was more excited about being listed (briefly) on the home page and wanting to see the stats (how many views) than actually completing the project. I guess that’s all right. I like looking at site stats, too. It took much prodding/nagging to get Meilee to complete this project. She was easily frustrated and gave up, in my opinion, far too easily. I kept telling her that nothing worthwhile was easy. She responded by whining and sulking. To push through the last few steps, I even had to dangle bacon: You can have some bacon IF you finish this project. (It was breakfast time.) My hope is to get Meilee more familiar with the Scratch interface by having her create some simple projects. And then we can graduate to animating some of her drawings. Check out her project: The Unicorn Ghost Read previous post about MIT’s Scratch coding site for kids.

Learning to Code: Kids Explore MIT’s Scratch Programming Language

Coding1
Meilee and Shen react with pure delight after seeing the result of code they programmed, using MIT’s Scratch language.

For a child today, learning to program can be just as useful, if not more, than learning to speak a foreign language like Spanish or Mandarin. In a way, computer code is a foreign language. If you live in a place like Seattle, speaking code is “geek rigueur.” Considering our children are so-called ‘net natives or digital natives who were born in the age of iPhones, tablets and apps, it makes sense for them to have at least a basic understanding of programming. Their vocabulary is utterly different from what my husband and I knew when we were their age. Given the high demand for a STEM (science, technology, engineering, math) workforce, I believe that I would be doing my children a disservice if I didn’t expose them to computer programming. Even if they never enter a related field, the thought processes involved with programming can help my kids hone their analytical skills.

Hector Rovira, a co-worker of mine at Institute for Systems Biology who’s a software architect, suggested that I check out Scratch. It’s a programming language developed by MIT’s Lifelong Kindergarten Group. First of all, how cool is it that there’s a Lifelong Kindergarten Group? I love this description of the program:

In school, they learn specific facts and skills, but rarely get the opportunity to design things — or to learn about the process of designing things. Outside school, they interact with electronic toys and games, but they don’t learn how to invent new ones. In the Lifelong Kindergarten group, we’re trying to change that. We believe that it is critically important for all children, from all backgrounds, to grow up knowing how to design, create, and express themselves.

Hector explained that the programming club at his daughter’s elementary school uses Scratch to teach kids about coding and assured me that it would be suitable even for Meilee, who’s 6. So we gave it a try.

The Scratch interface.
The Scratch interface.

Scratch is designed for kids aged 8-16, but anyone interested in learning programming can use the site. You can create any number of projects from simple animations to video games. You also can share your projects with the Scratch community. There’s a helpful tutorial that explains the essentials. When you create a new project, you can choose a character – what’s called a sprite – and then you can program movement, background, sounds, costumes and such. You also can upload original images with which to work. I helped Meilee start the tutorial and then sat back to see what she could do. Basic command scripts are found in color-coded blocks that can be dragged from the master list (above left) to the adjacent scripts pane (above center).

Coding3

It wasn’t all fun, as you can see above. But the first time Meilee and Shen saw their character move and change color as the result of scripts that Meilee programmed, they experienced the purest joy (as in the lead photo above). The look in Meilee’s eyes showed a great sense of accomplishment – and that was just from the tutorial.

Coding4

An additional point of joy for me is that Scratch is FREE. You have to sign up for an account on behalf of your child, but there’s no cost to join the community or use the site. This is worthwhile computer time. I fully anticipate being able to say to my children, “You can’t play video games unless it’s one you create.” Maybe that’s wishful thinking, but maybe it’s not.

Try Scratch or learn more about the Lifelong Kindergarten Group at MIT.

Watch professor Mitch Resnick, Director of the Lifelong Kindergarten Group and LEGO Papert Professor of Learning Research at MIT Media Lab, in his TED Talk explaining why we need to teach kids to code.