Exploring the Hinterland

There is great pedagogical value in exploring the hinterland with your students, as I explain in my article for Hello World magazine, issue 17 available as a free PDF here.

I shared a sneak preview of this article last month on this very blog. Now that it’s “out in the wild” it’s had some lovely reactions. Many schools are asking their teachers to add “cultural capital” to their teaching, and it’s a common misconception that this needs to be “bolted on” to the subject. Other conversations I’ve had reveal that many teachers think the “Issues and Impacts” or “Ethical, Cultural… Issues” topic in GCSE Computer Science is the only place you can teach cultural capital, after all it’s where we discuss the impact of tech on education and employment, the effects of eleectronic waste on the environment and so on.


My article (and for further reading, my book HTTCS) shows that there is cultural capital to be found across the curriculum, from linking Ada Lovelace to Byron and Mary Shelley, to Al-Khwarizmi’s influence in 9th C Baghdad, to the conflict between white settlers and native peoples in America’s west driving demand for the telegraph and eventually digital communications, cultural capital is everywhere in our subject. Read about it and share it with your students, your classroom will be enriched.


HTTCS on tour!

I’ve been a bit busy lately, hence the lack of tweets. I recorded a series of YouTube videos with Craig ‘n’ Dave over the summer, the first of which is here. I then recorded the Learning Dust podcast with Andy Colley and Dave Leonard which will soon appear here.

“Unscripted” with Craig’n’Dave.

And just now I recorded a “CAS Inspire” podcast with Beverly Clark which will soon appear here.

Also I have been busy with Edtech demonstrator work, delivering free training to schools via the United Learning Edtech Programme. If you need any help with Edtech: I can help as an official Edtech demonstrator, or with Computing: I can help as a CAS Master Teacher. Just reach out on Twitter @MrAHarrisonCS.


Core and Hinterland

This is a sneak preview of an article I wrote for Hello World magazine, whose “Big Book of Computing Pedagogy” is out now!

The Core and the Hinterland – why reading around the subject improves your teaching.

Having a laser-like focus on the exam board specification while teaching GCSE is extremely worthwhile: the exam is, after all, how they will be assessed. Knowing the difference between a worm and a virus will gain a mark. What won’t score on the exam is knowing that the first worm, called “Creeper”, dates back to 1971. Telling the examiner that the worm’s author Bob Thomas of BBN wrote the “Reaper” worm to get rid of “Creeper” is also pointless. But the teacher that knows this “hinterland” knowledge and can share it with their students brings colour and interest to the subject which can improve engagement. And teachers of Key Stage 3 and earlier should be delivering a rich curriculum that is enjoyable in its own right, while also laying the groundwork for GCSE studies. In short, there is great pedagogical value in exploring the hinterland with your students.


What are “core” and “hinterland”?

We can think of the core as the examinable material, what do they need to know to pass the exam? But as Christine Counsell warns in her 2018 blog: “if for the purposes of teaching, we reduce it to those propositions, we may make it harder to teach, and at worst, we kill it.” [1]

Counsell makes the point that students of English who commit to memory the plot, characters and stylistic features of a text from the revision guide will undoubtedly do well, but a true understanding can only be gained by “reading, bathing in the text, delighting in the text, alone and with others.”ibid

In his blog post “Signposting the hinterland…”, Tom Sherrington explains that the hinterland is as important as the core, and serves the purpose of:

  • increasing depth: niche details about a particular area of study that deepen and enrich the core.
  • increasing breath: wider surveys across the domain of any curriculum area that help to locate any specific core element within a wider frame. [2]

Sherrington give several examples including a music teacher sharing “a timeline of musical genres through samples from Purcell to Bjork – something we reference repeatedly as we explore our chosen composers in more depth”.

What is our hinterland?

Like the music teacher, we too can illuminate the subject with reference to the past. The backstory of computing is interwoven with world history and I regularly discuss new learning in the context of historical events. Teaching algorithms? Start with the origin of the word (Persian scholar Al-Khwarizmi of the Islamic Golden Age) and discuss how John von Neumann (yes, he of the architecture) devised Merge Sort to crunch numbers for the atomic bomb that fell on Nagasaki. Explaining validation? Tell the story of Margaret Hamilton’s Apollo computer “Lauren bug” and why it caused her to invent Software Engineering. [3]

