Three Questions About Learning to Code

December 3, 2016 — 6 Comments

Computer Science Education Week is December 5th-9th. Classrooms across Ontario, throughout Canada and around the world will be diving into Hour of Code activities. As we do this, I would like to ask a couple of questions:

1) Should students learn to code? 

2) Should teachers teach coding?

3) Is coding in the curriculum?

1) Should students learn to code?

What would your students say if asked?  Members of my coding club share their thoughts in the video below (their answers may surprise you):

2) Should teachers teach coding?

Yes: We should use coding as a teaching tool if we think that it is the most powerful and efficient tool to teach a concept.  John Hattie says that almost every single intervention and tool in education can be found to be effective. He encourages us to “Ask not what works, but what works best.” Listen to John Hattie’s keynote from the Education On Air event held on Friday, December 2nd 2016 (watch from 19:23-19:50) to hear these very words and other related ideas:

No: We should not be using coding as a teaching tool if there are other more effective ways to teach the curriculum expectations.

Yes: We should teach coding because it is an opportunity to develop computational thinking. Computational thinking is modern problem solving.  George Polya’s four step problem solving method was introduced in 1945. Remember these four steps:

  • Understand the Problem
  • Make a Plan
  • Carry out the Plan
  • Look Back

This method for problem solving has been effective for teaching math for a long time, but will it be an effective model of problem solving for the future? The problem solving skills and habits of mind listed below are more fruitful for the current world we live in and the types of problems our students may face now and in the future:



Yes: By 2020, there will be over 200,000 unfilled jobs in Information Technology says ICTC.  50% of those jobs will be indirectly or directly related to app development.  If one of the roles of education is to prepare our students for employment, then we should be giving all students opportunities to learn to code since students are likely to get work where they are either coding or working with a developer/programmer.  It is up to us to ensure that all students, including ones in my video above, to understand that learning to code is relevant to their lives.

3) Is Coding in the curriculum?

The short factual answer is no.

If you look more creatively at the curriculum the answer might be yes.

If you search the Ontario curriculum documents or the Achieving Excellent document, you will not find any explicit mention of coding or computational thinking.


The only place I found anything close was a reference to computational strategies, which is not the same as computational thinking.

However, teachers can use coding as a tool to teach the curriculum, just like you might use a chocolate sundae making activity to engage students and teach about procedural writing or you would use a ruler when working on measurement.

According to people like Dr. Julie Mueller, coding and computational thinking is “hiding in plain sight” in the curriculum. This is a perspective that was presented by Dr. Mueller and her research collaborator at a session in August 2016. The same thinking and problem solving that is foundational to science, math, inquiry in social studies is also foundational to computational thinking. Also, some have found that there are many expectations in many documents, such a math, that can be explicitly taught with and through coding.  See for example Integrating  Coding into the Elementary Curriculum by Lisa Floyd, secondary school teacher.

And, while coding is not in the curriculum, Ontario Premier Kathleen Wynne has written an open letter to the minister of Education Mitzie Hunter encouraging educators to dip a toe, ever so gently, into computer coding:

kathleen-wynne quote about coding



6 responses to Three Questions About Learning to Code

  1. So once again you continue to ask the tough questions but I also think you hit the nail on the head with the Hattie comment. It is all in the right tool for the right time for the right student. Is coding the end all to be all no but neither is the is the pencil for everyone.

    That being said should all students be exposed to it, yes. Is it beneficial, yes. Is it explicitly in the curriculum, not out right but it is.

    In our geometry and spatial sense components of math you will find all of the coding areas. You have transformations geometry, coordinate grids, lines, mapping, etc. These are all components of understanding the fundamentals of curriculum. Might there be better ways of teaching, yes but whose to say that coding isn’t.

    I think we have to be professionals think what is best for our students and teach to that. If we do that we cannot go wrong.
    Thanks for your post

  2. Yes, it is ‘hiding in plain sight’ in our curriculum. Brenda Sherry and I have discussed this SOOO much for the last 13 years—since we met. Gary S. Stager has discussed it with us too. It’s a challenge for sure…because teachers are able to do it relatively nicely within the existing curriculum. (Perhaps a little Ministry encouragement and guidance will help. ) But a coding, or computational thinking curriculum is another matter.

    I was asked to do this in our school district (North York) and in the province in the mid-eighties. There was a cry for a scope and sequence curriculum for programming in elementary schools then! In my position as SIG-Logo lead and Computers in Education curriculum dude for North York, I did not want it to happen…for many reasons.

    It would mostly sanitize it. Worksheet it. Make it a check list of skills. Many teachers wouldn’t have the passion, interest and skills, in general, to do it well.

    Better, in my opinion, to encourage and support teachers to integrate it beautifully and passionately into various existing curriculum areas. The Ministry supports that…wants that.

  3. For those who want curricular ideas NOW, the Logo Exchange (a Logo Foundation publication by my old friend Tom Lough) has been archived and put on this MIT site. It’s fun for me to see them there…since I received these throughout this time. :-)

    Check this one for example:

  4. And, if you REALLY want to stretch your math brain…try Turtle Geometry by Hal Abelson from 1981.

    It is a college level math book which I purchased and couldn’t understand AT ALL! LOL

  5. Michelle, I really enjoyed the student video. They have an excellent balanced perspective on the subject.

    I would like to say that if visual arts, drama, and music are mandatory at some point in a child’s K-12 studies there should be some minimal exposure to coding. CT is just modern problem solving so for any subject that requires problem solving (Math and Science) there should be resources available for interested teachers and students. That being said, if teachers have developed other non-CT resources already that work well I don’t see any need to force teachers or students to code.

    As a high school CS teacher I would love to see “almost all” students try coding at some point either integrated into Math or Science by a passionate teacher or through an introductory CS course such as Grade 10 or 11 CS. There are some students who would be poorly served by forcing them to take coding classes. However, I would love to see a mandatory Technology Integration course that would be similar to Careers or Civics ( half semester only ). Such as course would focus on ensuring students graduate with Technology Literacy skills to be an productive and responsible consumer or technology. Technology makers are optional skills in my opinion and simply not for everyone. Just as Visual Art makers are optional skills. Appreciation for these disciplines can be provided without any in depth learning objectives.

    Grant Hutchison

Leave a Reply


Text formatting is available via select HTML. <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>