Coding

In 2017 a talented and innovative team of ten elementary educators in AMDSB came together as a Professional Learning Community (PLC) to inquire about how to integrate computational thinking through coding across the curriculum. Our purpose was to help students learn by developing the skill sets they need to be successful today, and in the future. The process of our learning culminated in a curriculum-based resource designed to support teachers and students in K-12 with the integration of computational thinking through coding into their classroom programs. READ THE FULL STORY HERE

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.

~ EduGains, Coding in Elementary

What is Computational Thinking (CT)?

Computational thinking is a set of skills that can be developed by 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 its’ 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.

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.

~ Brian Aspinall

Why Should Students Learn to Code?

It’s not about everyone becoming a coder. As we transition in understanding from learning to code to coding to learn, we recognize that “coding” 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.

~Leigh Cassell

Coding provides students with the opportunity to be creative and innovative, and allows them to see computers as more than recreational/gaming devices. The experience of coding offers students engaging opportunities to think critically, collaborate and solve problems. The procedural thinking and computational thinking skills that students develop through coding activities can be applied across the curriculum in any grade. Coding also allows students to understand that failure is essential to learning, and by continually debugging and remixing code, students develop skills like perseverance, tenacity and grit that contribute to the development of learning skills and productive work habits.

Students who learn CT across the curriculum can begin to see a relationship between subjects as well as between school and life outside of the classroom.

~ Google for Education

Where Does CT/ Coding ‘Fit Into’ the Curriculum?

Computational thinking skills can be integrated into any subject area…

When I Code I Am

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 and developing 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.  Learning to code 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. 

Teaching students to think computationally is about moving technology projects beyond using tools and information toward creating tools and information.

~Computer Science Teachers’ Association

Where Do I Start?

As a teacher interested in learning more about 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. Our team created a Computational Thinking & Coding Scope and Sequence and Companion Guide to support teachers and students as they move through the various stages of learning to code, to coding to learn. Our Scope and Sequence is divided into 4 sections: Learning Skills, Global Competencies, Computational Thinking and Computer Science Instruction (Programming Skills), and Languages and Platforms. If you are interested in learning how to design and develop your own school or district Computational Thinking & Coding Scope and Sequence/ Continuum please contact me.

If you are looking for a curated collection of resources to begin, or further your conversations about coding and computational thinking in your school or district, I encourage you to check out the following:

Coding and Computational Thinking Resources

Teach Ontario Coding and Computational Thinking in the Classroom Hub (created by Lisa and Steven Floyd)

Looking for experts on the subject?

Be sure to check out Brian Aspinall’s website, or find him on Twitter @mraspinall

Lisa Anne Floyd and Steven Floyd are leading Ontario experts who have a wealth of information, resources and experiences to share. Be sure to check out their Teach Ontario Coding and Computational Thinking Hub.

Peter Skillen has written a number of blog posts that you may also find helpful! These are a few of my favourites:

So You Want Kids to Code! Why?
‘Making’ Does Not Equal Constructionism
Remembering Seymour Papert in Ontario Education
Let’s Not Start from Scratch: Some Early Research on ‘Coding’