KS3 and GCSE Computing
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.
The following list of topics (with links to free resources) is 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. 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 for the controlled assessments 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  including how different types of data are stored and the use of binary

Maths for Computing  including number bases, Boolean logic and graph theory

Algorithms and Programming  including sorting, searching, Scratch, BASIC and Python

Networking  including transmission and errorcorrection

Information Systems  including spreadsheets, databases, and the use of HTML and CSS to create webpages
Some of the 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 I have created in other sites such as YouTube or Scratch.
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 mosteffective teaching techniques, and empirical evidence suggests that this is something that teachers from a nonComputing 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

Internal representation of data, including...

Binary for numbers

Text (also covered in the Character Functions section of Programming)


Vector v. Bitmap

Bitmap formats (GIF, jpeg, PNG, etc.)  comparison of size, features, alpha, etc.



Wave v. MIDI

Wave formats – Ogg Vorbis, MP3, FLAC, etc.



Lists, queues, stacks, etc. (implementation using arrays in programming section?)

Trees and traversal (how the Akinator works?)

Game trees and "knowledge"


Storage (including cloud storage)

Bits, bytes, etc.

Properties of different storage media

Error correction, RAID, etc.


Security of files


In a form to facilitate data processing

Coding, granularity, etc.

Compression  including runlength encoding (RLE)

Stored Programs  why computers are different from calculators, the function of the CPU and the fetchexecute cycle
Maths for Computing

Number bases, including...

Binary for numbers

Powers of 2 / normalisation

binary fractions and negative numbers (interactive)

decimals, negative and floating point numbers (presentation)



Modular arithmetic (see also this article)

Boolean Logic and Bitwise Boolean Logic (also Truth Tables, Operator Precedence and Duality)
Boolean Logic (aka logic gates)

Binary flags (and shifting)

Introduction to paths and graphs

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  onetoone, onetomany, etc.
Algorithms and Programming


Representation: flowcharts/pseudocode

Examples: sorting (inc. sorting game), searching, mazes, drawing a circle, conversion to/from binary
Efficiency (video on drawing circles)



Repetition

User interaction




Select Case



Multidimensional arrays



By value and by reference

Programming  Python (the same as the BASIC course, plus extra variable types, lists, etc.)

Python presentations (zipped)

Python examples (zipped)

Programmed examples from other areas of the curriculum (zipped)


Programming  Visual Basic

Forms, objects, properties and methods

Extra variable types

When students are working on programming topics, I also sometimes give them logic puzzle starters.
Networking

Networks (enhanced version for KS4)

Definition

Types

LAN/WAN

Clientserver and peertopeer

topologies


Use of the Worldwide Web:

Effective searching

Assessing the quality of webpages

Privacy and personal safety


EMail  POP/SMTP/IMAP

Home networks:

IP addresses and Ports (Ping to demonstrate)

WiFi security

Firewall

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).

Topologies, cabling, etc. (algorithm for least cable)
Information Systems

Software  definition and examples, now including hosted applications and software as a service

Databases (Introduction to Databases)

Forms

Reports

Validation and verification (Validation and Verification presentation)

Use of compression and other techniques to make files smaller


Creating webpages (no use of wizards, etc.  students must understand everything that they make)

Design considerations  mobile devices, availability of fonts (use of embedding?)

Use of DIVs  no tables for layout!

Positioning and sizing  relative v. Absolute

Use of images, transparency and translucency


Developments in Computing (e.g. moving from mainframes to PCs to networks and clientserver) and their impact

Project management: Gantt charts / Critical Path Analysis
ESafety
Examples
There are examples  particularly of the esafety and cybersecurity elements of the course  in the news all of the time. The best examples are included on the external links page, but for the latest examples look for the feeds on Twitter, Facebook or Google+.
There are examples of programming techniques, plus tasks and solutions, on the Learn to Program page. Finally, there are longer discussions of some topics (and relevant pedagogy, etc.) on the Computing and ICT in a Nutshell blog.
KS3 Computing Scheme of Work
While it's better to design your own scheme of work, I appreciate that some nonspecialists 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 YouTube AdvancedICT 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 already read my thoughts on measuring progress on the Computing and ICT in a Nutshell blog.