GCSE_Computer_Science_for_AQA_2

GCSE Computer Science for AQA
Overview Scheme of Work
The following assumes a two year model.
During the course the final challenges can be used for practice in computational thinking, algorithm design and coding as well as
maintaining a practical element during the study of the more theoretical aspects of the course.
They can also be used for introducing the requirements of the NEA programming task – design, implementation, testing,
evaluation/refining and the use of appropriate programming techniques.
They can also be used to stress the items listed in the 3.2 Programming section of the specification:
3.2.1 Data types
3.2.7 Input/output and file handling
3.2.2 Programming concepts
3.2.8 String handling operations in a programming language
3.2.3 Arithmetic operations in a programming language
3.2.9 Random number generation in a programming language
3.2.4 Relational operations in a programming language
3.2.10 Subroutines (procedures and functions)
3.2.5 Boolean operations in a programming language
3.2.11 Structured programming
3.2.6 Data structures
3.2.12 Robust and secure programming
All of the above are covered by the final challenges.
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
1 Algorithms
Number
of weeks
7
© Cambridge University Press 2016
Learning outcomes
AQA Specification references
Explain what an algorithm is and
create algorithms to solve specific
problems.
3.1.1 Representing
algorithms
Understand and explain
the term algorithm
3.1.2 Efficiency of
algorithms
Understand that more
than one algorithm can be
used to solve the same
problem
Use, understand and know
how the following
statement types can be
combined in programs:
iteration, selection
Explain simple algorithms
in terms of their inputs,
processing and outputs
Use a systematic approach
to problem solving and
algorithm creation
representing those
algorithms using pseudocode and flowcharts
Explain simple algorithms
in terms of their inputs,
processing and outputs
Use sequence, selection and iteration
in algorithms.
3.2.2 Programming
concepts
Use input, processing and output in
algorithms.
3.1.1 Representing
algorithms
Express algorithms using flow charts
and pseudo-code.
3.1.1 Representing
algorithms
Analyse, assess and compare different
algorithms.
3.1.1 Representing
algorithms
www.cambridge.org/education
1 Algorithms (continued)
Create, name and use
suitable variables.
3.2.2 Programming
concepts
Use arithmetic,
relational and Boolean
operators.
3.2.3 Arithmetic
operations in a
programming language
Use, understand and know how the following
statement types can be combined in programs:
variable declaration, constant declaration,
assignment
Use meaningful identifier names and know why
it is important to use them
Be familiar with and be able to use: addition,
subtraction, multiplication, real division,
integer division, including remainders
3.2.4 Relational
operations in a
programming language
Be familiar with and be able to use: equal to,
not equal to, less than, greater than, less than
or equal to, greater than or equal to
Final challenge
3.2.5 Boolean
Be familiar with and be able to use: NOT, AND,
operations in a
OR
programming language
Use conditional
3.2.2 Programming
Use nested selection
statements.
concepts
Create an algorithm to help a taxi company calculate its fares
Additional
Cambridge Elevate
resources
10 interactive activities
6 worksheets
2 animations
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
2 Iteration
Number of
weeks
6
Learning outcomes
AQA Specification references
Explain what is meant by
iteration.
Explain the difference between
definite and indefinite iteration.
Use ‘FOR’ loops.
3.2.2 Programming
concepts
Use definite and indefinite
iteration, including
indefinite iteration with
the condition(s) at the
start or the end of the
iterative structure
Use nested selection and
nested iteration structures
3.1.1 Representing
algorithms
3.2.2 Programming
concepts
Determine the purpose of
simple algorithms
Use definite and indefinite
iteration, including
indefinite iteration with
the condition(s) at the
start or the end of the
iterative structure
Use ‘WHILE’ loops.
Use ‘REPEAT … UNTIL’ loops.
Use nested loops.
Analyse algorithms using trace
tables.
Use iteration when designing
algorithms.
Final challenge
Write an algorithm for a computer game
Additional
5 interactive activities
Cambridge Elevate 5 worksheets
resources
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
3 Data types and
structures
Number of
weeks
3
Learning outcomes
AQA Specification references
Explain what is meant by ‘data
type’ and list some common
types.
Use the correct data types in
algorithms.
3.2.1 Data types
Carry out various manipulations
such as finding the length of and
slicing and concatenating ‘string’
data types.
3.2.8 String handling
operations in a
programming
language
Create and work with simple array 3.2.6 Data structures
data structures.
Create and work with two
dimensional arrays.
Describe other data structures.
3.2.6 Data structures
Final challenge
Encode and decode messages with an encryption key
Additional
Cambridge
5 interactive activities
4 worksheets
© Cambridge University Press 2016
Understand the concept of a
data type.
Understand and use the
following appropriately:
Integer, real, Boolean,
character, string
Understand and be able to
use:
Length, position, substring,
concatenation, convert
character to character code,
convert character code to
character, string conversion
operations
Understand the concept of
data structures
Use arrays (or equivalent) in
the design of solutions to
simple problems
Use records (or equivalent) in
the design of solutions to
simple problems
www.cambridge.org/education
Elevate
resources
Chapter
4 Searching and
sorting
algorithms
1 animation
Number of
weeks
4
Learning outcomes
AQA Specification references
Explain why sorted lists are of
more value than unsorted lists.
Understand the bubble sort,
selection sort and merge sort
algorithms.
Use these algorithms to sort
lists into ascending and
descending order.
3.1.4 Sorting
algorithms
Understand and explain how the
merge sort algorithm works
Understand and explain how the
bubble sort algorithm works
Compare and contrast merge
sort and bubble sort algorithms
3.1.2 Efficiency of
algorithms
Describe the linear and binary
search algorithms.
Use these algorithms to search
sorted and unsorted lists.
3.1.3 Searching
algorithms
Compare the efficiency of
algorithms explaining how some
algorithms are more efficient
than others in solving the same
problem
Understand and explain how the
linear search algorithm works
Understand and explain how the
binary search algorithm works
Compare and contrast linear and
binary search algorithms
3.1.2 Efficiency of
algorithms
© Cambridge University Press 2016
Compare the efficiency of
algorithms explaining how some
algorithms are more efficient
than others in solving the same
problem
www.cambridge.org/education
© Cambridge University Press 2016
www.cambridge.org/education
4 Searching and sorting algorithms (continued)
Final challenge
Write code for the
implementation of these
algorithms.
Write an algorithm to find the top ten
3.2.2 Programming
concepts
3.2.6 Data structures
All aspects
Additional
3 interactive activities
Cambridge
5 worksheets
Elevate resources 3 animations
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
5 Input and
output
Number of
weeks
3
Learning outcomes
AQA Specification references
Explain why user input is
needed.
3.2.7 Input/output and file
handling
Be able to obtain user
input from the keyboard
Describe ways in which data
input can be validated.
3.2.12 Robust and secure
programming
Format output.
3.2.7 Input/output and file
handling
Work with text files.
3.2.7 Input/output and file
handling
Be able to write simple
data validation routines
Be able to write simple
authentication routines
Be able to select suitable
test data that covers
normal (typical), boundary
(extreme) and erroneous
data
Be able to justify the
choice of test data
Be able to output data and
information from a
program to the computer
display
Be able to read/write
from/to a text file
Final challenge
Write a program to create and manage logins
Additional
Cambridge
Elevate resources
3 interactive activities
4 worksheets
1 animation
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
6 Problem
solving
Number of
weeks
4
Learning outcomes
AQA Specification references
Explain what is meant by
computational thinking.
3.1.1 Representing
algorithms
Understand and explain the term
decomposition
Understand and explain the term
abstraction
Be able to use random number
generation
Explain what is meant by top-down
and bottom-up problem solving.
3.2.9 Random number
generation in a
programming language
3.1.1 Representing
algorithms
Create structured programs using
procedures.
3.2.2 Programming
concepts
Use, understand and know how the
following statement types can be
combined in programs: subroutine
(procedure / function)
3.2.10 Subroutines
(procedures and
functions)
Understand the concept of
subroutines
Explain the advantages of using
subroutines in programs
Describe the use of parameters to
pass data within programs
Use subroutines that return values
to the calling routine
Know that subroutines may declare
their own variables, called local
Explain what is meant by
decomposition and abstraction and
use these to solve problems.
Create algorithms to solve problems
that you have analysed.
© Cambridge University Press 2016
Understand and explain the term
decomposition.
www.cambridge.org/education
Create structured programs using
procedures (continued).
variables, and that local variables
usually: only exist while the
subroutine is executing, are only
accessible within the subroutine
Use local variables and explain why
it is good practice to do so
3.2.11 Structured
programming
Follow the systems development
3.8 Aspects of
cycle to analyse problems, design and software development
implement solutions and test the
outcomes.
Write a program for ordering a pizza online
Describe the structured approach to
programming
Explain the advantages of the
structured approach
Examined in NEA component
Final
challenge
Additional 2 interactive activities
Cambridge 5 worksheets
Elevate
3 animations
resources
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
7 Binary and
hexadecimal
Number
of weeks
5
Learning outcomes
AQA Specification references
Explain how data is
represented by computer
systems.
Explain why the binary
system is essential for
computer processing.
3.3.1 Number bases
3.3.3 Units of
information
Convert binary numbers
into decimal and vice
versa.
© Cambridge University Press 2016
3.3.2 Converting
between number
bases
Understand that computers use binary
to represent all data and instructions
Understand the following number
bases:
decimal (base 10), binary (base 2),
hexadecimal (base 16)
Know that:
a bit is the fundamental unit of
information
a byte is a group of 8 bits
Know that quantities of bytes can be
described using prefixes
Know the names, symbols and
corresponding values for the decimal
prefixes:
kilo, 1 kB is 1,000 bytes
mega, 1 MB is 1,000 kilobytes
giga, 1 GB is 1,000 Megabytes
tera, 1 TB is 1,000 Gigabytes
Understand how binary can be used to
represent whole numbers
www.cambridge.org/education
7 Binary and hexadecimal (continued)
Carry out binary addition,
subtraction, multiplication
and division.
Use left and right shifts for
multiplication and division
by powers of 2.
3.3.4 Binary
arithmetic
Be able to add together up to three
binary numbers
3.3.4 Binary
arithmetic
Explain why hexadecimal
numbers are used.
3.3.1 Number bases
Be able to apply a binary shift to a
binary number
Describe situations where binary shifts
can be used
Explain why hexadecimal is often used
in computer science
Convert between binary,
decimal and hexadecimal.
Final challenge
3.3.2 Converting
between number
bases
3.3.2 Converting
between number
bases
Understand how hexadecimal can be
used to represent whole numbers
Be able to convert in both directions
between: binary and decimal, binary
and hexadecimal, decimal and
hexadecimal
Write a program that will convert between different number formats
Additional
4 interactive activities
Cambridge Elevate 5 worksheets
resources
1 animation
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
8 Binary
representations
Number
of
weeks
4
© Cambridge University Press 2016
Learning
outcomes
AQA Specification references
Explain how
characters are
represented in
binary.
Calculate the ASCII
code for any
character.
Calculate the size of
a text file.
Explain how images
are represented in
binary.
Calculate the size of
an image file.
3.3.5
Character
encoding
Understand what a character set is and be able to
describe the following character encoding methods:
7-bit ASCII, Unicode
Understand that character codes are commonly grouped
and run in sequence within encoding tables
Describe the purpose of Unicode and the advantages of
Unicode over ASCII.
Know that Unicode uses the same codes as ASCII up to
127
3.3.6
Understand what a pixel is and be able to describe how
Representing pixels relate to an image and the way images are
images
displayed
Describe the following for bitmaps: size in pixels, colour
depth
Describe how a bitmap represents an image using pixels
and colour depth
Describe using examples how the number of pixels and
colour depth can affect the file size of a bitmap image
Calculate bitmap image file sizes based on the number of
pixels and colour depth
Convert binary data into a black and white image
Convert a black and white image into binary data
www.cambridge.org/education
8 Binary representation (continued)
Explain how sound is
represented in
binary.
Calculate the size of
an audio file.
Explain the
disadvantages of
large image and
audio files.
Explain how file
compression reduces
the size of files.
© Cambridge University Press 2016
3.3.7
Understand that sound is analogue and that it must be
Representing converted to a digital form for storage and processing in a
sound
computer
Understand that sound waves are sampled to create the
digital version of sound
Describe the digital representation of sound in terms of:
sampling rate, sample resolution
Calculate sound file sizes based on the sampling rate and
the sample resolution
3.3.8 Data
Explain what data compression is
compression Understand why data may be compressed and that there
are different ways to compress data
3.3.8 Data
compression
Explain how data can be compressed using Huffman
coding
Be able to interpret Huffman trees
Be able to calculate the number of bits required to store a
piece of data compressed using Huffman coding.
Be able to calculate the number of bits required to store a
piece of uncompressed data in ASCII
Explain how data can be compressed using run length
encoding (RLE)
Represent data in RLE frequency/data pairs
www.cambridge.org/education
8 Binary representations (continued)
Final challenge
Additional
Cambridge
Elevate
resources
Explain the
3.3.8 Data
Understand why data may be compressed and that there
differences between
compression are different ways to compress data
lossless and lossy file
compression.
Create a program to compress and decompress image files for a social media site
4 interactive activities
4 worksheets
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
9 Computer
systems:
hardware
Number
of weeks
4
© Cambridge University Press 2016
Learning outcomes
AQA Specification references
Explain what is meant by a
computer system.
3.4.1 Hardware and
software
Define the terms hardware and
software and understand the
relationship between them
3.4.4 Systems
architecture
Understand the differences between
main memory and secondary storage
Understand the differences between
RAM and ROM
Understand the term 'embedded
system' and explain how an embedded
system differs from a non-embedded
system
Explain the Von Neumann architecture
Explain the role and operation of main
memory and the following major
components of a central processing unit
(CPU): arithmetic logic unit, control
unit, clock, bus
Understand and explain the FetchExecute cycle
Explain what is meant by
an embedded system.
3.4.4 Systems
architecture
Describe the structure of
the central processing unit
and the functions
of its components.
3.4.4 Systems
architecture
Describe the fetch-execute
cycle.
3.4.4 Systems
architecture
Explain the need for and
the role of multiple cores
and cache.
3.4.4 Systems
architecture
Explain the effect of the following on
the performance of the CPU:
clock speed, number of processor
cores, cache size, cache type
www.cambridge.org/education
9 Computer systems: hardware (continued)
Describe secondary storage
media and the advantages
and disadvantages of each.
Final challenge
Create a learning resource
Additional
Cambridge
Elevate
resources
4 interactive activities
5 worksheets
2 animations
© Cambridge University Press 2016
3.4.4 Systems
architecture
Understand why secondary storage is required
Be aware of different types of secondary
storage (solid state, optical and magnetic)
Explain the operation of solid state, optical
and magnetic storage
Discuss the advantages and disadvantages of
solid state, optical and magnetic storage
Explain the term 'cloud storage'
Explain the advantages and disadvantages of
cloud storage when compared to local storage
www.cambridge.org/education
Chapter
Number of
weeks
Learning outcomes
AQA Specification references
10 Computer
systems: systems
software
1
Explain what is meant by
systems software.
Explain what is meant by an
operating system.
Describe the functions of the
operating system.
3.4.3 Software
classification
Final challenge
Explain what is meant by
utility programs.
List some examples of utility
software and their functions.
Create a program to clean up a hard disk drive
3.4.3 Software
classification
Explain what is meant by: system
software, application software
Give examples of both types of
software
Understand the need for, and
functions of, operating systems
(OS)
Understand that the OS handles
management of the: processor(s),
memory, I/O devices, applications,
security
Understand the need for, and
functions of utility programs
Additional
2 interactive activities
Cambridge Elevate 3 worksheets
resources
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
Number of
weeks
Learning outcomes
AQA Specification references
11 Boolean logic
2
Create and interpret truth
tables for Boolean operators.
3.4.2 Boolean logic
Draw AND, OR and NOT logic
gates.
Create and interpret logic
circuits.
Create truth tables for logic
circuits.
3.4.2 Boolean logic
Final challenge
3.4.2 Boolean logic
Construct truth tables for
the following logic gates:
NOT, AND, OR
Create, modify and
interpret simple logic
circuit diagrams
Construct truth tables for
simple logic circuits
Interpret the results of
simple truth tables
Design logic circuits to solve a control problem
Additional
3 interactive activities
Cambridge Elevate 4 worksheets
1 animation
resources
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
12 Programming
languages
Number
of weeks
2
© Cambridge University Press 2016
Learning outcomes
AQA Specification references
Describe the difference
between low- and high-level
languages.
Explain the advantages of using
high-level languages.
Explain how program
instructions are encoded in
low-level languages
3.2.13
Classification of
programming
languages
Explain why high-level
languages need to be
translated
3.2.13
Classification of
programming
languages
Know that there are different levels
of programming language:
low-level language, high-level
language
Explain the main differences
between low-level and high-level
languages
Know that machine code and
assembly language are considered to
be low-level languages and explain
the differences between them
Understand the advantages and
disadvantages of low-level language
programming compared with highlevel language programming
Understand that ultimately all
programming code written in highlevel or assembly languages must be
translated into machine code
Understand that machine code is
expressed in binary and is specific to
a processor or family of processors
www.cambridge.org/education
12 Programming languages (continued)
Explain the characteristics and
use of
• an assembler
• a compiler
• an interpreter.
Final challenge
3.2.13
Classification of
programming
languages
Understand that there are three
common types of program
translator:
interpreter, compiler, assembler
Explain the main differences
between these three types of
translator
Understand when it would be
appropriate to use each type of
translator
Write programs using a low-level language
Additional
1 interactive activity
Cambridge Elevate 3 worksheets
resources
1 animation
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
13 Computer
networks
Number
of weeks
5
© Cambridge University Press 2016
Learning outcomes
AQA Specification references
Explain what is meant by a
computer network and list
the different types of
networks.
3.5 Fundamentals of
computer networks
Discuss the benefits and
risks of computer networks.
Explain the functions of the
hardware needed to connect
computers.
Explain how computers
communicate using cable
and wireless.
Describe network topologies.
3.5 Fundamentals of
computer networks
3.5 Fundamentals of
computer networks
3.5 Fundamentals of
computer networks
Define what a computer network is
Describe the main types of computer
network including:
Personal Area Network (PAN), Local
Area Network (LAN), Wide Area
Network (WAN)
Discuss the benefits and risks of
computer networks
Understand that networks can be
wired or wireless
Discuss the benefits and risks of
wireless networks as opposed to
wired networks
Explain the following common
network topologies: star, bus
www.cambridge.org/education
13 Computer networks (continued)
Explain how users connect
to and use the Internet.
Explain how data are
transmitted across
networks.
Explain the use of
protocols.
Final
challenge
Additional
Cambridge
Elevate
resources
3.5 Fundamentals of
computer networks
Define the term ‘network protocol’
Explain the purpose and use of common
network protocols including: Ethernet, Wi-Fi,
TCP (Transmission Control Protocol), UDP
(User Datagram Protocol), IP (Internet
Protocol), HTTP (Hypertext Transfer Protocol),
HTTPS (Hypertext Transfer Protocol Secure),
FTP (File Transfer Protocol), email protocols:
SMTP (Simple Mail Transfer Protocol), IMAP
(Internet Message Access Protocol)
Describe the 4 layer TCP/IP model:
application layer; transport layer; network
layer; data link layer.
Understand that the HTTP, HTTPS, SMTP,
IMAP and FTP protocols operate at the
application layer
Understand that the TCP and UDP protocols
operate at the transport layer
Understand that the IP protocol operates at the
network layer
Act as a consultant for network design
5 interactive activities
5 worksheets
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
14 Cyber security
Number
of weeks
3
Learning outcomes
AQA Specification references
Explain the need for and
importance of cyber
security
Describe the different
strategies that criminals use
to attack computer
networks.
3.6 Fundamentals of
cyber security
3.6.1 Cyber security
threats
3.6.1.2 Malicious code
Explain how people are the
greatest security risks to
networks.
© Cambridge University Press 2016
3.6.1.1 Social
engineering
Be able to define the term cyber
security and be able to describe the
main purposes of cyber security
Understand and be able to explain
the following cyber security threats:
social engineering techniques,
malicious code, weak and default
passwords, misconfigured access
rights, removable media, unpatched
and/or outdated software
Define the term 'malware'
Describe what malware is and how
it can be protected against
Describe the following forms of
malware: computer virus, trojan,
spyware, adware
Define the term social engineering
Describe what social engineering is
and how it can be protected
against.
Explain the following forms of social
engineering: blagging (pretexting),
phishing, pharming, shouldering
(or shoulder surfing)
www.cambridge.org/education
14 Cyber security (continued)
Describe the threats posed
to networks.
3.5 Fundamentals of
computer networks
Explain how these threats
3.6.2 Methods to detect
can be identified, prevented and prevent cyber
and combatted.
security threats
3.6.1 Cyber security
threats
Final challenge
Understand the need for, and
importance of network security
Explain the following methods of
network security:
authentication, encryption, firewall,
MAC address filtering
Understand and be able to explain
the following security measures:
biometric measures (particularly for
mobile devices), password systems,
CAPTCHA (or similar), using email
confirmations to confirm a user’s
identity, automatic software
updates
Explain what penetration testing is
and what it is used for
Design and code an information point
Additional
3 interactive activities
Cambridge Elevate 4 worksheets
resources
© Cambridge University Press 2016
www.cambridge.org/education
Chapter
15 Ethical, legal
and environmental
impacts of digital
technology on
wider society
Final challenge
Number of
weeks
4
Learning outcomes
Investigate and discuss the
following issues in relation to
the development and impact
of computer science
technologies:
• environmental
• ethical
• legal
• cultural
Discuss issues of data
collection and privacy
Describe the legislation
relevant to digital technology
Design and code an online test
AQA Specification references
3.7 Ethical, legal and
environmental impacts of
digital technology on
wider society, including
issues of privacy
Explain the current
ethical, legal and
environmental impacts
and risks of digital
technology on society
Where data privacy
issues arise these should
be considered
Additional
2 interactive activities
Cambridge Elevate 4 worksheets
resources
© Cambridge University Press 2016
www.cambridge.org/education