Last year, I was asked to teach basic programming to first- and second-graders (groups 3 and 4 in the Netherlands) at school. Recently, the school asked me if I could provide a follow-up session for children grades 3 and 4 (groups 5 and 6). This blog article is about the lessons I created for them and the lessons I learned myself.
Like last year I started with a blank slate. This meant I needed to figure out the following first:
I started with the second question and attempted to peek a little deeper into the future. I had already noticed a pattern in the requests I received from the school and expected them to ask if I could continue lessons next year.
At this time I was already a big fan of the Scratch programming language. This made me decide on the following three goals:
Build on the goals from last year. Mistakes are ok! The best way to improve is by taking your mistakes and using them as a learning experience. Break larger problems down into smaller ones, which will make it easier for you in the long run! And above all, have fun!
Discover Scratch. Find out more about Scratch as an easy-to-use drag-and-drop coding language that allows kids to create interactive stories, games, animations, and more.
Be prepared to do more work in Scratch next year. Previous year we worked on the basics of programming. To be able to go a step further with programming concepts the children first need to know more about the programming language.
As input for the lessons, I discovered the Coding Cards on Scratch's website for educators. It contains a set of cards with instructions which the children could follow in order to implement a simple programs. I specifically found the “Catch Game” (page 177) interesting, because it used relatively simple programming blocks and was easy to extend.
Unfortunately, the instructions were in English, and as my group of kids only consisted of little native Dutch speakers, I had to translate the cards. Luckily, I found a PowerPoint version of the Catch Game Coding Cards provided by MIT in the Scratch resources directory. I definitely recommend translating the cards since it reduced a lot of problems for the children. During this translation work I also discovered translating technical texts for a young audience is not trivial, but more on that later (future blog post spoiler).
Most of the time during the first lesson was spent on setting up accounts for the children in Scratch and making sure they knew how to bookmark the URL. Selecting usernames and passwords was not trivial. As a privacy addict and security minded guys this was not so easy. I did not want them to get caught in the typical pitfalls of, for example, exposing their real-life names in their usernames or creating a weak password. I ended up writing down all their usernames and a clue for them to recall their passwords.
The final minutes were spent simply exploring the Scratch environment and attempting to use as many of the building blocks as possible which introduced the fun factor again (until they found the sounds blocks which caused an explosion of sound in the classroom).
The following two lessons, and for some children also a third lesson, were spent on following the cards and implementing the game. I was amazed by how difficult this was for the children. Sitting down, reading a step by step instruction and following it turned out very difficult. My best advice was to treat the instructions like a recipe, this was something most children had some experience with and made them a bit more relaxed with beginning with the first step without worrying about all the next steps.
The next big challenge was that most children went blank after seeing the cards and the Scratch environment and needed to be really urged to do something. Although the cards showed exactly which blocks to use the children were hesitant to try. It took a lot of positive feedback towards the children that trying and making mistakes is better as doing nothing. I also remembered my mantra from last year: “What did you try?” And “What can you learn from that?”.
After two sessions, most children were able to implement the game and started enjoying themselves playing the came. Clearly the children had some good practice with the breaking down of big problems to small ones, making mistakes and having fun. They now had some experience with Scratch, so it was time for some additional challenges.
One of the challenges that were part of the cards was adding a bonus apple which would give additional points. This was a great stepping stone for all kinds of other features. For example, the poisonous apple which deducted points. Or the color-changing apple. Or anything the children could think of. I’ve seen big apples, small apples, lots of apples, disappearing apples, little monsters instead of apples, other baskets, etc. It was absolutely amazing to see how imaginative they could be. During this part, they were required to actually think of something creative to do with their apples (which they really liked) and had to implement that in Scratch (which they found really hard to do). My challenge during these exercises was to help them imagine something they could actually accomplish with Scratch.
During these five weeks the children worked really hard on their game in Scratch and had a lot of fun doing so. The cards were ideal to introduce Scratch to the children in their own pace. This did require a lot of flexibility as a teacher. To support children who needed more time I was able to add a sixth lesson. For children who were ahead of others I introduced an apple eating ghost assignment as an additional challenge.
Next year I would really want to continue on this taken course. My goal would be to build a new game in Scratch without the cards.
As a final note to all parents, children should bake more cookies! And if some of those cookies come out of the oven as charcoal, do not be sad, get the child a cookie from the cookie jar and try again!
Hugo Witsel - Principal Architect at Ximedes