Syllabus content
1.1 Data representation
Candidates should be able to:
1.1.1 Binary systems
• recognise the use of binary numbers in computer systems
• convert denary numbers into binary and binary numbers into
denary
• show understanding of the concept of a byte and how the
byte is used to measure memory size
• use binary in computer registers for a given application
(such as in robotics, digital instruments
and counting systems)
1.1.2 Hexadecimal
• represent integers as hexadecimal numbers
• show understanding of the reasons for choosing hexadecimal
to represent numbers
• convert positive hexadecimal integers to and from denary
• convert positive hexadecimal integers to and from binary
• represent numbers stored in registers and main memory as
hexadecimal
• identify current uses of hexadecimal numbers in computing,
such as defining colours in Hypertext
Markup Language (HTML), Media Access Control (MAC)
addresses, assembly languages and
machine code, debugging
1.1.3 Data storage
• show understanding that sound (music), pictures, video,
text and numbers are stored in different
formats
• identify and describe methods of error detection and
correction, such as parity checks, check
digits, checksums and Automatic Repeat reQuests (ARQ)
• show understanding of the concept of Musical Instrument
Digital Interface (MIDI) files, jpeg files,
MP3 and MP4 files
• show understanding of the principles of data compression
(lossless and lossy compression
algorithms) applied to music/video, photos and text files
1.2 Communication and Internet
technologies
Candidates should be able to:
1.2.1 Serial and parallel data transmission
• show understanding of what is meant by transmission of
data
• distinguish between serial and parallel data transmission
• show understanding of the reasons for choosing serial or
parallel data transmission
• show understanding of the need to check for errors
• explain how parity bits are used for error detection
• identify current uses of serial and parallel data
transmission, such as Integrated Circuits (IC) and
Universal Serial Bus (USB)
1.2.2 Security aspects
• show understanding of the security aspects of using the
Internet and understand what methods
are available to help minimise the risks
• show understanding of the Internet risks associated with
malware, including viruses, spyware and
hacking
• explain how anti-virus and other protection software helps
to protect the user from security risks
(this also links into section 1.4 of the syllabus)
1.2.3 Internet principles of operation
• show understanding of the role of the browser and Internet
server
• show understanding of what is meant by hypertext transfer
protocol (http) and HTML
• distinguish between HTML structure and presentation
• show understanding of the concept of MAC address, Internet
Protocol (IP) address and cookies
1.3 Hardware and software
Candidates should be able to:
1.3.1 Logic gates
• use logic gates to create electronic circuits
• understand and define the functions of NOT, AND, OR, NAND,
NOR and XOR (EOR) gates,
including the binary output produced from all the possible
binary inputs (all gates, except the NOT
gate, will have 2 inputs only)
• draw truth tables and recognise a logic gate from its
truth table
• recognise and use the following standard symbols used to
represent logic gates:
NOT AND OR NAND NOR XOR
• produce truth tables for given logic circuits, for
example:
a b c out
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
• produce a logic circuit to solve a given problem or to
implement a given written logic statement,
such as IF (switch A is NOT on) OR (switch B is on AND
switch C is NOT on) then alarm, X,
sounds
1.3.2 Computer architecture and the fetch-execute cycle
• show understanding of the basic Von Neumann model for a
computer system and the stored
program concept (program instructions and data are stored in
main memory and instructions are
fetched and executed one after another)
• describe the stages of the fetch-execute cycle
1.3.3 Input devices
• describe the principles of operation (how each device
works) of a range of input devices
including 2D and 3D scanners, barcode readers, digital
cameras, keyboards, mice, touch screens,
microphones
• describe how these principles are applied to real-life
scenarios, for example: scanning of
passports at airports, barcode readers at supermarket
checkouts, and touch screens on mobile
devices
• describe how a range of sensors can be used to input data
into a computer system, including
light, temperature, magnetic field, gas, pressure, moisture,
humidity, pH/acidity/alkalinity and
motion/infra-red
• describe how these sensors are used in real-life
scenarios, for example: street lights, security
devices, pollution control, games, and household and
industrial applications
1.3.4 Output devices
• describe the principles of operation of a range of output
devices, including: inkjet, laser and 3D
printers; 2D and 3D cutters; speakers and headphones;
actuators; flat-panel display screens,
including Liquid Crystal Display (LCD) and Light-Emitting
Diodes (LED); and LCD projectors and
Digital Light Projectors (DLP)
• describe how these principles are applied to real-life
scenarios for example: printing single items
on demand or in large volumes; banks of digital displays;
use of small screens on mobile devices;
smart boards
1.3.5 Memory, storage devices and media
• show understanding of the difference between: primary,
secondary and off-line storage and
provide examples of each, such as, primary: Read Only Memory
(ROM), Random Access Memory
(RAM) and DVD-RAM; secondary: hard disk drive (HDD) and
Solid State Drives (SSDs); off-line:
Digital Versatile Disks (DVDs), Compact Disks (CDs),
Blu-ray, USB flash memory and removable
disks
• describe the principles of operation of a range of types of
storage devices and media including
magnetic, optical and solid state
• describe how these principles are applied to currently
available storage solutions, such as SSDs,
hard disk drives, USB flash memory, DVDs, CDs and Blu-ray
• calculate the storage requirement of a file
1.3.6 Operating systems
• describe the purpose of an operating system
• show understanding of the need for interrupts
1.3.7 High- and low-level languages and their translators
• show understanding of the need for both high-level and
low-level languages
• show understanding of the need for compilers when
translating programs written in a high-level
language
• show understanding of the use of interpreters with
high-level language programs
• show understanding of the need for assemblers when
translating programs written in assembly
language
1.4 Security
Candidates should be able to:
1.4.1
• show understanding of the need to keep data safe from
accidental damage, including corruption
and human errors
• show understanding of the need to keep data safe from
malicious actions, including unauthorised
viewing, deleting, copying and corruption
1.4.2
• show understanding of how data are kept safe when stored
and transmitted, including:
○
use of passwords, both entered at a keyboard and biometric
○
use of firewalls, both software and hardware, including
proxy servers
○
use of Secure Socket Layer (SSL)
○
use of symmetric encryption (plain text, cypher text and use
of a key) showing understanding
that increasing the length of a key increases the strength
of the encryption
1.4.3
• show understanding of the need to keep online systems safe
from attacks including denial of
service attacks, phishing, pharming
1.4.4
• describe how the knowledge from 1.4.1, 1.4.2 and 1.4.3 can
be applied to real-life scenarios
including, for example, online banking, shopping
1.5 Ethics
Candidates should be able to:
• show understanding of computer ethics, including copyright
issues and plagiarism
• distinguish between free software, freeware and shareware
• show understanding of the ethical issues raised by the
spread of electronic communication and
computer systems, including hacking, cracking and production
of malware
Section 2 Practical Problem-solving and Programming
2.1 Algorithm design and
problem-solving
Candidates should be able to:
2.1.1 Problem-solving and design
• show understanding that every computer system is made up
of sub-systems, which in turn are
made up of further sub-systems
• use top-down design, structure diagrams, flowcharts,
pseudocode, library routines and sub-
routines
• work out the purpose of a given algorithm
• explain standard methods of solution
• suggest and apply suitable test data
• understand the need for validation and verification checks
to be made on input data (validation
could include range checks, length checks, type checks and
check digits)
• use trace tables to find the value of variables at each
step in an algorithm
• identify errors in given algorithms and suggest ways of
removing these errors
• produce an algorithm for a given problem (either in the
form of pseudocode or flowchart)
• comment on the effectiveness of a given solution
2.1.2 Pseudocode
• understand and use pseudocode for assignment, using
←
• understand and use pseudocode, using the following
conditional statements:
IF ... THEN ... ELSE ... ENDIF
CASE ... OF ... OTHERWISE ... ENDCASE
• understand and use pseudocode, using the following loop
structures:
FOR ... TO ... NEXT
REPEAT ... UNTIL
WHILE ... DO ... ENDWHILE
• understand and use pseudocode, using the following
commands and statements:
INPUT
and
OUTPUT
(e.g.
READ
and
PRINT
)
totalling (e.g.
Sum
←
Sum
+
Number
)
counting (e.g.
Count
←
Count
+
1
)
(Candidates are advised to try out solutions to a variety of
different problems on a computer using a
language of their choice; no particular programming language
will be assumed in this syllabus.)
Section 2 Practical Problem-solving and Programming
2.1 Algorithm design and problem-solving
Candidates should be able to:
2.1.1 Problem-solving and design
• show understanding that every computer system is made up
of sub-systems, which in turn are
made up of further sub-systems
• use top-down design, structure diagrams, flowcharts,
pseudocode, library routines and sub-
routines
• work out the purpose of a given algorithm
• explain standard methods of solution
• suggest and apply suitable test data
• understand the need for validation and verification checks
to be made on input data (validation
could include range checks, length checks, type checks and
check digits)
• use trace tables to find the value of variables at each
step in an algorithm
• identify errors in given algorithms and suggest ways of
removing these errors
• produce an algorithm for a given problem (either in the
form of pseudocode or flowchart)
• comment on the effectiveness of a given solution
2.1.2 Pseudocode
• understand and use pseudocode for assignment, using
←
• understand and use pseudocode, using the following
conditional statements:
IF ... THEN ... ELSE ... ENDIF
CASE ... OF ... OTHERWISE ... ENDCASE
• understand and use pseudocode, using the following loop
structures:
FOR ... TO ... NEXT
REPEAT ... UNTIL
WHILE ... DO ... ENDWHILE
• understand and use pseudocode, using the following
commands and statements:
INPUT
and
OUTPUT
(e.g.
READ
and
PRINT
)
totalling (e.g.
Sum
←
Sum
+
Number
)
counting (e.g.
Count
←
Count
+
1
)
(Candidates are advised to try out solutions to a variety of
different problems on a computer using a
language of their choice; no particular programming language
will be assumed in this syllabus.)
2.2 Programming
Candidates should be able to:
2.2.1 Programming concepts
• declare and use variables and constants
• understand and use basic data types: Integer, Real, Char,
String and Boolean
• understand and use the concepts of sequence, selection,
repetition, totalling and counting
• use predefined procedures/functions
2.2.2 Data structures; arrays
• declare the size of one-dimensional arrays, for example:
A[1:n]
• show understanding of the use of a variable as an index in
an array
• read values into an array using a
FOR ... TO ... NEXT
loop
2.3 Databases
Candidates should be able to:
• define a single-table database from given data storage
requirements
• choose a suitable primary key for a database table
• perform a query-by-example from given search criteria
7. Description of components
7.1 Scheme of assessment
All candidates need to demonstrate basic levels of knowledge
and understanding. To do this, they need to
recall information and either apply that information or
explain it. All candidates also need to demonstrate
some level of problem-solving and practical skills. This
will require them to show their ability to comprehend
and analyse computational tasks and design, implement, test
and evaluate solutions using a variety of
methods.
Component 1: Paper 1 Theory
This is a compulsory question paper, consisting of
short-answer and structured questions set on Section 1
of the syllabus. Candidates must answer all questions.
Candidates will answer on the question paper.
Component 2: Paper 2 Problem-solving and Programming
This is a compulsory question paper, consisting of
short-answer and structured questions set on Section 2
of the syllabus. Candidates must answer all questions.
Candidates will answer on the question paper.
20 of the marks in this paper are from questions set on
tasks provided in the Paper 2 Problem-solving and
Programming pre-release materials.
Centres should spend approximately 50% of the total time
studying this section of the syllabus. Centres
should ensure that candidates are taught the contents of
this section in a largely practical way. Candidates
will be expected to be able to program in a high-level
programming language to be chosen by the Centre.
The programming language should be procedural. There will be
some examining of knowledge with
understanding, but the bulk of the credit will be for using
techniques and skills to solve problems. In all
cases the logic will be of more importance than the syntax.
7.2
Paper 2 Problem-solving and Programming pre-release
materials
The Paper 2 Problem-solving and Programming pre-release
materials will be made available to Centres six
months before the exam. Centres are advised to encourage
their candidates to develop solutions to tasks
using a high-level programming language, such as Visual
Basic, Pascal/Delphi or Python. The purpose of the
pre-release material tasks is to direct candidates to some
of the topics which will be examined in Paper 2.
Teachers are expected to incorporate these tasks into their
lessons and give support in finding methods and
reaching solutions. 20 of the marks in this paper will be
from questions testing candidates’ understanding
gained from developing programmed solutions to these tasks.
The tasks will be appropriate for all ability
levels.
The exam questions will require candidates to have practical
programming experience including writing their
own programs, executing (running), testing and debugging
them. Knowledge of programming language
syntax will not be examined. The higher ability candidates
are to be encouraged to extend their practical
programming beyond the scope of these tasks