0% found this document useful (0 votes)
756 views

Computer Science Aqa Specification Checklist

Uploaded by

api-499828402
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
756 views

Computer Science Aqa Specification Checklist

Uploaded by

api-499828402
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

examchecklist.co.

uk
Computer Science AQA – 11/05 & 14/05
https://filestore.aqa.org.uk/resources/computing/specifications/AQA-8520-SP-2016.PDF

1. Fundamentals of Algorithms
Representing algorithms    NOTES
Understand and explain the term algorithm.
An algorithm is a sequence of steps that can be followed to complete
a task.
Be aware that a computer program is an implementation of an
algorithm and that an algorithm is not a computer program.
Understand and explain the term decomposition.
Decomposition means breaking a problem into a number of sub-
problems, so that each sub- problem accomplishes an identifiable
task, which might itself be further subdivided.
Understand and explain the term abstraction. Abstraction is the
process of removing unnecessary detail from a problem.

Use a systematic approach to problem solving and algorithm
creation representing those algorithms using pseudo-code and
flowcharts.
Any exam question where students are given pseudo-code will use the
AQA standard version. However, when students are writing their own
pseudo-code they may do so using any form as long as the meaning is
clear and unambiguous.
Explain simple algorithms in terms of their inputs, processing and
outputs.
Students must be able to identify where inputs, processing and
outputs are taking place within an algorithm.
Explain simple algorithms in terms of their inputs, processing and
outputs.
Students must be able to identify where inputs, processing and
outputs are taking place within an algorithm.

Efficiency of algorithms    NOTES


Understand that more than one algorithm can
be used to solve the same problem.
Compare the efficiency of algorithms explaining how some
algorithms are more efficient than others in solving the same
problem.
Formal comparisons of algorithmic efficiency are not required.
Exam questions in this area will only refer to time efficiency.

Searching algorithms    NOTES


Understand and explain how the linear and binary search algorithm
works, be able to compare and contrast the two.
Students should know the mechanics of the algorithm.
examchecklist.co.uk 1
examchecklist.co.uk
Students should know the advantages and disadvantages of both
algorithms.

Sorting algorithms    NOTES


Understand and explain how the merge and bubble sort algorithm
works, be able to compare and contrast the two.
Students should know the mechanics of the algorithm.
Students should know the advantages and disadvantages of both
algorithms.

2. Programming
Data types    NOTES
Understand the concept of a data type.

Understand and use the following appropriately:


• integer • real • boolean • character • string
Depending on the actual programming language(s) being used by the
students, these variable types may have other names. For example,
real numbers may be described as float. In exams we will use the
general names given in this specification.

Programming Concepts    NOTES


Use, understand and know how the following statement types can
be combined in programs:
• variable declaration • constant declaration
• assignment • iteration • selection
• subroutine (procedure/function)
The three combining principles (sequence, iteration/repetition and
selection/choice) are basic to all imperative programming languages.
Students should be able to write programs using these statement
types. They should be able to interpret algorithms that include these
statement types.
Students should know why named constants and variables are used.
Use definite and indefinite iteration, including indefinite iteration
with the condition(s) at the start or the end of the iterative
structure.
A theoretical understanding of condition(s) at either end of an iterative
structure is required, regardless of whether they are supported by the
language(s) being used.
An example of definite iteration would be:

An example of indefinite iteration with the condition at the start would be:

examchecklist.co.uk 2
examchecklist.co.uk

An example of indefinite iteration with the condition at the end would be:

Use nested selection and nested iteration structures.


An example of nested iteration would be:

An example of nested selection would be:

Use meaningful identifier names and know why it is important to


use them.
Identifier names include names for variables, constants and subroutine
names

Arithmetic operations in a programming language    NOTES


Be familiar with and be able to use:
• addition • subtraction • multiplication
• real division • integer division incl. remainders
Integer division, including remainders is usually a two-stage process
and uses modular arithmetic:
e.g. the calculation 11/2 would generate the following values:

Integer division: the integer quotient of 11 divided by 2 (11 DIV 2) = 5


Remainder: the remainder when 11 is divided by 2 (11 MOD 2) = 1

Relational operations in a programming language    NOTES


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
Students should be able to use these operators within their own
programs and be able to interpret them when used within algorithms.

examchecklist.co.uk 3
examchecklist.co.uk
Note that different languages may use different symbols to represent
these operators.
In assessment material we will use the following symbols:
=, ≠, <, >, ≤, ≥

