Teaching to code

Code teaching framework

[Starting from Scratch up to GCSE]

Peter Novig gives a good account of how long it takes to really understand how to code in his blog post “Teach yourself to code in 10 years”.  I agree with his ideas, but how do you start this learning journey?

Learning to code is like learning a foreign language.

I’m going to Italy in 8 weeks time, I don’t speak a word of Italian so I’m not going to be fluent but what do I need to know to get by?

Probably “Yes / No / 1,2,3,4,5,6,7,8,9,10 / Please / Thank you / Beer”.

Where do you start when teaching students to code so that they can get by, then build upon, especially if you only have 8 weeks to teach it?  What areas are best to focus on at the beginning?

Assuming that students understand how to put instructions in order – or sequence – then I base my code teaching on developing:


  • “Sexy Code” – READ MORE

    • The next step: teaching how to write readable, maintainable code.  This is the goal of code teaching; the end game.   It is required of students at GCSE+


In order to nurture these skills I give my students lots of challenges to overcome, encouraging them to break down the problem into x3 discrete parts before starting any coding:

  • Inputs
    • What is the system expecting to be inputted?
  • Processing
    • What do you need to do with the inputs to create the desired output?
    • Is there any data to be stored or retrieved?
  • Output
    • What is the system expected to output?

(Read more in “How to tackle a problem”)

These challenges are levelled and increase in sophistication to enable all students to work to their individual abilities.

Challenges are fairly small but given out often, throughout the year.  In order to manage this regularity I encourage a culture of peer consultancy – students barter help with a made up currency that I call a ‘Hoken’.

I explain the process further in the following sections:



  • Using a Challenge Menu – READ MORE

    • Providing scope, challenge and help whilst ensuring motivation.  Cultivating a culture of consultancy/peer assistance to build independence and learning




  • Creative computing on the cheap – READ MORE

    • Creative computing is hands-on and in my experience is very engaging – but can be expensive
    • How to enable each student to develop physical computing projects for less than £300 for an entire class


One thing is true though, just like a foreign language learning to code takes regular practice.

Challenge beyond the school gates

A free online challenge delivery system including the virtual currency “Hokens” is in Beta:

codeChallengeLogo solo

CLICK HERE if you would like to take part in the Beta

Caucasian mid-adult woman paying bills on laptop computer looking at viewer and smiling.