With my context in mind, I am really interested in the development and best practices of computational thinking in early learners. At every level of my computer curriculum, I introduce coding language and modalities, but I worry that when I teach my kindergarteners and grade 1s that I am throwing them to the proverbial sharks and hoping they get it. I would like to learn more about how computational thinking develops in young students, and what I can do to support them at the level they’re at. Many teachers are familiar with Piaget’s developmental stages in children that helps inform us as to what a child can and cannot do/perceive/process at certain milestones, but do we have something like that assist our educators and learners navigating a digital world? At this moment, I use a multitude of coding resources at my disposal to make the concept fun, challenging, and age appropriate. Unfortunately, very few of the resources help provide direct information on any of the complexities of coding to students. The apps and programs that are easiest to understand for primary learners rely on visuals to convey these ideas and often require intervention by a teacher. The resources that are more technical and not as visually interesting do a much better job of integrating videos and text to help explain the concepts. At times it feels like I am winging it with the limited knowledge I have on the topic. I wonder if the way that I am approaching teaching coding is meeting students where they are developmentally at or am I expecting too much of them at that moment.

The BC Applied Design Skills Technologies (ADST) curriculum is quite vague in terms of what is expected in the ways of delivering high quality and age-appropriate computer science learning experiences, so there is a lot of trial and error with regards to what will work best for each student/class/grade level. Extending to the curriculum for the K-5 level, the concepts don’t change too much as to the direction I am given. I often look to my colleagues at the middle school level to see what they are introducing to their students, such as teaching introductions to JavaScript or building more complex block coding projects. I work backwards from their example. My 4/5s are starting bigger coding projects in anticipation for middle school learning, and my 2/3s are developing their competency in coding and solving basic problems independently. So where does that leave my grade 1s and kindergarteners? I need to assist them in creating a solid foundation for coding so they can start their journey with confidence. Are they ready for it? I’m not sure, but I try my very hardest to make it the most interactive and enriching experience for them.

I introduce coding very slowly with my kindergarteners and grade 1s by playing an unplugged monster colouring game where I have a few game boards, they have the arrow codes for us to follow, and we move around the games to discover who is the special monster of the code. We colour the creature and play more rounds where the codes get increasingly longer.

As the students get used to arrow based coding, I introduce them to the game Kodable on the iPad. It is a game in which a fuzzy ball character rolls through a maze and needs to collect 3 stars in each puzzle along the way. The student play this game over the course a few weeks completing their objectives and experimenting with basic loops and functions. It is a visual based game with no text. All of the coding buttons are easy to understand directional arrows and coding symbols. There is a testing mode, and an option to receive some puzzle support from the character’s best friend. This makes the app very successful for all my students. It doesn’t matter if they are on an Individual Education Plan (IEP), on an English as an Additional Language (EAL) plan, or struggle with reading. My students absolutely adore this program to the point where I usually integrate it into my grade 2/3 curriculum and assign even more levels that build on the concepts they learned in the previous year.

One of the biggest drawbacks of this program, however, is that the app doesn’t clearly explain what loops and functions are. I end up meeting students where they’re at and doing a mini lesson with students who are ready to learn the concept and I teach it face to face. The students eventually understand the concepts, but the students who are still working on the basic “first, then” level of coding often flounder until we sit together and walk through puzzle after puzzle. This directly ties into my interest in learning more about how children’s computational thinking comes to be, and how I can facilitate the most educationally enriching environment. I’d like to think that this foundation I’ve set down is solid for my young learners, because the grade 2-5s who already went through the process have great success in their later years when we do robotics and video game design. It begs the question though: was the learning they did in their primary years the early indicators of their later successes, or are more students just developmentally ready to get to this point quicker? I want to seek out the literature where educators study young students through a computer science lens and learn some of their suggestions for considerations to be made. Is there anything that I am neglecting to acknowledge, am I on the right track, or is there more that I could be doing? My school also has a Montessori program, so there’s another layer of complexity to my questions. I want to know if there is any literature on considerations for supporting computational thinking while it still aligns with the values of Maria Montessori’s philosophies.