Boolean operations in a programming language    NOTES


Be familiar with and be able to use:
• NOT • AND • OR
Students should be able to use these operators, and combinations of
these operators, within conditions for iterative and selection
structures.

Data Structures    NOTES


Understand the concept of data structures.
It may be helpful to set the concept of a data structure in various
contexts that students may already be familiar with. It may also be
helpful to suggest/demonstrate how data structures could be used in a
practical setting.
Use arrays (or equivalent) in the design of solutions to simple
problems.
Only one and two-dimensional arrays are required.
Use records (or equivalent) in the design of solutions to simple
problems.

Input/output and file handling    NOTES


Be able to obtain user input from the keyboard.

Be able to output data and information from a program to the


computer display.
Be able to read/write from/to a text file.

String handling operations in a programming language    NOTES


Understand and be able to use:
• length
• position
• substring
• concatenation
• convert character to character code
• convert character code to character
• string conversion operations.
Expected string conversion operations:
• string to integer

examchecklist.co.uk 4
examchecklist.co.uk
• string to real
• integer to string
• real to string.

Random number generation in a programming language    NOTES


Be able to use random number generation.
Students will be expected to use random number generation within
their computer programs. An understanding of how pseudo- random
numbers are generated is not required.

Subroutines (procedures and functions)    NOTES


Understand the concept of subroutines.
Know that a subroutine is a named ‘out of line’ block of code that may
be executed (called) by simply writing its name in a program
statement.
Explain the advantages of using subroutines in programs.

Describe the use of parameters to pass data within programs.


Students should be able to use subroutines that require more than one
parameter.
Students should be able to describe how data is passed to a subroutine
using parameters.
Use subroutines that return values to the calling routine.
Students should be able to describe how data is passed out of a
subroutine using return values.
Know that subroutines may declare their own variables, called local
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.

Structured Programming    NOTES


Describe the structured approach to programming.
Students should be able to describe the structured approach including
modularised programming, clear, well documented interfaces (local
variables, parameters) and return values.
The terms 'arguments' and 'parameters' are sometimes used but in
examinable material the term 'parameter' will refer to both.
Explain the advantages of the structured approach.

examchecklist.co.uk 5
examchecklist.co.uk

Robust and secure programming    NOTES


Be able to write simple data validation routines.
The following validation checks are examples of simple data validation
routines:
• checking if an entered string has a minimum length
• checking if a string is empty
• checking if data entered lies within a given range (eg between 1 and
10).
Be able to write simple authentication routines
Students should be able to write a simple authentication routine that
uses a username and password. Students will only be required to use
plain text usernames and passwords (i.e. students will not need to
encrypt the passwords).
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.

Classification of programming languages    NOTES


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.
Students should understand that most computer programs are written
in high-level languages and be able to explain why this is the case.
Know that machine code and assembly language are considered to
be low-level languages and explain the differences between them.
Understand that processors execute machine code and that each type
of processor has its own specific machine code instruction set.
Understand that assembly language is often used to develop software
for embedded systems and for controlling specific hardware
components.
Understand that assembly language has a 1:1 correspondence with
machine code.
Understand that ultimately all programming code written in high-
level 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.
Understand the advantages and disadvantages of low-level
language programming compared with high-level language
programming.
Understand that there are three common types of program
translator:
• interpreter • compiler • assembler
examchecklist.co.uk 6
examchecklist.co.uk
Explain the main differences between these three types of
translator.
Understand when it would be appropriate to use each type of
translator.

3. Fundamentals of data representation


Number bases    NOTES
Understand the following number bases:
• decimal (base 10)
• binary (base 2)
• hexadecimal (base 16)
Understand that computers use binary to represent all data and
instructions.
Students should be familiar with the idea that a bit pattern could
represent different types of data including text, image, sound and
integer.
Explain why hexadecimal is often used in computer science.

Converting between number bases    NOTES


Understand how binary can be used to represent whole numbers.
Students must be able to represent decimal values between 0 and 255
in binary.
Understand how hexadecimal can be used to represent whole
numbers.
Students must be able to represent decimal values between 0 and 255
in hexadecimal.
Be able to convert in both directions between:
• binary and decimal
• binary and hexadecimal
• decimal and hexadecimal
The following equivalent maximum values will be used:
• decimal: 255
• binary: 1111 1111
• hexadecimal: FF

Converting between number bases    NOTES


Know that:
• a bit is the fundamental unit of information
• a byte is a group of 8 bits
A bit is either a 0 or a 1
• b represents bit

