Computational Thinking, Learning Skills, 6Cs, and 4Ps – Why Teach Coding?

Computational Thinking, Learning Skills, 6Cs, and 4Ps - Why Teach Coding?

I’ve been doing some extensive reading by by Jeannette Wing about a term known as Computational Thinking . She testifies that Computational Thinking represents 21st century fluencies as a fundamental skill – as much as reading, writing and arithmetic.

It represents a universally applicable attitude and skill set everyone, not just
computer scientists, would be eager to learn and use.

Much of this post stems from our newest Ministry project as we are attempting to build a “coding” resource for elementary folk here in Ontario. The big question becomes “why”. Why code? Why teach coding? And of course, where does it fit?

Its easy for us to skim through the curriculum and find specific expectations per grade, subject and strand. But I want people to realize it’s more than that.

The Finnish government announced recently that programming will become a part of the curriculum in 2016, replacing — to the chagrin of some and the delight of others — one math lesson a week.

Computational Thinking is very abstract. It is a picturesque canvas. It supports one’s spatial awareness. It’s like playing chess and being five moves ahead based on three different scenarios. This is something I want students to develop. Something more than just linear learning.

I also think there is room for inquiry in coding. Not just from the “If we….then we” standpoint. But from a purely curious and engaging way to ask questions about manipulating technology. “What happens if I change variable X?” or “How do I move Sprite A from here to here?”.

Collaborative inquiry holds potential for deep and significant change in education. Bringing educators together in inquiry sustains attention to goals over time, fosters teachers’ learning and practice development, and results in gains for students.

What I admire the most about getting students to think critically and coding is the instant real-time feedback. When students “run” their code, it works or it doesn’t. They don’t have to wait for the teacher to determine the level of success.

Taking this one step further, students whose code doesn’t run properly instantly become collaborative, if they haven’t been already. Secondly, you can administer conversations around failure and what it means to take risks.

Lastly, let us discuss Michael Fullan’s 6C’s. They are:

  1. Character education— honesty, self-regulation and responsibility,
    perseverance, empathy for contributing to the safety and benefit of others,
    self-confidence, personal health and well-being, career and life skills.
  2. Citizenship — global knowledge, sensitivity to and respect for other cultures,
    active involvement in addressing issues of human and environmental
  3. Communication — communicate effectively orally, in writing and with
    a variety of digital tools; listening skills.
  4. Critical thinking and problem solving — think critically to design and manage
    projects, solve problems, make effective decisions using a variety of digital
    tools and resources.
  5. Collaboration — work in teams, learn from and contribute to the learning of
    others, social networking skills, empathy in working with diverse others.
  6. Creativity and imagination — economic and social entrepreneurialism,
    considering and pursuing novel ideas, and leadership for action.

The overall purpose of these six Cs and their underlying DNA is the well-being of
the whole student, and the well-being of society, which essentially consists of
higher levels of student achievement and the capacity to apply what one knows

So, from a numeracy standpoint, literacy standpoint, soft skill standpoint or collaborative inquiry standpoint, it seems pretty clear we should be exploring coding in elementary schools.

If you would like to see a few tutorials I have made, check here: or just play around with a few apps listed here:

Lastly, here are some student products they coded to support numeracy: It’s neat to see students demonstrating all of the above while they code an app to find the area of a circle. Again, it takes that linear learning and makes it multi-dimensional.

My students coded these “apps” using the tool by MIT called Scratch. Scratch was developed to support the 4P’s – projects, peers, passion and play back in 2003 – YES, 12 years ago.

I’d love to hear how you plan to try coding with your students. Let me know how I can help.




(Visited 3,355 times, 2 visits today)

11 Responses for this post

  1. Heather Durnin
    Heather Durnin
    | |

    I recently read @tasneemraja ‘s brilliant article on Computational Thinking & application in the classroom. “Why Computer Literacy is Key to Winning the 21st Century.” She focuses on the need to move from a code heavy approach (how) to the why so we don’t just attract those who are already drawn to coding. We want lots of different kinds of kids who will see a use/value for it in other areas (e.g. medicine, architecture).

    I’m using Scratch in my gr. 8 classroom and initially had several students ask why they need to learn coding. We spent quite a bit of time talking about the why. I also shared The Programmers Price (Rockstar analogy) It was a hit.

    Moving forward, I recently came across GameMaker. If interested, it transitions students from drag/drop programming to scripting via game design. Resources “How teachers can use it”:

    I was excited to read your above line…”our newest Ministry project as we are attempting to build a “coding” resource for elementary folk here in Ontario.”

    I’m in:) Let me know if there is anything I can do to support this goal.

  2. dougpete
    | |

    I think that there’s another big consideration for this. We focus on coding as a solution to a problem and there’s absolutely nothing wrong with that focus. After all, that’s why you write the code. You touched on it with your chess analogy…as a programmer, there’s another consideration. The end user. If a student writes a piece of code, they also need to take into consideration how others will use their code. No two people take the same approach and the design of their solution in terms of user experience and the display of any results in a global meaningful manner requires some pretty sophisticated thinking, planning, and coding. You’ve got to appreciate the benefits of that.

  3. Michelle Cordy
    Michelle Cordy
    | |

    Thanks for the nod, Brian! In some ways, I think computational fluency is even broader then coding. To my mind, it even includes spreadsheets. It’s problem solving on a big level and working with complex and unweildly problems by thinking very logically and breaking things down into computable pieces.

    There are a lot of different ideas to chew on here. You’ve touched on a lot of interesting leads!

  4. Anthony Chuter
    Anthony Chuter
    | |

    Great post Brian with a number of good references in both your write up and the comments! I totally agree that some curricular representation of coding, programming and computational is needed for for primary learners in Ontario. Sign me up to help! Like a language, our younger programmers need lots of experience learning to write code and tinker digitally to handle the increasingly technical challenges of tomorrow, especially when surrounded by an Internet of things. Here are three resources I particularly like:
    1. By Miles Berry
    2. – computational thinking video by ISTE
    3. – from UNESCO

    Look forward to continuing discussions re:scratch, hour of code and beyond


Leave a Reply

Email *