What is Coding?
Code is the language that a computer understands. Coding, in the simplest of terms, is telling a computer to do what you want it to do. This begins with breaking a task down into logically sequenced step-by-step commands for the computer to follow. Coding allows users to investigate, problem solve, explore and communicate through discovery, and it is a way to express ideas creatively.
Coding requires computational thinking, which is embedded throughout the Ontario Curriculum. As a result of this, educators can incorporate code into learning for all curriculum areas. The task can consist of journals, interactive stories, literature retells, video, websites, e-mail correspondence, artwork, drama and dance routines, and so on.
What is Computational Thinking (CT)?
Computational thinking is accessible to all people, whether you use technology or not, and whether solutions to problems require technology or not. Computational thinking is about how humans think about the world and it’s problems, and how we can solve those problems in a structured way. Computational Thinking is about ideas that inform our technologies, and that lead to the creation of new technologies.
Why Should Students Code to Learn?
Coding provides students with the opportunity to be creative and innovative, and allows them to see computers as more than recreational/gaming devices. It offers engaging opportunities to create, collaborate and solve problems. The procedural thinking and computational thinking skills that students develop through coding activities can be applied to learning opportunities across the curriculum in any grade. Coding also allows students to understand that failure is essential to learning, and by continually debugging, mixing, and remixing code, students develop skills like perseverance, tenacity and grit that contribute to the development of learning skills and productive work habits.
It’s not about everyone becoming a coder. Coding to learn is about teaching kids to first see the world with empathy, find problems within it that are important to them, and design solutions to solve those problems and help others.
Where Does CT/ Coding Fit into the Curriculum?
Computational thinking skills can be integrated into any subject area.
From a numeracy perspective, coding is a form of computational thinking. That is to say, writing code to solve problems requires logical reasoning, spatial awareness, and fundamental principles of mathematics.
Furthermore, Ontario’s Renewed Math Strategy focuses on seven mathematical process skills/expectations —the actions of doing mathematics— which include problem solving, reasoning and proving, reflecting, selecting tools and computational strategies, connecting, representing, and communicating. These mathematical processes are embedded in coding tasks that develop computational thinking skills.
From a literacy perspective, coding tasks require students to revise and edit their work, write and follow a procedure, decode and comprehend text, and communicate their learning. Coding to learn requires that students work collaboratively, persevere to overcome challenges, while developing Global Competencies, and learning skills outlined in Growing Success.
Computational thinking skills provide students with a foundation and a mindset to understand their world today, and actively contribute to the world of tomorrow.
Where Do I Start?
As a teacher interested in computational thinking skills, coding and/or robotics, you have multiple entry points and an endless supply of information – all of which can seem rather overwhelming at times. The Computational Thinking & Coding Scope and Sequence resource was created to support teachers and students as they move through the various stages of learning to code, to coding to learn.
Looking for more ideas and information?
Looking for experts on the subject?
Peter Skillen has written a number of blog posts that you may also find helpful!