examchecklist.co.uk 7
examchecklist.co.uk
• B represents byte
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
The SI units of kilo, mega and so forth refer to values based on powers
of 10.
Students might benefit from knowing that historically the terms
kilobyte, megabyte, etc have often been used to represent powers of
2.

Binary arithmetic    NOTES


Be able to add together up to three binary numbers.
Students will need to be able to add together up to three binary
numbers using a maximum of 8 bits per number.
Students will only be expected to add together a maximum of three 1s
in a single column.
Answers will be a maximum of 8 bits in length and will not involve
carrying beyond the eight bits.
Be able to apply a binary shift to a binary number.
Students will be expected to use a maximum of 8 bits.
Students will be expected to understand and use only a logical binary
shift.
Students will not need to understand or use fractional representations.
Describe situations where binary shifts can be used.
Binary shifts can be used to perform simple multiplication/division by
powers of 2.

Character encoding    NOTES


Understand what a character set is and be able to describe the
following character encoding methods:
• 7-bit ASCII
• Unicode
Students should be able to use a given character encoding table to:
• convert characters to character codes
• convert character codes to characters.
Understand that character codes are commonly grouped and run in
sequence within encoding tables.
Students should know that character codes are grouped and that they
run in sequence. For example, in ASCII ‘A’ is coded as 65, ‘B’ as 66, and
so on, meaning that the codes for the other capital letters can be
calculated once the code for ‘A’ is known. This pattern also applies to
other groupings such as numbers.
examchecklist.co.uk 8
examchecklist.co.uk
Describe the purpose of Unicode and the advantages of Unicode
over ASCII.
Know that Unicode uses the same codes as ASCII up to 127.
Students should be able to explain the need for data representation of
different alphabets and of special symbols allowing a far greater range
of characters.
It is not necessary to be familiar with UTF-8, UTF-16 or other different
versions of Unicode.

Representing images    NOTES


Understand what a pixel is and be able to describe how pixels relate
to an image and the way images are displayed.
Students should know that the term pixel is short for Picture Element.
A pixel is a single point in a graphical image.
VDUs display pictures by dividing the display screen into thousands (or
millions) of pixels, arranged into rows and columns.
Describe the following for bitmaps:
• size in pixels
• colour depth.
Know that the size of a bitmap image in pixels (width x height) is
known as the image resolution.
The size of an image is expressed directly as width of image in pixels by
height of image in pixels using the notation width x height.
Colour depth is the number of bits used to represent each pixel.
Describe how a bitmap represents an image using pixels and colour
depth.
Students should be able to explain how bitmaps are made from pixels.
Describe using examples how the number of pixels and colour
depth can affect the file size of a bitmap image.
Students should be able to describe how higher numbers of pixels and
higher colour depths can affect file size and should also be able to use
examples.
Calculate bitmap image file sizes based on the number of pixels and
colour depth.
Students only need to use colour depth and number of pixels within
their calculations.
Size bits = WxHxD
Size bytes = W x H x D /8 W = image width
H = image height
D = colour depth in bits.
Convert binary data into a black and white image.
Given a binary pattern that represents a black and white bitmap,
students should be able to draw the resulting image as a series of
pixels.
Convert a black and white image into binary data.
Given a black and white bitmap, students should be able to write down
a bit pattern that represents the image.

examchecklist.co.uk 9
examchecklist.co.uk

Representing sound    NOTES


Understand that sound is analogue and that it must be converted to
a digital form for storage and processing in a computer
Understand that sound waves are sampled to create the digital
version of sound.
Understand that a sample is a measure of amplitude at a point in time.
Describe the digital representation of sound in terms of:
• sampling rate
• sample resolution
Sampling rate is the number of samples taken in a second and is
usually measured in hertz (1 Hertz = 1 sample per second).
Sample resolution is the number of bits per sample.
Calculate sound file sizes based on the sampling rate and the
sample resolution.
File size (bits) = rate x res x secs rate = sampling rate
res = sample resolution
secs = number of seconds

Data compression    NOTES