We can find a computing “angle” in almost any event of recent history. From the encrypted messages sent during the Babington Plot against Elizabeth I to the problem of racial bias in algorithms used by 21st century police forces, bringing these narratives into class helps illuminate the topic, improve engagement and make learning stick around in long-term memory.


Why is hinterland important?

The new Ofsted inspection framework requires us to give learners the “cultural capital to succeed in life.”[4] The phrase “cultural capital” is often summarised as “the best which has been thought and said”, and as such it is the legacy left to us by the great minds of the past, and every child’s birthright. Computer science hinterland knowledge can also help learners build their cultural and science capital which is important if they are to see themselves as scientists or even computer scientists.[5]

Several of the pedagogy principles published by the NCCE[6] can be delivered through exploration of the hinterland, in particular the reference to storytelling in their advice to “make concrete” the learning (see box).

Bring abstract concepts to life with real world, contextual examples and a focus on interdependencies with other curriculum subjects. This can be achieved through the use of unplugged activities, proposing analogies, storytelling around concepts, and finding examples of the concepts in pupils’ lives.

NCCE 12 principles of computing pedagogy link

The hinterland paradox

Science and pedagogy blogger Adam Boxer makes clear the paradox of core and hinterland in his blog:

“there is content which we wish students to remember, and by contrast content we don’t deem necessary for them to remember. [But] without the ‘stuff we don’t need our students to remember,’ our curriculum becomes denuded of wider meaning and majesty: it ceases to be one thread of the epic story of humanity and becomes a sterile and sanitised exam-ready product.” [7]

It can be hard to solve this paradox, but teachers would do well to not shy away from the hinterland at all costs. I know that when I delve into the hinterland the learners are usually engaged and find it valuable. Indeed the “Von Neumann’s Merge Sort led to the Atom Bomb” story got a round of applause, that I am telling myself wasn’t entirely ironic!

The full article will appear in a future edition of Hello World magazine.

[1] ” Senior Curriculum Leadership 1: The indirect manifestation of knowledge: (A) curriculum as narrative” – Counsell, C. 2018.

[2] “Signposting the hinterland: practical ways to enrich your core curriculum.”, Sherrington, T. 2019

[3] “How to Teach Computer Science”, Harrison, A.J., 2021, John Catt Educational

[4] Education inspection framework (EIF), Ofsted 2019

[5] “Science Capital: making science relevant”, STEM learning blog 16 Jul 2019,

[6] Teach Computing quick reads,

[7] Core and hinterland: What’s what and why it matters, Boxer, Adam, 2019,


“Unplugged lesson?” Sure, just teach the knowledge without computers.

A previous blog post made it clear how I feel about the subject being called ICT. I even sent an email to all internal stakeholders this year making clear the distinction between Computing (National Curriculum title and the name of the KS3 subject), and Computer Science (the name of the qualifications we offer in KS4 and 5). We do not teach ICT.

ICT was characterised by practical skills: learning how to use software for purposes such as office productivity, communication, control systems and simulation. But Computing is a different beast: we teach the foundations, applications and implications of Computing. The KS3 section of the national curriculum document here contains a summary of the learning objectives in bullet points, each one beginning with a verb such as “understand”, “design”, “use” or “create”. without looking, have a guess what percentage of bullets begin “understand”. Answer after the ad…


The KS3 National Curriculum LOs include five bullets beginning “understand” and the other four are “use”, “design”, “undertake… projects” and “create, reuse and revise”. So five out of 9 or 55% of the LOs require acquisition of knowledge. There is no need to involve a computer in any of these, and much of the other objectives can also be taught without a computer.

Don’t get me wrong, I love using computers in my teaching, but I don’t feel I have to for much of the curriculum. So much is knowledge and understanding, that teaching it is just teaching. Techniques that work in the history classroom or the science classroom will work just as well in the computing classroom. It’s not ICT.

This blog was prompted by a request on Facebook for an “urgent unplugged lesson for Year 7”. My response was “teach whatever is on your curriculum for that day, just do it without computers.”. The national curriculum is more than 50% “understand”. Teach them to understand.


