With one Hour of Code experience under my belt, I invited two more friends to code with me. I had explored only minimally in preparation for my previous experience, and was able to follow and support a fairly open-ended exploration by 10 year old Z. I was feeling much more brave before this second time, and was interested what it would be like to work with two children at the same time.
I invited two siblings, L and Q, to code with me. They both attend a public neighborhood school near their house in the Denver Metro Area. Their school employs a fairly traditional approach to education, incorporating computers and other technology as learning tools, balanced with common methods of teaching al subject matter. Here’s a little bit more about them as individuals:
L is a ten year boy in fourth grade:
- He lists his favorite subjects as P.E. and reading.
- He is caring, thoughtful, and has been known to win awards at school for character and citizenship.
- He is active and loves football.
- He loves the rain and Seattle, aspiring to live there when he grows up.
- He has a great sense of style, from mohawks to hipster glasses.
- She lists her favorite subjects as reading, math, and art.
- She loves all things creative, and is an avid crafter.
- Has a natural and powerful connection with animals. She is a loving caretaker to many furry creatures at her home.
- Is naturally social and enjoys getting to know all kinds of different people.
- Her last two Halloween costumes were “Cleopatra” and “movie star”…with the big personality to pull them off.
I know both of these children use computers from time to time at home and at school, so I first asked them what they already knew:
Lauren: Do you guys know what computer programming is?
L: I think it’s making video games. Well, like…you can make them. Hmmm…Inventing stuff?
Q: Like “ABCya!”?
Lauren: What’s that?
Q: It’s a computer program, a computer game. It’s a video game
Lauren: Oh cool. Yeah, programming Its what you use to make things like that. You have to give your computer instructions in order to make anything that you use on a computer. So it’s not playing a computer game, it’s making computer games.
Next, we explored the code.org website a little bit. We looked over the map that shows locations all over the world where people have done an Hour of Code. Then we watched the official “Hour of Code” video, which got them excited about becoming two of the 10 million students who would participate. Intrigued by their interest in this number, I clicked on the most current statistics for them to see:
Q was interested in the girls v. boys, noticing right away that more boys had participated than girls. She proudly announced that she would add to the girl number, and hoped more girls would join, which I thought was incredibly empowering!
We launched into the Write Your First Computer Program tutorial. Since I had previously completed this with my last young friend Z, I felt comfortable supporting them in this. They agreed to take turns with each lesson.
Both of these children move and think quickly. The tutorial has a way of guiding you through the lessons with videos, written instructions, and then the fields for you to enter your code and watch what happens. I was interested by the fact that they would both click through the prompted instructions rather quickly, but still be able to figure out how to complete the challenge. They engaged in a lot more trial and error than my previous student Z (who would spend more time reading and contemplating), but they figured it out nonetheless! At times, they would both even know they were not entering the code correctly, but run it anyway, stating “I know this isn’t going to work, but I want to see what happens”. I have learned enough from my own journey with learning the Ruby programming language to know that trial and error is a huge part of the coding process, so I got the feeling that these two were naturals!
When one was engaged in the tutorial, the other would look on and help the other figure out what to do. I speculate that another reason their learning felt so fast to me was because they were figuring out the prompts together and engaging in social learning.
A seemingly universal challenge:
I noticed that both L & Q, in addition to my previous student Z, were all challenged by figuring out if they needed to enter commands for “right turn” or “left turn”. The view of the prompt is an overhead one:
The forward-facing direction of the character and the path changes with each prompt in the tutorial. Thus you really have to have a strong ability to visualize spatial configurations in your head to get the prompts right each time. I’m not sure how or if this part of the challenge informs programming at all, or if it’s just a unique quality of the tutorials, but I think it’s interesting. I’m also not sure if this is important, but I do wonder if it has been a deterrent to even younger children’s ability to connect.
After taking turns working through this tutorial, L & Q were excited to complete and print their official Hour of Code certificates, and were hungry for more. At this point, it seemed like they had some different interests, so I tried to respond by giving them each an opportunity to work on something separately.
Q was interested in drawing with code, so I set her up with the Frozen-themed Code with Ana and Elsa tutorial. L wanted to make a game about football, so I set him up with the more open-ended Scratch.
This is where I saw both children’s experiences really take off, but also where I started to feel extremely challenged as a facilitator of this experience. They had both learned enough from the first tutorial to understand the basic concepts of what they were supposed to do, but also had a lot of questions. Thus, I had to bounce back and forth between both and did not feel like I could fully attend to either. I think this had benefits and drawbacks. The first drawback was largely mine, and is simply that I didn’t feel like I got a chance to learn much from watching their process. There were definitely problems posed in each of their work that they couldn’t solve on their own without some support. When I couldn’t be there to help, they would simply move on or shift gears. This is a drawback in some ways, but a benefit in others. When they knew they needed help, they would have to be creative with what they did next. Sometimes their tinkering accidentally solved the problem and they would learn from that. Sometimes they would just move on to something else and consequently learn from that.
Code with Ana and Elsa
This tutorial invites you to enter commands to make Elsa skate in different patterns, leaving beautiful designs on the ice:
L learned a huge amount about how Scratch works, and his experience could not have possibly been more different than Z’s (the last 10 year old I worked with). Z just tried different things and created a story out of what happened. L started with a clear goal: To make a football game. He started by just experimenting with the different features, and figured out how to use a bunch of them. He had big dreams of making several players on the field and making them all do different things. I struggled with how to support this, because I had not played enough with Scratch to know how to do this. He ended up figuring out how to layer two different cats, one with a football and one without. By playing his game, you can make them both run across the field and eventually cross the yellow “first down” line. Click below to play his game:
During this differentiated experience, I had some serious anxiety about not being able to spend enough time with either of them. I feared they would get frustrated with what they were doing, take a hit to their self-esteem, and wind up hating coding. Of course, this is not what happened at all! Even though there were problems they couldn’t solve, neither stopped persisting in figuring out solutions or simply figuring out something else to do with the program they were exploring.
This was a great experience, and I was left with many reflections and questions:
- How would this experience be different if I invited them to each code with me individually?
- How much could Z (my previous student) and L (my two 10 year old students) learn from each other by exploring Scratch together since they both had completely different approaches to using it?
- If I explore Scratch on my own, how much more support could I offer L with executing some of his more specific ideas?
- What would Q, my 8 year old student, do with Scratch if I introduced it to her?
I certainly want to invite these two back to explore some more, and I learned so much from them! I tend to overthink the problems I encounter while coding, and am quick to feel stuck and frustrated if I can’t solve something. I think I will definitely try to use these two’s comfort in persistence and willingness to shift trajectories as I continue my own journey with learning the Ruby programming language!