Explain what data compression is.
Understand why data may be compressed and that there are
different ways to compress data.
Students should understand that it is common for data to be
compressed and should be able to explain why it may be necessary or
desirable to compress data.
Explain how data can be compressed using Huffman coding.
Be able to interpret/create Huffman trees.
Students should be familiar with the process of using a tree to
represent the Huffman code.
Students should be able to create a new Huffman tree or use a given
Huffman tree to:
• determine the code used for a particular node within the tree
(encoding)
• determine the node within a tree given its code (decoding).
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.
Students should be familiar with carrying out calculations to determine
the number of bits saved by compressing a piece of data using
Huffman coding.
Explain how data can be compressed using run length encoding
(RLE).
Students should be familiar with the process of using frequency/data
pairs to reduce the amount of data stored.
Represent data in RLE frequency/data pairs.

examchecklist.co.uk 10
examchecklist.co.uk
Students could be given a bitmap representation and they would be
expected to show the frequency and value pairs for each row,
e.g. 0000011100000011
would become 5 0 3 1 6 0 2 1

4. Computer Systems
Hardware and Software    NOTES
Define the terms hardware and software and understand the
relationship between them.

Boolean logic    NOTES


Construct truth tables for the following logic gates:
• NOT • AND • OR.
Students do not need to know about or use NAND, NOR and XOR logic
gates.
Construct truth tables for simple logic circuits.
Interpret the results of simple truth tables.
Students should be able to construct truth tables which contain up to
three inputs.
Create, modify and interpret simple logic circuit diagrams.
Students should be able to construct simple logic circuit diagrams
which contain up to three inputs.
Students will only need to use AND, OR and NOT gates within logic
circuits.
Students will be expected to understand and
use the following logic circuit symbols:

Software classification    NOTES


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)
and utility programs.
Understand that the OS handles management of the:
• processor(s)
• memory

examchecklist.co.uk 11
examchecklist.co.uk
• I/O devices
• applications
• security

System architecture    NOTES


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
A bus is a collection of wires through which data is transmitted from
one component to another. Main memory will be considered to be any
form of memory that is directly accessible by the CPU, except for
cache and registers.
Explain the effect of the following on the
performance of the CPU:
• clock speed
• number of processor cores
• cache size
• cache type
Understand and explain the Fetch-Execute cycle.
The CPU continuously reads instructions stored in main memory and
executes them as required:
• fetch: the next instruction is fetched to the CPU from main memory
• decode: the instruction is decoded to work out what it is
• execute: the instruction is executed (carried out). This may include
reading/writing from/to main memory
Understand the differences between main memory and secondary
storage.
Understand the differences between RAM and ROM.
Students should be able to explain the terms volatile and non-volatile.
Secondary storage is considered to be any non-volatile storage
mechanism not directly accessible by the CPU.
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.
Students should be aware that SSDs use electrical circuits to
persistently store data but will not need to know the precise details
such as use of NAND gates.

examchecklist.co.uk 12
examchecklist.co.uk
Explain the term 'cloud storage'.
Students should understand that cloud storage uses magnetic and
increasingly solid state storage at a remote location.
Explain the advantages and disadvantages of cloud storage when
compared to local storage.

Understand the term 'embedded system' and explain how an


embedded system differs from a non-embedded system.
Students must be able to give examples of embedded and non-
embedded systems.

Fundamentals of computer networks    NOTES


Define what a computer network is.

Discuss the benefits and risks of computer networks.

Describe the main types of computer network including:


• Personal Area Network (PAN)
• Local Area Network (LAN)
• Wide Area Network (WAN)
PAN – only Bluetooth needs to be considered.
LAN – know that these usually cover relatively small geographical
areas.
LAN – know that these are often owned and controlled/managed by a
single person or organisation.
WAN – know that the Internet is the biggest example of a WAN.
WAN – know that these usually cover a wide geographic area.
WAN – know that these are often under collective or distributed
ownership.
Understand that networks can be wired or wireless.
Discuss the benefits and risks of wireless networks as opposed to
wired networks.
Know that wired networks can use different types of cable such as fibre
and copper and when each would be appropriate.
Explain the following common network
topologies:
• star
• bus
Students should be able to draw topology diagrams and explain the
differences between the two topologies. They should also be able to
select the most appropriate topology for a given scenario.
Define the term ‘network protocol’.
Explain the purpose and use of common network protocols
including:

examchecklist.co.uk 13
examchecklist.co.uk
• 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)
Students should know what each protocol is used for (eg HTTPS
provides an encrypted version of HTTP for more secure web
transactions).
Students should understand that Ethernet is a family of related
protocols rather than a single protocol. They do not need to know the
individual protocols that make up the Ethernet family.
Students should understand that Wi-Fi is a family of related protocols
rather than a single protocol. They do not need to know the individual
protocols that make up the Wi-Fi family but they should know that Wi-
Fi is a trademark and that the generic term for networks of this nature
is WLAN.
Understand the need for, and importance of, network security.

