Computer Science Stages of compilation (lexical analysis, syntax
analysis, code generation and optimisation).
specification points Linkers and loaders and use of libraries
Understand the waterfall lifecycle, agile
The Arithmetic and Logic Unit; ALU, Control Unit and methodologies, extreme programming, the spiral
Registers (Program Counter; PC, Accumulator; ACC, model and rapid application development
Memory Address Register; MAR, Memory Data The relative merits and drawbacks of different
Register; MDR, Current Instruction Register; CIR). methodologies and when they might be used
Buses: data, address and control: how this relates to Writing and following algorithms
assembly language programs
Need for and characteristics of a variety of
The Fetch-Decode-Execute Cycle; including its programming paradigms
effects on registers
Procedural languages
The factors affecting the performance of the CPU:
Assembly language (including following and writing
clock speed, number of cores, cache.
simple programs with the Little Man Computer
The use of pipelining in a processor to improve instruction set)
efficiency
Modes of addressing memory (immediate, direct,
Von Neumann, Harvard and contemporary processor indirect and indexed)
architecture
Object-oriented languages with an understanding of
The differences between and uses of CISC and RISC classes, objects, methods, attributes, inheritance,
processors encapsulation and polymorphism
GPUs and their uses (including those not related to Lossy vs Lossless compression
graphics)
Run length encoding and dictionary coding for
Multicore and Parallel systems lossless compression
How different input, output and storage devices can Symmetric and asymmetric encryption
be applied to the solution of different problems
Different uses of hashing
The uses of magnetic, flash and optical storage
Relational database, flat file, primary key, foreign key,
devices
secondary key, entity relationship modelling,
RAM and ROM
normalisation and indexing
Virtual storage
Methods of capturing, selecting, managing and
The need for, function and purpose of operating exchanging data
systems
Normalisation to 3NF
Memory Management (paging, segmentation and
SQL – Interpret and modify
virtual memory)
Referential integrity
Interrupts, the role of interrupts and Interrupt
Transaction processing, ACID (Atomicity,
Service Routines (ISR), role within the Fetch-Decode-
Consistency, Isolation, Durability), record locking and
Execute Cycle
redundancy
Scheduling: round robin, first come first served, multi-
Characteristics of networks and the importance of
level feedback queues, shortest job first and shortest
protocols and standards
remaining time
The internet structure: The TCP/IP Stack, DNS,
Distributed, embedded, multi-tasking, multi-user and
Protocol layering, LANs and WANs, Packet and circuit
Real Time operating systems
switching
BIOS
Network security and threats, use of firewalls, proxies
Device drivers
and encryption.
Virtual machines, any instance where software is
Network hardware.
used to take on the function of a machine, including
Client-server and peer to peer.
executing intermediate code or running an operating
HTML, CSS and JavaScript
system within another
Search engine indexing
The nature of applications, justifying suitable
applications for a specific purpose PageRank algorithm
Utilities Server and client side processing
Open source vs closed source Primitive data types, integer, real/floating point,
character, string and Boolean
Translators: Interpreters, compilers and assemblers
Represent positive integers in binary
Use of sign and magnitude and two’s complement to Determine the order of the steps needed to solve a
represent negative numbers in binary problem
Addition and subtraction of binary integers Identify sub-procedures necessary to solve a problem
Represent positive integers in hexadecimal Identify the points in a solution where a decision has
Convert positive integers between binary hexadecimal to be taken
and denary Determine the logical conditions that affect the
Representation and normalisation of floating point outcome of a decision
numbers in binary Determine how decisions affect flow through a
Floating point arithmetic, positive and negative program
numbers, addition and subtraction Determine the parts of a problem that can be tackled
Bitwise manipulation and masks: shifts, combining at the same time
with AND, OR, and XOR Outline the benefits and trade offs that might result
How character sets (ASCII and UNICODE) are used from concurrent processing in a particular situation
to represent text Programming constructs: sequence, iteration,
Arrays (of up to 3 dimensions), records, lists, tuples branching
The following structures to store data: linked-list, Recursion, how it can be used and compares to an
graph (directed and undirected), stack, queue, tree, iterative approach
binary search tree, hash table Global and local variables
How to create, traverse, add data to and remove data Modularity, functions and procedures, parameter
from the data structures mentioned above passing by value and by reference
Define problems using Boolean logic Use of an IDE to develop/debug a program
Manipulate Boolean expressions, including the use of Use of object oriented techniques
Karnaugh maps to simplify Boolean expressions Features that make a problem solvable by
Use De Morgan’s Laws, distribution, association, computational methods.
commutation, double negation to derive or simplify Problem recognition.
statements in Boolean algebra Problem decomposition.
Using logic gate diagrams and truth tables Use of divide and conquer.
The logic associated with D type flip flops, half and full Use of abstraction.
adders Learners should apply their knowledge of:
The Data Protection Act 1998 backtracking, data mining, heuristics, performance
The Computer Misuse Act 1990 modelling, pipelining, visualisation to solve problems.
The Copyright Design and Patents Act 1988 Analysis and design of algorithms for a given
The Regulation of Investigatory Powers Act 2000 situation.
The individual moral, social, ethical and cultural The suitability of different algorithms for a given task
opportunities and risks of digital technology: and data set, in terms of execution time and space
Computers in the workforce, Automated decision Measures and methods to determine the efficiency of
making, Artificial intelligence, Environmental effects, different algorithms, Big O notation (constant, linear,
Censorship and the Internet, Monitor behaviour, polynomial, exponential and logarithmic complexity)
Analyse personal information, Piracy and offensive Comparison of the complexity of algorithms
communications, Layout, colour paradigms and Algorithms for the main data structures, (stacks,
character sets queues, trees, linked lists, depth-first (post-order) and
The nature of abstraction breadth-first traversal of trees)
The need for abstraction Standard algorithms (bubble sort, insertion sort,
The differences between an abstraction and reality merge sort, quick sort, Dijkstra’s shortest path
Devise an abstract model for a variety of situations algorithm, A* algorithm, binary search and linear
Identify the inputs and outputs for a given situation search).
Determine the preconditions for devising a solution to
a problem
The nature, benefits and drawbacks of caching
The need for reusable program components
Identify the components of a problem.
Identify the components of a solution to a problem