Kahoot goes into the cupboard of shame!

Has Kahoot had its day? Read on…

Keeping on top of the research and best practice ideas in Computing can feel like a struggle. This is actually a good thing, because it shows there are a lot of great people cracking on with driving our subject forward. But how to stay up to date and not drown? I like podcasts. One in particular has become a must-listen and I am catching up with old episodes this holiday.

Learning Dust: CAS Master Teacher Andy Colley and his sidekick IT Manager Dave Leonard have had a stellar lineup of guests on their pod since starting just over a year ago including Miles Berry, Prof Damian Hughes and Tom Sherrington.

There was controversy in a recent episode, when creator of and Director of Computer Science at Outwood Grange Trust, Tristan Kirkpatrick dared place “Kahoot” into the “Cupboard of Shame”. Why? Because it encourages speed of answers over depth of thought. Students race to be first, rather than right.


For what it’s worth I totally agree, which is why I use Forms, Quizziz and Quizlet, and occasionally Quizlet Live, instead of Kahoot now. What say you? And what podcasts do you listen to? Comment below, or on Twitter.


Win “How to Teach Computer Science”

HTTCS book cover
HTTCS book cover

Competition time! I am giving away three signed copies of my book, one each week for three weeks. All you have to do is Follow me on Twitter, then Like and RT my competition tweet to be in with a chance.

I will enter all the names into a draw and pull one out each Friday. If you are the lucky winner I will DM you for your address.

If you don’t win, remember HTTCS is just £11.35 on Amazon at time of writing and has received some excellent reviews here.


First competition starts today, look out for my tweet entitled “COMPETITION” (not this tweet), make sure you are following me then RT and Like the tweet. That’s all you have to do. Good luck!


It’s Computing.

meme of Julius from Pulp Fiction pointing a gun and saying Say ICT again I dare you

For several years, I have been teaching Computing in a school where nobody was sure what to call the department, subject or awards. Most of all, too many staff were calling the department or the subject “ICT”.

I recently clarified this with some publicity including this email to key personnel: T&L Director, Data Administrator, Exams officer etc.

The department is “Computing”, part of the Science Faculty. The KS3 subject is Computing which is the KS1 to KS4 national curriculum subject name.

At KS4 we have two qualifications now:

  • Computer Science GCSE (not Computing)
  • Creative iMedia Cambridge National Certificate (this is specific to my school, your mileage may vary 🙂 )

At KS5 we have just

  • Computer Science A-level

It’s a bit of a strange subject, as the National Curriculum peters out at KS4 and we have a qualification which is NOT Computing but Computer Science (which is not the same thing).

I hope that extract from an email I sent explains how I sorted out the confusion in my school. To understand something of how this confusion came about, I recommend my book, but also this excellent article about the history of Computer Science and its relationship with Computing, Information Technology and other fields: The Great Principles of Computing.


Live Coding

I am a big fan of live coding as a pedagogical technique to teach programming. As I note in my book (HTTCS available here) the evidence for effectiveness of live coding is clear:

Live-coding is an approach to teaching programming by writing actual code during class as part of the lectures. In a live-coding session, the instructor thinks aloud while writing code and the students are able to understand the process of programming by observing the thought processes of the instructor. […] We found that live-coding (1) makes the process of programming easy to understand for novice programmers, (2) helps students learn the process of debugging, and (3) exposes students to good programming practices.

Raj, Patel et al, Role of Live-coding in Learning Introductory Programming: link

On my YouTube channel I have now uploaded a live coding lesson I recorded recently. I talk through my thought processes as I solve a programming problem I composed. The problem itself and many others are available in a booklet I created for teaching skills needed to tackle the Non-Examined Assessment (NEA) in the 2016 GCSE spec. Although the NEA is no longer required, practical programming experience is still vital, so I still use these exercises with my classes.

In the video you can see and hear me narrate my thought processes as I solve the problem. I also demonstrate “call before write” coding, where I write a call to a subroutine, before later writing the actual subroutine. This matches my thought processes, and fits with the idea of decomposition, and solving a problem from the top down, focusing on the highest level of abstraction first, and filling in details later.


“Unscripted” with Craig’n’Dave

