Last week I had a chance to work with Mrs. Racine and her kindergarten class to introduce the concept of coding. To be honest, most of my experience with getting students started with coding has been in grades 2nd-5th. I've dabbled with using a Codeapillar and Beebot to introduce coding to young students; however, this school did not have access to these robots. I wanted to plan a thoughtful lesson that introduced coding in a way for kindergarteners to understand. This post is a reflection of our experience. I had said from the beginning that I was going to write a true reflection of our lesson regardless of how it turned out..so here it is.
Initial Thoughts
I thought about using an unplugged activity for the lesson. Code.org has THIS bank of unplugged (no devices needed) coding activities. When you search Pinterest for unplugged coding activities for kids all sorts of amazing ideas pop up! However, I opted out of the unplugged activity for our first lesson. When I, Mrs. Smith (a.k.a. iPad Lady), visit Mrs. Racine's classroom, the kids reaaaaaally want to use the classroom ipads to create.
Our Resources
First I had to look at the resources available that we had to work with for this lesson. Mrs. Racine has 3 ipads in her classroom and access to iPad carts. She filled out an app request form from their tech department with some apps I recommended at the beginning of the year but it is taking a LONG time to process. I know IT has a lot on their hands to manage but we have been waiting months for these apps to be pushed out. Hence what prompted me to create this meme I posted to Instagramš¬š
I also scoured my Tech Themed Children's Book List to find a book we could use to kick off the lesson and I decided on using Coding a Sand Castle, a book I had just learned about this past summer. It is available on Amazon in the image below (affiliate):
I did consider Hello Ruby Adventures in Coding but I think it might be a little too long for kindergarteners. How to Code a Sandcastle is a little less wordy but is packed full of coding basics. I knew I needed to start SIMPLE so I planned to read the first twelve pages and stop. I figured if Mrs. Racine and the kids wanted to continue learning more about coding (which was my ultimate goalš), I could return to read more and kick our lesson up a notch.
Our Lesson
Anticipatory Set: I ended up kicking off the lesson with a little discussion. I asked the following questions and discussion points:
- What does it mean to communicate? I was blown away that the kids KNEW what this meant. I had the image to the right printed out to help give them clues and I didn't even need to show it.
- How do we communicate with each other?
- How does (Student Name) communicate differently? (a child who just moved from China was in this class and knows very little English)
- Many people communicate differently because they speak a different language, are hearing impaired, are non-verbal, etc..
- Computers have their own language
- Coding is how people communicate with computers
- Code = how computers talk
- Coding is how we can create software and apps to help solve problems
Read Aloud: We then read the first 12 pages of How to Code a Sandcastle. The story is about a girl named Pearl who is spending the last day of her summer vacation at the beach and it's her last chance to build a sandcastle. She has had so many issues with things ruining her sandcastles so she decided to bring her robot, Pascal, to the beach to help her. Pearl talks about how she has to code Pascal by providing special instructions. As the story continues we find out that Pearl needs to first find a place to build and then provide Pascal with very specific instructions so he knows exactly what do to using a SEQUENCE. In the first 12 pages the reader also learns about how a LOOP can help you repeat something when coding. The kids seemed to enjoy the story!
After Reading: Before jumping into Scratch Jr., I wanted to do a whole group activity to show students that there are many different ways we can code a sequence and there isn't always just one right way. Each coder is unique and can come up with different or even multiple solutions. Mrs. Racine projected the emoji grid in Google Slides I created that is pictured below on the board (grab a free copy HERE). If you would rather have a PowerPoint version then click HERE. We asked students to think about how they could move the robot (the only moveable piece in this file) to get to the school (you could choose the school, stadium or bank). I chose to do this grid activity so it would be relatable to the grid that can be turned on in Scratch Jr..
Then we invited a few students to come to the board and point to the boxes (we moved the robot on the computer as they were saying the steps) while explaining the path they would take to get the robot from the lower left hand corner to the school by dodging all of the obstacles along the way. We learned that there are several different paths to get there and there isn't always just ONE right way. We all think differently and that is what makes us unique!
Then we invited a few students to come to the board and point to the boxes (we moved the robot on the computer as they were saying the steps) while explaining the path they would take to get the robot from the lower left hand corner to the school by dodging all of the obstacles along the way. We learned that there are several different paths to get there and there isn't always just ONE right way. We all think differently and that is what makes us unique!
Next we wrote out the steps on the board using arrows and numbers. We talked about how the sequence was very important because our directions could help someone discover a new path that they had never thought of before.
I am so glad we took the time to do this activity. When we introduced Scratch Jr. this emoji grid was a great point of reference.
☝At this point students had been sitting on the carpet for about 10-12 minutes. Therefore, Mrs. Racine handed out ipads and the students took them to their desk area and returned to the carpet for the next phase of the lesson. Those movement breaks are SO important for kiddos this age!
Modeling Scratch Jr: This was the hardest part of the lesson for me. There are so many awesome features of this app to code characters to do a variety of things but I knew I needed to keep it simple for our first lesson. I also wanted to make sure we were hitting academic standards besides "coding" so we decided to concentrate on sequencing and story elements for this lesson: character, setting, problem, solution. ☝Sidenote: Be sure to visit Tech with Jen's blog for all kinds of ideas on how you can incorporate Scratch Jr. into your literacy block.
We told the students they could pick one scene (background) and one character. The scene needed to have some kind of tangible item their character had to travel to (tree, gift, food...) just like how the robot traveled to the school on the emoji grid. If the scene they selected didn't have an object for them to get to then we showed them how they could select the paintbrush tool to draw something on their scene. It was amazing how all students needed to draw something once this was demonstratedš
After showing students how to select a background and one character, they headed back to their seats and got to work. We asked them to come back to the carpet once they had their setting and character in place. Those who finished early were our Techsperts and helped others so they could get to the carpet in a timely fashion. Most students were able to do this part with little to no help. Of course there were a few that forgot some of the steps even though the icons were circled on the board.
Next we showed them how to drag their character to an area of their canvas that was far away from what they were going to obtain (the problem: how am I going to get my character to the item?). We showed the coding blocks and explained how in order to communicate with our character, we have to first get its attention by dragging the green flag to be our first coding block. "You have to tell your character to GO!"
Finally we modeled how to use just the blue blocks to code their character to get from Point A to Point B just like we did using the emoji grid. In order to make Scratch Jr. look somewhat like our coding mat we had students "turn on" the grid to help them count "the amount of steps" they would have to enter on the coding blocks. Then it was time to let them go....
This is what a very basic code looks like that will get the cat to the apple on the ground. |
Independent Practice: The time finally arrived. Would they be able to do it on their own? I stood back for the first few minutes because I wanted the kids to attempt to try on their own and I wanted to avoid immediately jumping in to help. The room was SO quiet. The first child I happened to kneel down next to was the boy in the picture below. My expression says it all. I was blown away with the path he coded for his character. It was more than a couple of blocks that would get his character to move over and up. Instead he wanted his character to travel in a zig-zag pattern. Y'all, this was his FIRST time using Scratch Jr.. At this point I thought I had nailed the lesson.
My look of pure surprise and amazement š |
Then I glanced over at what the child next to him had programmed and she had a very basic sequence, much like in the Scratch Jr. screenshot above. Her sequence was more of what I was expecting from the students. However, she was just sitting there claiming she was finished. I asked if she wanted to try and code a different, more challenging sequence but she shook her head "no" and said she was happy with her creation. Maybe I shouldn't have use the words "more challenging"?š¤·♀️
Of course we did have a couple of students who needed a little more hand holding. They had a hard time establishing what number to type in for their blocks, especially when their character wasn't set at (0,0), something I didn't clarify when we were at the carpet. However, this was an excellent opportunity for them to problem solve, practice addition & subtraction and engage in a little trial and error. Wow, we were hitting even more skills than I had planned! I didn't even think about the math involved for this age group. Add number recognition and computation to the list!
My Thoughts
All in all I think this lesson went fairly well especially since we were fighting the clock and had a limited amount of resources. I left feeling like I had accomplished something mostly because the kids were excited and asking to do more. When I do this again I will make sure I raise my expectations. Many of the kids blew through the initial activity and moved on to create different, dynamic paths for their character.
At the end of the lesson Mrs. Racine randomly chose a student to sit on the carpet UNREHEARSED to ask what she thought coding was and what she used to code during the lesson. You can listen to her response in this video:
The little girl immediately knew that coding was how we talk to computers. She then went on to say she used the "Cat App" to codeš
Other Coding Apps for K/1:
- Kodable (LOVE)
- Box Island
- Daisy Dino
- Codespark Academy (several educators on Instagram highly recommended this one!)
- What else do you like? Feel free to leave a comment below!