Coding. Everyone is talking about it. Experts are saying that we need to teach our kids to code to prepare them for jobs of the future. But what is coding? Coding is transforming actions into a symbolic language which can be run by a computer. The fundamental concept that underpins coding is computational thinking, made up of four main skills: decomposition, pattern recognition, pattern generalisation and designing algorithms. Experts say that strengthening skills in computational thinking, which can be taught through coding, will prepare students with the skills they need for the future.
Many people say that computational thinking is now just as critical as knowing how to read. Computational thinking is an essential skill for future careers, so we believe that every child at NIST should have the opportunity to explore coding and robotics. But what about in the Elementary School? Computational thinking is simply the ability to follow a step-by-step process to solve a problem. We do it every day in our daily lives- when we tie our shoelaces, when we make a sandwich, or even when we get ready for school every morning. Algorithms, or step-by-step procedures, are a part of our daily lives and they don’t have to be taught using computers or robots. Unplugged activities, using physical, concrete approaches, are a great way to introduce the idea of coding and programming to our younger students. Computational thinking skills are then further developed using apps such as Kodable, Osmo, Bloxels, Scratch and Swift Playgrounds, where students explore concepts such as sequencing, conditional situations, repeat loops and variables. Dash and Sphero robots also provide our Elementary students with a chance to write programs and see the effects of their programming.
Over the past two years, we have worked to develop the Computer Science program in the Elementary School at NIST. While computational thinking is vital to prepare for future work skills, we have been mindful to integrate learning experiences into the curriculum. Computational thinking connects to the curriculum through the IB Approaches to Learning (thinking skills, social skills, communication skills, self-management skills & research skills), Maths (shape and space, algebraic thinking, algorithms, logical thinking, problem-solving) and Literacy (giving & receiving clear instructions, writing using words & symbols, positional/directional language and procedural writing).
What does computational thinking look like in the Elementary School? Coding activities create opportunities for students to plan, take risks, problem-solve, iterate and persevere as they design, build and solve problems in a playful way. In the Early Years and Year 1, students have had a lot of fun exploring communication skills and directional language through coding unplugged activities (offline, concrete activities), such as checkerboards, maps, and cup stacking. Students as young as Year 1 have learned to write code and use symbols to communicate directions. These learning experiences have helped to develop mathematical communication skills through visual, concrete approaches related to mapping, the position of objects in space, and the relationships between different objects in space. Our younger students have learned to give clear directions, follow directions, and develop critical thinking skills. While working together in partners and groups, they have developed their cooperative skills and gained greater empathy for others. Debugging (identifying and correcting errors) also requires a lot of persistence and analysis, which helps students increase their metacognitive skills and develop perseverance.
After exploring coding unplugged activities, Elementary students have had the opportunity to further examine computational thinking, such as sequencing and conditional situations, through coding apps such as Kodable and Osmo. Our Year 2 to6 students have continued to develop their coding skills by exploring Bloxels, Scratch and Swift Playgrounds on iPads, leading up to more advanced coding capabilities, such as loops and functions. Dash, Sphero and Beebot robots have also been used to support Units of Inquiry, Mathematics units, and storytelling. Year 5 and 6 students programmed Spheros to perform tasks and move through mazes, while Year 4 and 5 students have used Dash robots to create polygons, solve riddles and draw figures using coordinate grids. Students in Upper Elementary have also explored the Swift programming language through Swift Playgrounds, which can be used to build their own apps.
This year, many Elementary students have been fortunate enough to work with Ms. Kim Tresohlavy, our Secondary School Computer Science teacher. Year 5 and 6 students have had the chance to program Sphero robots in the Robotics Club, and Year 5 students have created robotic solutions to problems around the school or in the world around them, using SAM Labs components. Elementary students with a passion for robotics and coding have also had a chance to advance their skills further, delving deeper into Kodable, Bloxels, Scratch, and Swift Playgrounds.
Coding may be the latest buzz word, but there’s more to it than that. We’re not only developing computational and mathematical thinking, but also literacy, social and metacognitive skills too. Computational thinking is a part of our daily lives and everyone can learn to code!