An overhaul of computing education is looming in schools throughout the UK.
In recent years - but at least as far back as when I was a pupil in the 1990s - education in computing and computer science within British schools had a rather narrow focus. Children learned mainly about operating computers: using word processors to write documents, whipping up spreadsheets, (maybe) building simple databases and proficiency in using an operating system (any operating system, so long as it's Microsoft Windows).
There's nothing wrong with this. It's a fine goal to teach someone how to make good use of everyday applications. However, it must be admitted that this narrow focus merely teaches children how to be passive users of a computer. It gives them no grounding in the fundamentals of computing; they learn nothing about how a computer actually works.
But the upcoming overhaul of computing education will change that. Computing education will in the future focus on things like what an algorithm actually is; how to program a computer; how a program relates to an algorithm; how to detect errors in programs; how to reason about source code and find errors, and much more. It will be like physics lessons going from focusing on how to drive a car to learning the principles of the internal combustion engine.
And these changes won't only affect college-level, or secondary school-level. It will begin from the first year of primary school.
Parents naturally want to support their children's learning at home. With many subjects, you can do this. Many of today's subjects are the same as when you were at school (Maths, Science, English, History etc.), so discussing their contents and helping with homework are doable. But chances are you were taught nothing about computer science at school, so how could you support your child in this subject?
One way to get a feeling is to look at the proposed syllabus. Schools in England and Wales divide all schooling into several blocks called key stages. Each key stage covers several years of a child's education.
Key stages 1 - 3 cover all of primary and most of secondary education. Children educated within these stages are aged between 5 and 14 years. Here's a link to the UK Government's breakdown of plans for teaching computing in England, but I've picked out some of the key parts here:
Key stage 1 (aged 5 - 7 years)
At this stage, some things your child will learn include:
- What an algorithm is
- What a program is and how it relates to an algorithm
- What a digital device is
- How to perform simple programming
Key stage 2 (aged 7 - 11 years)
- Understand the importance of sequence, selection and repetition in algorithms
- Understand computer networks
- Use logical reasoning
- Understand and detect errors in programs
Key stage 3 (aged 11 - 14 years)
- Use and evaluate computational abstractions
- Understand key algorithms (e.g. for sorting and searching)
- Understand binary numbers and their use in computing
- Understand how instructions and data are stored and executed in a computer
Some may look at that list and find that most of the items mean nothing to them. That might be discouraging if you're a parent with a child in school. Nevertheless, it might prompt you to learn about the subject for yourself so you can share in what your son or daughter is picking up in computing lessons, but you may be unsure where to begin.
That's one of the reasons I wrote my recently released book about computer science, Brown Dogs and Barbers. It has several intended audiences, but one of the primary ones is those people with no background in computing whatsoever who would like to learn about its fundamentals. That's why it's an easy-to-read book with a fun, casual style and touch of humour mixed in.
As an indicator of how helpful Brown Dogs and Barbers should be, compare the list of topics covered in the book (below) with the school syllabus. Topics that appear in both the book and the syllabus are emphasised:
- Graph Theory
- Set Theory
- Sequence, selection and iteration
- Theory of Computation
- Turing Machine
- Halting Problem
- Complexity Theory
- Binary and Hexadecimal
- Binary Architecture
- Von Neumann Architecture
- Machine Coding and Assembly Language
- High-Level Programming Languages
- Searching and Sorting
- Data Structures
- Operating Systems
I think that my book is ideal if you have school-age children and want to brush up on computer science so that you can prepare yourself to help them get to grips with this sometimes challenging but nevertheless rewarding and important subject.
It's available to order at Smashwords or Amazon, where there are also samples to try before you buy.