The book is taking shape. This is a draft introduction. I welcome feedback and crowdsourced ideas as discussed at the bottom of the piece.
- “Sir, what was the point of computers before the internet?”
- “Miss, how does my browser know where Google is?”
- “Sir, how do computers know 0100001 is “A” and not the number 65?”
This book is for every Computer Science teacher who has ever been asked that question: one they can’t answer but wish they could. It’s for new or aspiring teachers wishing to improve their subject knowledge and thus gain some confidence in the classroom. And it’s for experienced CS teachers who wish to hone their practice, in particular in the areas of explicit teaching, tackling misconceptions and exploring Pedagogical Content Knowledge (PCK).
We will explore some of the backstory to our subject – the Hinterland – those fascinating journeys into history or across the curriculum that make the subject come alive. We will go beyond the mark scheme to explore the subject knowledge behind the answers, giving you the confidence to discuss the subject in greater depth. We will discuss potential misconceptions that arise when teaching our subject, so you can “head them off at the pass”. And we will look at some teaching ideas for each topic: the Pedagogical Content Knowledge which tells us what analogies, questions and activities work well for a given topic.
The germ of an idea for this book was planted by this blog “Signposting the hinterland…” in which Tom Sherrington explains that curriculum can be divided into “core” and “hinterland” where 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.
Sherrington quotes from an earlier blog by Christine Counsell which explains why the hinterland is important.
“The core is like a residue – the things that stay, the things that can be captured as proposition. Often, such things need to be committed to memory. But if, in certain subjects, for the purposes of teaching, we reduce it to those propositions, we may make it harder to teach, and at worst, we kill it. “
This book aims to assist Computer Science teachers in sharing some of that hinterland with their students, to enrich their studies, cement core knowledge in a wider context, and engender an appreciation for the subject that goes beyond what’s required to pass exams and in many learners will excite a life-long love for the subject.
Computer Science is a young subject, taught in schools only since the early 80s and – after a hiatus in which “ICT” took over in UK schools – re-established as a core subject only in 2014, as part of the National Curriculum subject of “Computing”. Computer Science graduate teachers are scarce and many schools employ non-specialists to teach our hugely important subject. Pedagogy specific to Computing is therefore under-developed and – by many teachers – largely overlooked. Computing teacher forums and social media groups are awash with requests for “lessons on <x>” and “schemes of work for <y>”, much rarer are the conversations such as “Should we do <x> before <y>?”, “Is this a good analogy for teaching <x>?”, “What misconceptions do students develop when learning <y>?”.
These questions are seen regularly in online communities dedicated to more mature subjects such as English, Geography and History. We will explore pedagogy such as the best way to teach sorting algorithms, and I’ll be asking “should we use that Hungarian Dance video?”. We’ll see how PRIMM and Paired working are getting results in programming lessons. We’ll look at techniques to explain networking including post-it note packet switching, and asking the question: “are we spending too long making topologies out of string, and not enough on how the internet works?”.
A misconception is like Japanese knotweed, once it takes hold it is hard to shift. I have a student in Year 11 who insists on “terminating” his functions with a function call, a misconception I myself accidentally embedded in Year 9 through careless teaching of subroutines. We will look at common misconceptions that can develop when teaching our subject, because they are best addressed at the moment they arise rather than later. Knowing which ones to look out for in each topic, and employing tactics to identify and rectify them will greatly improve your practice.
Throughout the book we will explore how current educational research findings can help inform our practice, such as how to embed Rosenshine’s principles of instruction in the Computing classroom to flatten the “forgetting curve”. Because “memory is the residue of thought” as Daniel Willingham explained (PDF), we will discuss many ways to get students thinking hard about the subject knowledge that matters. And we will see how techniques like Pair Programming can reduce cognitive load to great effect.
Reading this book should improve your performance as a Computer Science teacher. That is my primary aim. I also hope it improves your confidence and therefore allows you to enjoy teaching our wonderful subject as much as I do. In the introduction to his important book “A Discipline of Programming” (1976), Edsger Dijkstra wrote “My original idea was to publish a number of beautiful algorithms in such a way that the reader could appreciate their beauty”. If this book reveals only a tiny fragment of the beauty of Computer Science and gives you the confidence to share it with young learners, then I will have achieved my goal.
My as-yet untitled Hinterland book will be out at Christmas, I welcome ideas for inclusion in the book, including the best tales from the history of Computing, anything on Pedagogical Content Knowledge, and common misconceptions. Comment below or on Twitter via @mraharrisoncs. Thank you.
Alan Harrison BSc. (Computer Science, 1989), MBCS, PGCE, MCCT
CAS Master Teacher, CAS Manchester Central Community leader, Raspberry Pi Foundation content author.
Head of Computer Science at William Hulme’s Grammar School, Manchester.