The 2014 National Curriculum for England is less detailed than prevous versions - at Key Stage 3 it describes a common core for each subject that teachers are free to embellish and augment as they see fit, and at Key Stage 4 it just says that Computing should be taught but gives no further detail.
When planning a curriculum, one question you could ask yourself is "What does it look like if someone is good at Computing?" Think about the things that such a person could do, make a list and sequence them into an appropriate order so that areas that depend on other topics come later in the course. The following is the list of topics that I chose - together with free resources to teach them. I've left the order up to you, so it's more a specification or programme of study than a scheme of work, but it represents what I would like students to know by the time they leave school and there's link to a suggested scheme of work below.
The list includes, and expands upon, those topics included in the National Curriculum for Computing. If students get a good grounding in the theory at Key Stage 3, you will find that there is actually very little left to cover for GCSE Computer Science, and you can concentrate on practising programming techniques and revising for the exam.
KS3 Computing Curriculum
There are no attainment targets in the new National Curriculum, so I have split the course into six sections that map approximately to the bullet points in the KS3 curriculum:
- Representation of Data - how different types of data are all stored as numbers inside the computer (and numbers are stored as binary)
- Maths for Computing - including number bases, Boolean logic and an introduction to the idea of graph theory
- Algorithms and Programming - including sorting, searching, Scratch, BASIC and Python
- Networking - including transmission and error-detection
- Information Systems - including spreadsheets, databases, and the use of HTML and CSS to create web-pages
- Examples, Revision, Scheme of Work and Assessment
Notice that I don't see "computational thinking" as a separate topic - it's more a side-effect of having sound knowledge and understanding of the other topics in the curriculum, and being able to link them together.
Some of these topics are of conceptual interest, while others, such as wireless networking, will be of practical use in the home or workplace. I have grouped them to facilitate assessment and reporting. Links are to pages within this site, PowerPoint shows to introduce topics to the class, or to resources and examples I have created in other sites such as Scratch and replit.com. There are also supporting blogs and a YouTube channel.
Curriculum Concept Map
One of the reasons that I prefer KS3 Computing to the old KS3 ICT curriculum is that the topics link to form a coherent whole, and my students appear to like that too. In Visible Learning, John Hattie identifies linking areas of the curriculum as one of the top ten most-effective teaching techniques, and empirical evidence suggests that this is something that teachers from a non-Computing background struggle to do. I have therefore also created a Computing curriculum concept map to show how these topics are related and what links them together.
Creating a Scheme of Work
Hattie also makes the point that buying, or using, someone else's scheme of work makes teachers less effective because they spend less time thinking about the curriculum as a whole, and that teachers and departments that create their own curriculum or scheme of work have more "impact". That is why the resources on this page are presented in no particular order - it is important that you think about how these ideas are related, and create a sequence that would best suit your own students. I have written an article to help you, which explains how I think that the representation of data links the whole of Computing.
Topics and Resources
Representation of Data
Note that the resources below were all made by me (unless otherwise stated). I've also created a crowd-sourced database of links to Computing resources on other sites - feel free to contribute your own resources.
- Internal representation of data, including...
- Binary for numbers
- Text (also covered in the Character Functions section of Programming)
- Characters (i.e. symbols in typefaces/fonts)
- Wave v. MIDI
- Wave formats - Ogg Vorbis, MP3, FLAC, etc.
- Data Structures (see also examples of their use in programming)
- Storage (including cloud storage)
- Security of files
- Collecting data...
- Calculating file sizes
- Compression - including run-length encoding (RLE)
- Stored Programs - why computers are different from calculators, the function of the CPU and the fetch-execute cycle (opcodes/instruction sets are covered in the representation presentation)
Maths for Computing
Number bases, including...
- Binary for numbers
- Modular arithmetic (see also this article plus programming examples: Teams, Shuffle, Caesar-Shift, etc.)
- Boolean Logic and Bitwise Boolean Logic (also Truth Tables, Operator Precedence and Duality)
- Logical Reasoning
- Introduction to paths and graphs
- Shortest paths
- Chinese Postman Problem
- Use of spreadsheets (or programming language?) to convert between denary and binary
- Scaling and reflection - e.g. random numbers, fitting things on the screen, bouncing
- Relationships - one-to-one, one-to-many, etc.
Algorithms and Programming
- Programming - general (see also the Programming section of the site):
Programming (Just Basic):
- Introduction, PRINT and INPUT
- Repetition with FOR, WHILE and UNTIL
- Select Case
- Random Numbers
- Text Functions
- Character Functions
- Numerical Functions & rounding
- Functions and procedures:
- Programmed examples from other areas of the curriculum
- Programming - Python (the same as the BASIC course, plus extra variable types, lists, etc.)
- Programming - Visual Basic
When students are working on programming topics, I also sometimes give them logic puzzle starters.
- Networks (enhanced version for KS4)
- Uses of the internet
Use of the Worldwide Web:
- Effective searching
- Assessing the quality of web-pages
- Privacy and personal safety
- E-Mail - POP/SMTP/IMAP
- IP addresses and Ports (Ping to demonstrate)
- WiFi security
- DNS (Ping to demonstrate)
- Naming conventions - e.g. UNC, \\server1
- Internet connections: ADSL, FTTC, FTTH, etc.
- Transmission (parallel/serial) and error detection - parity, etc.
- Card Flip Magic (parity game) or Card Flip Magic (with digits) - click/tap to flip the cards, press a key or touch with two fingers to add parity bits; challenge a student to flip a card while you look away, it's the card in the row and column with the odd number of black cards (or 1s). Click here for a demonstration.
- Topologies, cabling, etc. (algorithm for least cable)
- Software - definition and examples, now including hosted applications and software as a service
- Databases (Introduction to Databases)
- Relational databases and normalisation
- Use of compression and other techniques to make files smaller
Introduction to HTML
- Creating web-pages (no use of wizards, etc. - students must understand everything that they make)
- Design considerations - mobile devices, availability of fonts (use of embedding?)
- No HTML styling - CSS only
- Use of selectors
- Use of :hover for menus, rollovers, etc.
- Use of DIVs - no tables for layout!
- Positioning and sizing - relative v. Absolute
- Use of images, transparency and translucency
- Forms and scripting
- Animation (using CSS keyframes rather than Flash)
- Creating Webpages with HTML and CSS YouTube playlist
- User interfaces
- Developments in Computing (e.g. moving from mainframes to PCs to networks and client-server) and their impact
- Project management: Gantt charts / Critical Path Analysis
- Systems for monitoring and control
- news stories on the cultural, ethical, legal and social impact of technology
- Does technology have an adverse effect on academic achievement?
- SQL Injection (with task)
There are examples - particularly of the e-safety and cybersecurity elements of the course - in the news all of the time. The best examples are included on the Impact page, but for the latest examples look for the feeds on Twitter or Facebook.
There are examples of programming techniques, plus tasks and solutions, on the Learn to Program and OCR Coding Challenges pages. Finally, there are longer discussions of some topics (and relevant pedagogy, etc.) on the Computing and ICT in a Nutshell blog.
There are plenty of external revision resources, such as the Craig 'n' Dave Revision Videos and Seneca, but I have also created a limited number of revision resources:
- Connecting Wall (based on the BBC Only Connect quiz programme)
- Theory content on the Computing and ICT in a Nutshell YouTube channel
KS3 Computing Scheme of Work
While it's better to design your own scheme of work, I appreciate that some non-specialists will struggle to do so. I have created a second page to show the order that I teach these topics in the first year of my KS3 Computing course, and here I describe how the curriculum map can be used to create a scheme of work. There are also extra resources available on the Computing and ICT in a Nutshell YouTube channel.
Assessment of Computing
For assessment, I used a set of skill statements adapted from the CAS progress pathways document but I don't bother with the colours or numbering the levels - I record whether the student is sometimes successful at performing the named skill, or whether than can do it confidently and consistently. You can also read my thoughts on measuring progress on the Computing and ICT in a Nutshell blog.