Kindergartners have the ability to do more than we often expect from them.
It’s true, and I witnessed it myself after integrating computer science and computational thinking into my kindergarten classroom. By the end of the year, I watched as my students’ ability to break down problems with machines and codes began to bleed into how they broke down problems with their peers.
Their social skills improved, their test scores improved, and they began to approach problems differently. They developed an independence in their learning that astounded me. It opened my eyes to what kindergartners have the capacity to do at a young age.
This transformation first began after our district committed to providing more opportunities for computer science to all of our students by the 2021 school year after attending the No Fear Coding Lab at 2018 ISTE conference.
To make computer science accessible to all students and to provide our students with the opportunity to see themselves as computer scientists.
As a kindergarten teacher, my goal in this work was to show that kindergarteners are able to participate in activities surrounding computer science and that this exposure contributes to their growth both academically and socially.
Recently, I had a class of 24 wonderful students with a wide range of learning needs. While some had never been to school before, others came in ready to read. No matter what happened, they were incredibly flexible and able to adapt to whatever situation they were faced with.
This year was my district’s first of implementing a rigorous new curricula into our classrooms. We were tasked with spending about 3 hours in our reading block and 2 hours in math. We also tried to work in science or social studies daily and some direct writing instruction as well.
You can imagine that all of these requirements left little time for a separate computer science block.
With so much time allotted to our core subjects, one challenge that was presented to me was finding the time to do this with my students.
However, after reading Heidi Williams’ book No Fear Coding, I found that computational thinking was something we already do as educators, but we don’t often put a name to it. I began using the computational thinking principles of decomposing problems and creating algorithms to integrate computer science practices into my core subjects.
This shift had the biggest impact on how I introduced guiding questions in our reading units.
Rather than simply introducing the question for a reading unit (e.g. “How do animals depend on trees?”) and then moving on, we dove deeply into the question. We asked ourselves and each other questions like “How are we going to find our information? How are we going to keep track of what we learned?” (Questions inspired by No Fear Coding.)
These questions were important for my students because it helped them anticipate the work we were doing in each unit and also provided a purpose for each activity we did. If we were taking notes, we now understood that this is a way to help us organize and keep track of what we learned as opposed to this just being an activity where I am making them write.
We also decomposed our problems with each other and with the codes we created.
When my students were introduced to their first robot and it didn’t work the way we thought it was supposed to, we asked ourselves, “What happened? What was supposed to happen? Where did it stop working? How can we fix it?” (Questions gathered from a presentation with KiKivsIT).
Although this helped us in our breaking down of problems with machines and codes, I noticed that my students began breaking down other types of issues in the classroom by asking themselves these same questions. Usually after both sides explained what happened, they were able to spot where it “stopped working” and fixed it together through apologies or explanations or their intent.
I began noticing my students going to each other and breaking down their problems. If one student ran into another one, rather than Student 1 telling the Student 2, “You hit me,” the conversation turned into:
Student 1: “When I was walking, your arm hit me.”
Student 2: “I didn’t know I hit you, sorry.”
Student 1: “That’s okay.”
It was amazing to see this unfold and to see students start to use this strategy on their own.
There are several tools that support my integration of computer science into core content.
To transform letter- or number-matching activities, for example, we used our Bee-Bots, adorable robots shaped like bees that are designed specifically for young children. We used LEGOEducation Kits to provide a different setting to use skills. Strategic use of our reading block gave students multiple opportunities to make our activities cross-curricular (e.g., through comparison).
Using these tools also provided my students who were shy or had more academic difficulty a time and space to shine. Oftentimes in these activities (e.g., building with our LEGO kits or programming our Bee-bot to reach a letter they learned), these students were the ones helping others create and debug their algorithms and fix their builds.
In addition to increasing their “fire” for learning, integrating computer science and computational thinking into my classroom produced incredibly independent students.
I am still in awe of where my students ended up by the end of the year. They were decomposing and debugging their own problems and relying on each other to help solve their problems. They also showed increased perseverance. Instead of giving up on a task after it didn’t work the first few times, they continued trying and enlisted the help of their peers.
One group of my students was even able to build and code the LEGO WeDo2.0 moving satellite with no help from me. I can’t even begin to describe how rewarding it felt to watch them retrace their steps and ask themselves where something stopped working and how they could fix it when a part of their build didn’t look correct. To see them working so hard and independently and going back and relying on each other for help was amazing.
They all truly saw themselves as computer scientists and approached challenges differently as a result.
This spirit of perseverance was also evident in their end-of-the-year tests. They were able to put on their “challenge face” and try their hardest even though the questions were hard. I truly believe this change in attitude led to over 70% of my students surpassing their expected year’s growth (per the district’s online assessment tool’s data).
Ultimately, integrating computer science and computational thinking into my curriculum transformed my classroom culture. My students saw each other, not just myself as their teacher, as sources of knowledge. They were also excited to learn, be challenged, and left my classroom as a family.