Year Term 1Term 2Term 3
Year 12Fundamentals of programming:
- selection, iteration
• arrays
• subroutines
• file and exception handling

Problem solving and theory of computation:
• logic problems
• structured programming
• writing algorithms
• testing
• abstraction
• finite state machines

Data representation:
• number systems
• bits, bytes and binary
• binary fractions, multiplication and negative numbers
• images, sound
• compression and encryption
Hardware and software:
• operating systems
• programming language
classification
• translators
• logic gates
• Boolean algebra

Architecture:
• the processor
• assembly language
• input – output devices
• secondary storage

Communication
• communication methods
• network topology
• client-server and peer-to-peer
• CSMA and SSID
• privacy
• challenges of the digital age
Preparing for Paper 1 mock
Students programming skills will
be tested using a large piece of code (skeleton program):
• answering technical questions about the code
• modifying the code
• extending the code

Preparing for Paper 2 mock:
• paper 2 practice papers

Preparing for the coursework:
• introduction to object oriented programming
• planning for the project
Year 13OOP and functional programming:
• encapsulation, inheritance, polymorphism
• functional programming
• lists in functional programming
• big data
Data structures
• queues
• lists
• stacks
• hash tables
• graphs
• trees
• vectors

Algorithms:
• recursive algorithms
• Big – 0 notation
• searching and sorting
• optimisation algorithms
• limits of computation

Project:
• Students create a project of their own choice
Regular languages:
• mealy machines
• sets
• regular expressions
• turing machines
• Backus_Naur form
• reverse Polish notation

Internet
• Packet switching and routers
• internet security
• TCP/IP
• IP addresses
• Client server model

Databases:
• entity relationship modelling
• normalisation
• SQL

Preparing for Paper 1
Students programming skills will
be tested using a large piece of code provided by the exam board
(skeleton program):
• answering technical questions about the code
• modify the code
• extending the code
Preparing for A level Paper 1;
• continue to work on the skeleton program
• paper 2 practice papers

Preparing for A level Paper 2
• paper 2 practice papers