Explain the following methods of network


security:
• authentication
• encryption
• firewall
• MAC address filtering
Students should be able to explain, using examples, what each of these
security methods is and when each could be used.
Students should understand how these methods can work together to
provide a greater level of security.
Students should understand that MAC address filtering allows devices
to access, or be blocked from accessing a network based on their
physical address embedded within the device’s network adapter.
Describe the 4 layer TCP/IP model:
• application layer
• transport layer
• internet layer
• 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 internet layer.
Students should be able to name the layers and describe their main
function(s) in a networking environment.
examchecklist.co.uk 14
examchecklist.co.uk
Application layer: this is where the network applications, such as web
browsers or email programs, operate.
Transport layer: this layer sets up the communication between the
two hosts and they agree settings such as ‘language’ and size of
packets.
Internet layer: addresses and packages data for transmission. Routes
the packets across the network.
Link layer: this is where the network hardware such as the NIC
(network interface card) is located. OS device drivers also sit here.

Teachers should be aware that the link layer is sometimes referred to


as the network access layer or network interface layer. However,
students will not be expected to know these alternative layer names.

Fundamentals of cyber security    NOTES


Be able to define the term cyber security and be able to describe the
main purposes of cyber security.
Students should know that cyber security consists of the processes,
practices and technologies designed to protect networks, computers,
programs and data from attack, damage or unauthorised access.

Cyber security threats    NOTES


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
Explain what penetration testing is and what it is used for.
Penetration testing is the process of attempting to gain access to
resources without knowledge of usernames, passwords and other
normal means of access.
Students should understand that the aim of a white-box penetration
test is to simulate a malicious insider who has knowledge of and
possibly basic credentials for the target system.
Students should understand that the aim of a black-box penetration
test is to simulate an external hacking or cyber warfare attack.

Social engineering    NOTES


Define the term social engineering.
Describe what social engineering is and how it can be protected
against.
Explain the following forms of social engineering:
examchecklist.co.uk 15
examchecklist.co.uk
• blagging (pretexting)
• phishing
• pharming
• shouldering (or shoulder surfing)
Students should know that social engineering is the art of
manipulating people so they give up confidential information.
Blagging is the act of creating and using an invented scenario to
engage a targeted victim in a manner that increases the chance the
victim will divulge information or perform actions that would be
unlikely in ordinary circumstances.
Phishing is a technique of fraudulently obtaining private information,
often using email or SMS.
Pharming is a cyber-attack intended to redirect a website's traffic to
another, fake site.
Shouldering is observing a person's private information over their
shoulder e.g. cashpoint machine PIN numbers.

Malicious code    NOTES


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
Malware is an umbrella term used to refer to a variety of forms of
hostile or intrusive software.

Methods to detect and prevent cyber security threats    NOTES


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

Ethical, legal and environmental impacts of digital    NOTES


technology on wider society, including issues of privacy
Ethical, legal and environmental impacts of digital technology on
wider society, including issues of privacy.
Exam questions will be taken from the following areas:
• cyber security
• mobile technologies
• wireless networking
• cloud storage

examchecklist.co.uk 16
examchecklist.co.uk
• theft of computer code
• issues around copyright of algorithms
• cracking
• hacking
• wearable technologies
• computer-based implants.
Students will be expected to understand and explain the general
principles behind the issues rather than have detailed knowledge on
specific issues.
Students should be aware that ordinary citizens normally value their
privacy and may not like it when governments or security services have
too much access.
Students should be aware that governments and security services
often argue that they cannot keep their citizens safe from terrorism
and other attacks unless they have access to private data.

Aspects of software development    NOTES


Design
Be aware that before constructing a solution, the solution should be
designed, for example planning data structures for the data model,
designing algorithms, designing an appropriate modular structure for
the solution and designing the user interface.
Implementation
Be aware that the models and algorithms need to be implemented in
the form of data structures and code (instructions) that a computer can
understand.
Testing
Be aware that the implementation must be tested for the presence of
errors, using selected test data covering normal (typical), boundary
(extreme) and erroneous data.
Evaluation/refining
Be aware that code created during implementation will often require
refining as a result of testing.
Be aware of the importance of assessing how well the solution meets
the requirements of the problem and how the solution could be
improved if the problem were to be revisited.

examchecklist.co.uk 17

You might also like