I’ve just finished working with Craig’n’Dave to record a series of three videos for their YouTube “Unscripted” series. It was an excellent way to spend a few hours, as all three of us love nothing more than talking about Computer Science teaching!

The first video will be live on their channel on Monday, with two more to follow each Monday. Subscribe here and don’t miss a thing!


Misconceptions: the enemies of progress.

This is a draft article for Hello World, the Computing pedagogy magazine from the Raspberry Pi Foundation. The full article will appear in a future edition, but you can also read much more about this topic in my book, available at Amazon here.

Misconceptions can leave the student frustrated and unable to make progress.

What is a Misconception?

A misconception is a view held by the learner at odds with true domain knowledge. They arise in everyday experiences, are imported from other subjects or are gained during prior learning episodes that were not fully understood.

In everyday conversation “the internet” is used to mean the world wide web, and that device provided by your ISP is not actually a “router”, it’s usually a combined router, switch, modem and wireless access point. Outside of networking, we find the misconception “secondary storage is used when primary storage is full” which seems plausible enough but wrong, and my students once tried to prank each other by suggesting slow performance could be solved by “downloading more RAM”.

Some misconceptions occur through misapplying learning in other subjects to Computing, using imperfect analogies to illustrate new concepts or by the deliberate teaching of a simplified truth lower down the school. The latter “necessary evil” misconceptions include “the computer understands binary” and “all programs are a series of steps”. Of course, the computer “understands” nothing, electrical circuits simply respond to high and low voltages. And students who study Computer Science to A-level will encounter object-oriented and functional programs which are not “a series of steps”.

Why are misconceptions important?

A 2016 study by Sadler et al showed that science teachers who were misconception-aware helped their students make better progress than those who were not. According to the researchers, “It is better if a teacher … has a model of how students tend to learn a particular concept, especially if a common belief may make acceptance of the scientific view or model difficult” [1]

Juha Sorva’s excellent 2018 paper “Misconceptions and the beginner programmer” can be found in “Computer Science Education” (Sentence et al, 2018). [2] As Sorva explains, “A student with [programming] misconceptions will produce programs that do not work. When a misconception persists, it can leave the student frustrated and unable to make progress.” (Sorva, 2018). [3]


Many programming misconceptions arise from a faulty “notional machine”, defined by du Boulay (1986) as a “viable model of program execution”, without which the novice can’t reliably predict what the computer will do with their code. This leads to misconceptions and slow progress. Exposure to a wide variety of example programs, narrated live coding, and encouraging learners to comment their code will all help.

Some key misconceptions.

Below is a selection of misconceptions from “How to Teach Computer Science”, from Sorva’s paper, crowdsourced my personal learning network or pulled from the “Project Quantum” set of diagnostic questions

Data RepresentationBinary can only represent numbers up to 255.Binary is the base 2 number system and can represent any number.
ProgrammingWhile loops terminate the instant the condition turns falseA while loop condition is evaluated only on entry to the loop, and every time the code block inside the loop ends  
Assignment statement a = b makes a and b always equal throughout the program execution  Assignment statements are made of two parts, the right-hand side of the assignment operator (=) is an expression which is evaluated, and the result stored in the variable on the left.
ArchitectureVirtual Memory is Cloud StorageVirtual memory is a space on the hard drive used to extend the available RAM
LogicNOT is a binary operator, taking two inputs, for example in A NOT BNOT is a unary operator, it takes only one argument, so
A NOT B is invalid. NOT B is valid as is A AND NOT B.
NetworksPeer-to-peer networks have a mesh topologyNetwork service model (P2P or client-server) is independent of the topology.
System SecurityThe “padlock” declares a website is trustworthyThe padlock next to the address bar in a browser indicates that  that a secure connection has been established using HTTPS. This means only that traffic is secured against passive attack (eavesdropping) by third parties. It says little about the trustworthiness of the website.

[1] Sadler et al 2016, “Understanding misconceptions”,

[2] Sentence, S et al (editors, 2018), “Computer Science Education”

[3] Sorva, J. 2018, “Misconceptions and the beginner programmer”

For much more on this subject, and a look at other pedagogical content knowledge useful to Computer Science teachers, see my book “How to Teach Computer Science” available now from publisher John Catt Educational, from Amazon and many online bookstores.