Volunteering at Hour of Code
by: Devney Hamilton
How Hour of Code Works
Local Context
On December 10th, 2015, Jeanette and I joined Estabrook Elementary School's Hour of Code event as coaches. Our job was to encourage and guide students through what was, for many of them, their first formal introduction to computer science. For us, it was an introduction to people who, in 20 years' time, might work with us. I was especially glad to be there because I live across the street from Estabrook, and some of the kids who go there are my neighbors.
We arrived after lunch, and a young student escorted us from the front office through halls full of colorful artwork to the computer lab. We met another local engineer who had come to coach, along with the teacher. Most students were too engrossed in their Hour of Code tutorials to care that a couple more strangers had walked into the room, so we started talking to the students one-on-one. They alternated between being zoned in on their programs (with headphones) and sharing tips with or asking help from neighbors. The time was warm, lively, and energetic.
A few of the students had programmed before, and they shared their excitement and confidence with their peers. A lot of the students drew on their experiences learning games to figure out how to bend the computer to their wills using function calls, if statements, and loops. Talking to the students, I learned that some of them had programmed before and some of them had never thought about programming before.
The Hour of Code tutorials takes you through a series of about 15 challenges that increase in difficulty. The programming environment includes a code area where you write the instructions for an avatar in a grid world, and an output area that runs the instructions on the avatar. It first teaches that computer instructions run in order and can't guess what you, the human, really want.
The tutorial was logically similar to my own introduction to computer science in a college class (teaching Karel the robot to move around a grid), but with much better graphics. The challenges then add in loops and if statements along with hints, and the tutorial encourages students to figure out how they work by experimenting. Some students focused hard and got part of the way through, others raced through the suggested tutorial onto other ones. I was pleasantly surprised by how self-paced the tutorial actually was.
I talked to two girls who asked, "How can we make games instead of playing them?" They checked out MIT's Scratch and said they wanted to try it at home.
Photo by Junfu Han of MLive
Help kids break down problems.
One thing the tutorial didn't do was help students break down problems. Many students had an easy time with the shortest programs, and wanted to "get it right the first time." The biggest message that Jeanette and I shared is that in real world engineering, we don't even try to get it all right the first time. Instead, we break the problem into smaller and smaller pieces until they seem manageable. A girl who had confidently run through the first half of the tutorial was trying to write some logic for a longer program from start to finish. She seemed relieved when I encouraged her to try changing one thing at at time, and running the code over for each change, even though the program wouldn't have completed the goal.
Be there to support while kids experiment.
Along the theme of "getting it right the first time," we gave a lot of positive reinforcement for experimenting and tried to convey that we do that all the time as engineers. One child was about to give up, shoulders slumped, and ask a friend to help him. I told him I'd seen him try a couple of things and sympathetically added, "It's not doing what you thought it would, huh? Let's see if we can figure out how it works." I stayed next to him while he tried a couple more things and regained his focus. Then I realized he felt self-conscious with me over his shoulder, so I talked to his neighbor. On perhaps his seventh try, he solved the puzzle, and I saw him make a little smile, and straighten up. He didn't need me to tell him how to do it; he just needed some emotional support to get through the discouragement. Variations on this theme happened over and over with other students. We were lucky that there were enough coaches so we could move around without too many kids slipping through the cracks.
A mentor of mine in computer science education tells teachers that "I want" + "I can"= Motivation. Kids love to learn, but when we make them afraid that they "can't," they are likely to hide behind "I don't want to." Since there was a good student:coach ratio at this event, we could give moral support to students through the tough spots where they might have thought, "I can't." This helped them feel a sense of accomplishment before "I don't want to" could come into their minds.
Cut through stereotypes about computer science.
I asked two boys, "What do you think about when you think about computer science and programming?" One answered hesitantly, " . . . Nerdy?" I replied, "My friend who did a computer science project with me is a college football player and a computer scientist." His eyes got big and he smiled, "Woaaaah." His friend said "Yeah, nerds, but I like it because I'm kind of nerdy . . ." The second friend already had a positive association with computer science, but having a different story about playing football and being a computer scientist helped his friend gain a positive association that he could identify with in his own way. This is one example of why telling many stories of who engineers are can be an important piece of the puzzle, helping all kids see themselves getting into engineering if they want to.
Make it okay to not get it the first, or second, or tenth time.
At the end of the second class, the math teacher, Ms. Thurman, gathered her students to say thank you to us. I took the opportunity to poll the class, saying, "Raise your hand if you got stuck!" Some of the students giggled, and almost everyone raised their hand. Next, I said, "Raise your hand if you got stuck three times!" The hands stayed up. I kept raising the number of times they got stuck, and by the time I hit ten, the many students with their hands raised looked around at each other with new interest.
The math teacher thanked me for asking the students about how much they got stuck. She said she tells them all the time, but hopefully the message gained an extra-cool factor coming from non-teacher adults. It was a moment for the students (who are exposed to high-stakes testing) to get to be stuck together, and come through failures to succeed together. Some of the students had gone beyond the first tutorial into making their own games. Others were still grappling with the if/else logic in the first tutorial. But all of them had done more programming than they had before in a supportive environment.
Megan Hagenauer, the organizer of Hour of Code, had this message for the local computing community. "At least half of the computers in the computer lab [at Estabrook] don't have a functioning keyboard. Keyboards are essential for learning computer programming, and for any other computer-based task, including the high-stakes testing that determines whether the school receives funding!" If you want to just get going on making sure everyone gets a quality introduction to computing, please consider donating to Estabrook so their kids can type!
Atomic Object plans on becoming a 100-year old company. Eventually, we will be hiring people who are in 3rd and 4th grade now—perhaps even someone who was in the computer lab with Jeanette and me that day.
Investing in efforts to ensure that kids from all walks of life in Michigan get quality STEM education is one way Atomic can act for the long term. A McKinsey report in 2015 found that ethnically diverse firms are 35% more likely to financially outperform the average in their industry. It's important to note that while only 2% of the 936 students who took the AP computer science test in Michigan were African American, 57% of Estabrook's students are African American. Hopefully, by the time these students are in high school, they'll seriously consider taking AP Computer Science, and the school will be prepared to teach them.
If you'd like to learn more about the larger context of Hour of Code at Estabrook, Jane Margolis's Stuck In the Shallow End explains the historical reasons why, in the US, more affluent white and Asian children have generally had more access and opportunities to learn computing at earlier ages than low-income kids and kids who are Latino, Native, African-American, or other under-represented minority groups. Efforts such as Black Girls Code, which is run by an electrical engineer and has programs in Southeast Michigan, are aimed at making sure more people get a good introduction to computer science. In the words of Kimberly Bryant, founder of Black Girls Code, "Imagine the impact that these curious, creative minds could have on the world with the guidance and encouragement others take for granted…I have, and I can't wait!"
diversitywomen in tech
Devney Hamilton
Widen Your Lens! Rethinking Early Career Programs
[Video] Job Crafting: An End to the Endless Work-from-Home Debate
Not Your Keys, Not Your Crypto