Click a paper to view its questions. The specification for the course is shown on the right. For each question, its specification references are listed and can be clicked to scroll the relevant part of the specification into view.

AS-Level 2024 June Paper 2AS-Level 2023 June Paper 2AS-Level 2022 June Paper 2AS-Level 2020 June Paper 2AS-Level 2019 June Paper 2AS-Level 2018 June Paper 2AS-Level 2017 June Paper 2AS-Level 2016 June Paper 2A-Level 2024 June Paper 2A-Level 2023 June Paper 2A-Level 2022 June Paper 2A-Level 2021 June Paper 2A-Level 2020 June Paper 2A-Level 2019 June Paper 2A-Level 2018 June Paper 2A-Level 2017 June Paper 2

Only A-Level questions relating to the AS-Level specification are shown.

A-Level2019June1.1multiple-choice1 mark

Shade one lozenge to indicate to which category of system software a virus checker belongs.

  • A:Operating systems
  • B:Translators
  • C:Utilities

1 mark: Lozenge for "Utilities" shaded.

R. if more than one lozenge shaded

A-Level2019June1.2open2 marks

The operating system is responsible for resource management.

Describe two different types of resource management that an operating system is responsible for.

Allocate processors/cores to processes // schedule processes // decide which process to carry out when;

Allocate memory/RAM to processes // moving data into and out of RAM / to a paging file for virtual memory // ensuring processes can only write to memory that they have been allocated;

Allocate I/O devices to processes // manages communication between processes and I/O devices // automatic installation of drivers for new I/O devices; A. examples of devices (but no more than one mark) NE. manages I/O devices

Allocate space on a storage device to files // organising files into directories // determines where on a device to save a file // recognising storage devices when they are connected; A. defragmentation of disks NE. saving a file

Installation of new software // automatic/managing updating of software;

A. "programs" or "tasks" for "processes"

R. handling interrupts

R. hides complexity

Note: Students must describe the type of resource management – phrases such as "processor management", "allocating memory" etc are not enough.

Max 2

A-Level2019June3.1openDiagram1 mark

Dictionary-based compression is an example of a lossless encryption method.

Explain the key difference between lossless and lossy compression methods.

The original data can be fully recovered if lossless compression has been used // lossless data compression can be reversed;

NE. no data is lost

NE. no loss of quality

The original data cannot be recovered if lossy compression has been used // lossy compression cannot be reversed // the data is degraded by lossy compression;

A. redundant / less important data removed

NE. data is lost

NE. quality is reduced

Max 1

A-Level2019June3.2openDiagram2 marks

The paragraph of text in Figure 1 is to be compressed using a dictionary-based compression method.

Explain how the paragraph of text in Figure 1 could be compressed using a dictionary-based method.

A dictionary is built that maps sequences of characters/substrings/words/strings in the text onto tokens/values/numbers;

A. sequences of characters/substrings/words/strings are stored at known positions in a list/table/array

TO. sequences of characters/substrings/words/strings and their frequencies/positions (in the paragraph) are stored

The (sequences of) characters/substrings/words/strings in the text are then replaced by the corresponding tokens/values/numbers/indices in the dictionary;

A. shown by example

If no other marks awarded, award one mark if stated that sequences of characters/substrings/words/strings are assigned tokens/values/numbers, regardless of whether it is clear if this means in the dictionary or paragraph of text.

A-Level2019June3.3openDiagram1 mark

After the text in Figure 1 has been compressed it is to be transmitted across a computer network.

Explain why dictionary-based compression is not very effective for compressing small amounts of text for transmission.

For small pieces of text there is little repetition (and so the compressed text will be similar in size to the original);

A. The dictionary itself will require storage space // will need to be transmitted;

Max 1

A-Level2019June4calculationDiagram1 mark

A student has attempted to add together the binary numbers 00110011 and 10110110, but has made a mistake.

The student's calculation is shown in Figure 2 below.

Explain what mistake the student has made.

The columns in the addition have been labelled A to H to help you make your explanation clear.

In column C Result should be 1 / is wrong // column C should be 1 carry 1 /11 // the carry has not been included when adding up the values in column C;

A. column C should be 1 not 0

NE. column C is wrong

NE. column C should be 1

A-Level2019June5open12 marks

A student has written a computer program using an imperative high-level programming language. The program could be translated using either a compiler or an interpreter.

Describe the steps that must be completed to translate and execute the program.

Your description should include:

  • why translation is necessary
  • the differences between how a compiler and an interpreter would translate the program
  • how the machine code instructions that are used to carry out the program will be fetched and executed by the processor from main memory.
LevelDescriptionMark Range
4A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically structured response. The response covers all three areas indicated in the guidance below and in at least two of these areas there is sufficient detail to show that the student has a good level of understanding. To reach the top of this mark range, a good level of understanding must be shown of all three areas.10-12
3A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically structured response which shows a good level of understanding of at least two areas indicated in the guidance below.7-9
2A limited attempt has been made to follow a line of reasoning and the response has a mostly logical structure. Either a good level of understanding of one area from the guidance has been shown or a limited understanding of two areas.4-6
1A few relevant points have been made but there is no evidence that a line of reasoning has been followed. The points may only relate to one or two of the areas from the guidance or may be made in a superficial way with little substantiation.1-3

Guidance – Indicative Response

1. Why translation is necessary

  • Processor can only execute machine code instructions A. computer for processor
  • High-level instructions cannot be executed directly // high-level instructions are not machine code A. must be converted to machine code to be executed
  • NE. "Understand" for "execute".
  • Good level of understanding = at least one point made

2. Differences between compilation and interpreting

  • Compiler analyses program as a whole
  • Interpreter analyses program on a line-by-line basis
  • Compiler produces object code/executable file/machine code/bytecode
  • Interpreter calls subroutines within its own code to carry out commands
  • Compiler will not translate any of the program if it encounters an error
  • Interpreter translates/executes program until first error is encountered
  • If (unchanged) program executed twice/multiple times, compiler will only need to translate it once
  • Interpreter translates a program each time it is executed
  • Interpreter executes each line immediately after translating it
  • If student has written about compiler outputting bytecode then: bytecode will later be interpreted // executed by a virtual machine // just-in-time-compiled
  • Once translated, compiled code does not need the compiler to be present to run
  • An interpreter must always be present for a program that is interpreted to run
  • Once compiled, code will only run on one type of processor / virtual machine
  • Interpreter could translate the same instruction multiple times (eg if it is in a loop)
  • Good level of understanding = at least four points made

3. How machine code instructions fetched and executed

F-E Stage 1 Fetch:

  • Contents of Program Counter / PC transferred to Memory Address Register / MAR
  • R. if implied the instruction is stored in the PC
  • Address bus used to transfer this address to main memory
  • Transfer of main memory content uses the data bus
  • Contents of addressed memory location loaded into the Memory Buffer Register / MBR
  • Increment (contents of) Program Counter / PC A. at any part of fetch process after transferring PC to MAR
  • Increment Program Counter / PC and fetch instruction simultaneously
  • Contents of MBR copied to CIR

F-E Stage 2 Decode:

  • Decode instruction held by the (Current) Instruction Register / (C)IR
  • The control unit decodes the instruction
  • Instruction split into opcode and operand

F-E Stage 3 Execute:

  • If necessary, data is fetched
  • If necessary, data is stored in memory
  • The opcode identifies the type of operation/instruction to be performed (by the processor)
  • Result (may be) stored in register/accumulator
  • The operation (identified by the opcode) is performed by the processor. A. ALU
  • Status register updated
  • If jump / branch required Program Counter/PC is updated

General:

  • Instructions will be for program (if compiled) or interpreter (if interpreted)
  • Good level of understanding = at least five points made and at least two of the three stages of the F-E cycle are covered.
A-Level2019June8.1table1 mark

Complete the truth tables for the OR and NAND gates.

OR Gate
InputsOutput
000
011
101
111
NAND Gate
InputsOutput
001
011
101
110

1 mark: All values in both Output columns are correctly completed.

A-Level2019June8.2diagram4 marks

Draw a logic circuit for the Boolean expression:

Q = (A.B + C. B')'

1 mark: Circuit inputs A and B connected as the inputs to an AND gate.

1 mark: Circuit input B connected as the input to a NOT gate.

A. NOT gate drawn as triangle without circle as BOD

1 mark: Output of a NOT gate and C connected as the inputs to an AND gate.

A. B and C going into AND gate if second mark point not awarded.

1 mark: Outputs of two AND gates connected to a NOR gate as inputs which has its output connected to Q. A. correct use of OR and NOT gate instead of NOR gate.

Max 3 if circuit logic not fully correct

Logically Equivalent Expressions

If a response includes a statement of a logically equivalent expression for example A . B______ . C . B_______ or (A_ + B_). (C_ + B) or A_ + B_______ + C_ + B_______________________ then:

  • If the student appears to have drawn a circuit for the expression given to them on the question paper mark against mark points above.
  • If the student appears to have drawn a circuit for their logically equivalent expression refer the response to a team leader for marking.

If a response includes a statement of an expression that is not logically equivalent then mark against mark points above.

A-Level2019June8.3open2 marks

Identities are often applied to help simplify Boolean expressions. One such identity is:

A . A̅ = 0

Without using a truth table, explain why this identity is true.

If input A is 0 then NOT A will be 1 and if A is 1 then NOT A will be 0 // one of the inputs to the AND operator will always be 0 // the inputs can only be 0,1 or 1,0;

NE. if only expressed one way around eg if A is 0 then NOT A is 1

NE. NOT A is always the opposite of A unless clarified that possible values are 0/1

NE. if only presented as a truth table

A. on/off, true/false for 1/0

An AND gate only outputs 1 if both inputs are 1 // an AND gate always outputs 0 if one of its inputs is 0 // when inputs to AND are 1 and 0 then output is 0;

A-Level2019June8.4calculation4 marks

Using the rules of Boolean algebra, simplify the following Boolean expression.

((B' . A)' . B')' + A . B

You must show your working.

Marking guidance for examiners

  • Award marks for working out until an incorrect step has been made.
  • If, in any one step, a candidate is simplifying different parts of an expression simultaneously award all relevant marks for this multiple stage but don't award any further marks for working in any parts simplified incorrectly. For example, if the expression P.P.(P+Q) + P.P.1 was changed to P.(P+Q)+P.0, the candidate would get one mark for simplifying the first part to P.(P+Q) and could get further marks for correctly simplifying this part of the expression further but should not be awarded marks for simplifying the incorrectly changed part P.0 (ie to 0)

1 mark for final answer: A + B

Max 3 for working. Award up to two marks for applying each one of the three techniques (one mark per application):

  • a successful application of De Morgan's Law (and any associated cancellation of NOTs) that produces a simpler expression.
  • applying an identity other than cancelling NOTs that produces a simpler expression.
  • successfully expanding brackets.

Note: A simpler expression is one that is logically equivalent to the original expression but uses fewer logical operators.

Max 3 if correct final answer but any incorrect working

A-Level2019June9.1open1 mark

A data communication system uses asynchronous serial communication.

Explain the difference between asynchronous and synchronous communication.

Asynchronous: Receiver and transmitter are not synchronised by a common clock // receiver's clock synchronised to transmitter's each time a start bit is received // receiver and transmitter clocks synchronised for duration of a transmission;

Synchronous: Receiver and transmitter (continuously) synchronised by a common clock // timing information transmitted within/alongside the data // receiver and transmitter clocks are (continuously) synchronised;

NE. Receiver and transmitter are synchronised

Max 1

A-Level2019June9.2diagramDiagram3 marks

The ASCII code for the digit '0' is 48 in decimal. In ASCII, other digits follow on from this value in sequence.

The digit '4' is to be transmitted in ASCII using asynchronous serial transmission and even parity, with the parity bit stored in the most significant bit of the byte of data containing the ASCII code.

Complete Figure 6 below to show a valid bit pattern for transmitting the digit '4'

1 mark: Start bit and stop bit each have the value 1 and 0 and must be different to each other (it does not matter which is 1 or 0).

1 mark: Correct bit pattern for character '4': 0110100

1 mark: Parity bit is 1 A. parity bit of 0 if this would be correct based upon an incorrect ASCII code used and reject parity bit of 1 if would not be correct for ASCII code used.

A-Level2019June9.3open4 marks

It is proposed that the communication system is modified so that:

  • a majority voting system is used instead of the parity bit
  • Unicode is used to encode the characters to be transmitted instead of ASCII.

Discuss the improvements that will occur in the communication system as a result of these changes and any disadvantages that will result from them.

Improvements (Max 3):

# Errors can (sometimes) be corrected as well as detected; A. the location of an error can be identified

# Multi-bit errors can be detected; A. errors that change an even number of bits can be detected

If neither of the points marked # is awarded then award one mark if the general point that transmissions should be more reliable is made.

A greater range of characters can now be transmitted; A. any response that implies this eg support for multiple languages // languages with large sets of characters, inclusion of specialised symbols in character set

Elimination of problems caused by different versions of ASCII character sets / extended ASCII / use of code pages // eliminates problem of some ASCII codes representing different characters in different countries // Unicode values can be interpreted more consistently than ASCII codes;

Disadvantages (Max 3):

*Each character will require more bits // 8 bits // 16 bits // 32 bits // between 8 and 32 bits;

*Each bit will be sent multiple times // three or more times // there will be redundancy in the data transmissions; A. code, character instead of bit

If neither of the points marked * is awarded then award one mark if the general point that more bits are required is made.

The (effective) rate at which information / (useful) data can be transmitted will be reduced; A. transmissions will take longer R. references to storage space

A-Level2019June10.1openDiagram8 marks

The greatest common divisor of two positive integers A and B is the largest positive integer that divides both of the numbers without leaving a remainder.

The method shown in Figure 7 is a famous method for determining the greatest common divisor of two positive integers, A and B.

Write a program using the AQA assembly language instruction set, shown on page 18 in Table 1, that uses the method described in Figure 7 to calculate the greatest common divisor of two positive integers.

  • At the start, the positive integer A will be stored in memory location 102 and the positive integer B in memory location 103. Your program should use these values to find their greatest common divisor.
  • When your program terminates it should store the greatest common divisor of these two numbers in memory location 104.

Values in memory locations 102 and 103 loaded into two different registers;

Comparison made between the values in the two registers;

If the values in the two registers are the same then the code will exit (after performing any other necessary instructions); A. end of program reached if not HALT instruction.

If A is greater than B then the value in the register representing B is subtracted from the value in the register representing A and result stored in register representing A;

Note: Award this mark even if further incorrect changes would also be made to values in registers.

If A is less than (or equal to B) / then the value in the register representing A is subtracted from the value in the register representing B and result stored in register representing B;

Note: Award this mark even if further incorrect changes would also be made to values in registers.

Before the algorithm exits, in all circumstance, the value in the register representing A (or the register representing B) is stored into memory location 104 (regardless of whether or not this is the gcd); A. if this is done on every iteration of a loop instead of just once.

The need for a loop has been identified and instructions are used to make the program loop back to before the comparison(s) after each subtraction has taken place;

The response provided follows the correct method to calculate the gcd of A and B, regardless of whether the syntax is correct or not, although an attempt must have been made to use the AQA instruction set;

Max 7 if solution not fully working

Note: Any register numbers can be used and any understandable method to identify a label.

DPT use of invalid register names eg R27, Rn

A-Level2019June12.1calculation1 mark

A particular computer system uses a 32-bit address bus and a 32-bit data bus. Each addressed memory location can store one byte of data.

What is the maximum amount of memory, in bytes, that could be accessed?

4294967296 // 232 (bytes)

A-Level2019June12.2open1 mark

A different computer system has a wider data bus; this will speed up the execution of programs.

Explain how the wider data bus has resulted in this effect.

Increase the number of bits // amount of data that can be transferred at one time;

A. in one cycle

NE. increase rate of data transfer

A-Level2019June14.1calculationDiagram3 marks

The ciphertext message "BVP" has been received. The message was encrypted using the Vernam cipher and the key "TIN".

Conversion between letters and their equivalent binary patterns was carried out using a special code called the Baudot-Murray code. A version of the Baudot-Murray codes for each letter is shown in Figure 8.

Decrypt the ciphertext to work out what the original plaintext message was.

Express the plaintext as letters.

You must show your working.

1 mark: Correct conversion of ciphertext and key to binary.

1 mark: The XOR operation is applied to the binary representations of the ciphertext and key to produce the binary representation of the plaintext.

A. award this mark if one or both of the binary representations of the ciphertext and key are incorrect but the plaintext binary pattern has been produced by XORing these bit patterns

1 mark: Correct conversion of plaintext from binary to letters.

A. award this mark if the binary plaintext is incorrect but the conversion of this to letters is correct for the incorrect bit pattern. If only some bit patterns map to letters (eg 11011 does not) then accept that those which do not are not converted, but reject incorrect conversion.

I. Case eg "Dog" is fine.

Ciphertext in binary: 10011 01111 01101

Key in binary: 00001 01100 00110

Plaintext in binary: 10010 00011 01011

Plaintext as letters: D O G

If answer is correct (DOG) and some working has been shown, award three marks, even if working would not have gained credit on its own.

A-Level2019June14.2open1 mark

The Vernam cipher can offer perfect security. Most encrypted transmissions that are made by computers use ciphers that are computationally secure but not perfectly secure.

Explain what it means for a cipher to be described as being computationally secure.

The cipher cannot be cracked (by any known method A. technology) in a reasonable/practical/polynomial/useful amount of time; NE. long time

A. given enough ciphertext and time the cipher could be cracked (but this is not reasonable)

R. responses that suggest the cipher could never be cracked

NE. responses about plaintext being deciphered / decrypted /decoded or the cipher solved rather than cracked, unless it is clear that this is being done without the key

Paper 2 covers sections 5-9 of the AQA AS Computer Science specification.

5 Fundamentals of data representation

5.1 Number systems

5.1.1 Natural numbers

ReferenceContentAdditional information
5.1.1.1
View

Be familiar with the concept of a natural number and the set ℕ of natural numbers (including zero).

ℕ = {0, 1, 2, 3, …}

5.1.2 Integer numbers

ReferenceContentAdditional information
5.1.2.1
View

Be familiar with the concept of an integer and the set ℤ of integers.

ℤ = { …, -3, -2, -1, 0, 1, 2, 3, … }

5.1.3 Rational numbers

ReferenceContentAdditional information
5.1.3.1
View

Be familiar with the concept of a rational number and the set ℚ of rational numbers, and that this set includes the integers.

ℚ is the set of numbers that can be written as fractions (ratios of integers). Since a number such as 7 can be written as 7/1, all integers are rational numbers.

5.1.4 Irrational numbers

ReferenceContentAdditional information
5.1.4.1
View

Be familiar with the concept of an irrational number.

An irrational number is one that cannot be written as a fraction, for example √2.

5.1.5 Real numbers

ReferenceContentAdditional information
5.1.5.1
View

Be familiar with the concept of a real number and the set ℝ of real numbers, which includes the natural numbers, the rational numbers, and the irrational numbers.

ℝ is the set of all 'possible real world quantities'.

5.1.6 Ordinal numbers

ReferenceContentAdditional information
5.1.6.1
View

Be familiar with the concept of ordinal numbers and their use to describe the numerical positions of objects.

When objects are placed in order, ordinal numbers are used to tell their position. For example, if we have a well-ordered set S = {'a', 'b', 'c', 'd'}, then 'a' is the 1st object, 'b' the 2nd, and so on.

5.1.7 Counting and measurement

ReferenceContentAdditional information
5.1.7.1
View

Be familiar with the use of natural numbers for counting.

5.1.7.2
View

Be familiar with the use of real numbers for measurement.

5.2 Number bases

5.2.1 Number base

ReferenceContentAdditional information
5.2.1.1
View

Be familiar with the concept of a number base, in particular:

  • decimal (base 10)
  • binary (base 2)
  • hexadecimal (base 16)

Students should be familiar with expressing a number's base using a subscript as follows:

  • Base 10: Number10, eg 6710
  • Base 2: Number2, eg 100110112
  • Base 16: Number16, eg AE16
5.2.1.2
View

Convert between decimal, binary and hexadecimal number bases.

5.2.1.3
View

Be familiar with, and able to use, hexadecimal as a shorthand for binary and to understand why it is used in this way.

5.3 Units of information

5.3.1 Bits and bytes

ReferenceContentAdditional information
5.3.1.1
View

Know that the bit is the fundamental unit of information.

A bit is either 0 or 1.

5.3.1.2
View

Know that a byte is a group of 8 bits.

5.3.1.3
View

Know that 2n different values can be represented with n bits.

For example, 3 bits can be configured in 23 = 8 different ways: 000, 001, 010, 011, 100, 101, 110, 111.

5.3.2 Units

ReferenceContentAdditional information
5.3.2.1
View

Know the names, symbols and corresponding powers of 10 for the decimal prefixes:

  • kilo, k - 103
  • mega, M - 106
  • giga, G - 109
  • tera, T - 1012
5.3.2.2
View

Know the names, symbols and corresponding powers of 2 for the binary prefixes:

  • kibi, Ki - 210
  • mebi, Mi - 220
  • gibi, Gi - 230
  • tebi, Ti - 240
5.3.2.3
View

Know that quantities of bytes can be described using binary prefixes representing powers of 2 or using decimal prefixes representing powers of 10, eg one kibibyte is written as 1KiB = 210 B and one kilobyte is written as 1 kB = 103 B.

Historically the terms kilobyte, megabyte, etc have often been used when kibibyte, mebibyte, etc are meant.

5.4 Binary number system

5.4.1 Unsigned binary

ReferenceContentAdditional information
5.4.1.1
View

Know the difference between unsigned binary and signed binary.

Students are expected to be able to convert between unsigned binary and decimal and vice versa.

5.4.1.2
View

Know that in unsigned binary the minimum and maximum values for a given number of bits, n, are 0 and 2n - 1 respectively.

5.4.2 Unsigned binary arithmetic

ReferenceContentAdditional information
5.4.2.1
View

Be able to add two unsigned binary integers.

5.4.2.2
View

Be able to multiply two unsigned binary integers.

5.4.3 Signed binary using two's complement

ReferenceContentAdditional information
5.4.3.1
View

Know that signed binary can be used to represent negative integers and that one possible coding scheme is two's complement.

This is the only representation of negative integers that will be examined. Students are expected to be able to convert between signed binary and decimal and vice versa.

5.4.3.2
View

Know how to represent negative and positive integers in two's complement.

5.4.3.3
View

Know how to perform subtraction using two's complement.

5.4.3.4
View

Know how to calculate the range of a given number of bits, n.

5.4.4 Numbers with a fractional part

ReferenceContentAdditional information
5.4.4.1
View

Know how numbers with a fractional part can be represented in fixed point form in binary in a given number of bits.

5.4.4.2
View

Be able to convert decimal to fixed point binary of a given number of bits.

5.4.4.3
View

Be able to convert fixed point binary to decimal of a given number of bits.

5.5 Information coding systems

5.5.1 Character form of a decimal digit

ReferenceContentAdditional information
5.5.1.1
View

Differentiate between the character code representation of a decimal digit and its pure binary representation.

5.5.2 ASCII and Unicode

ReferenceContentAdditional information
5.5.2.1
View

Describe ASCII and Unicode coding systems for coding character data.

5.5.2.2
View

Explain why Unicode was introduced.

5.5.3 Error checking and correction

ReferenceContentAdditional information
5.5.3.1
View

Describe and explain the use of parity bits.

5.5.3.2
View

Describe and explain the use of majority voting.

5.5.3.3
View

Describe and explain the use of check digits.

5.5.3.4
View

Evaluate the use of parity bits, majority voting and check digits

5.6 Representing images, sound and other data

5.6.1 Bit patterns, images, sound and other data

ReferenceContentAdditional information
5.6.1.1
View

Describe how bit patterns may represent other forms of data, including graphics and sound.

5.6.2 Analogue and digital

ReferenceContentAdditional information
5.6.2.1
View

Understand the difference between analogue and digital:

  • data
  • signals

5.6.3 Analogue/digital conversion

ReferenceContentAdditional information
5.6.3.1
View

Describe the principles of operation of an analogue to digital converter (ADC).

5.6.3.2
View

Describe the principles of operation of a digital to analogue converter (DAC).

5.6.4 Bitmapped graphics

ReferenceContentAdditional information
5.6.4.1
View

Explain how bitmaps are represented.

5.6.4.2
View

Explain resolution.

Resolution is expressed as number of dots per inch where a dot is a pixel.

5.6.4.3
View

Know that colour depth is the number of bits stored for each pixel.

5.6.4.4
View

Know that the size of an image in pixels is width of image in pixels × height of image in pixels.

The size of an image is also alternatively sometimes described as the resolution of an image.

5.6.4.5
View

Calculate storage requirements for bitmapped images and be aware that bitmap image files may also contain metadata.

Ignoring metadata, storage requirements = size in pixels x colour depth where size in pixels is width in pixels x height in pixels.

5.6.4.6
View

Be familiar with typical metadata.

eg width, height, colour depth.

5.6.5 Digital representation of sound

ReferenceContentAdditional information
5.6.5.1
View

Describe the digital representation of sound.

5.6.5.2
View

Understand sample resolution and its effect on the quality of audio recordings.

5.6.5.3
View

Understand sampling rate and its effect on the quality of audio recordings.

5.6.5.4
View

Know Nyquist's theorem.

5.6.5.5
View

Calculate sound sample sizes in bytes.

5.6.6 Musical Instrument Digital Interface (MIDI)

ReferenceContentAdditional information
5.6.6.1
View

Describe the purpose of MIDI and the use of event messages in MIDI.

5.6.6.2
View

Describe the advantages of using MIDI files for representing music.

5.6.7 Data compression

ReferenceContentAdditional information
5.6.7.1
View

Know why images and sound files are often compressed and that other files, such as text files, can also be compressed.

5.6.7.2
View

Understand the difference between lossless and lossy compression and explain the advantages and disadvantages of each.

5.6.7.3
View

Explain the principles behind run length encoding (RLE) for lossless compression.

5.6.7.4
View

Explain the principles behind dictionary-based methods for lossless compression.

5.6.8 Encryption

ReferenceContentAdditional information
5.6.8.1
View

Understand what is meant by encryption and be able to define it.

Caesar and Vernam ciphers are at opposite extremes. One offers perfect security, the other doesn't. Between these two types are ciphers that are computationally secure – see below. Students will be assessed on the two types. Ciphers other than Caesar may be used to assess students' understanding of the principles involved. These will be explained and be similar in terms of computational complexity.

5.6.8.2
View

Be familiar with the term cipher.

5.6.8.3
View

Be familiar with the term plaintext.

5.6.8.4
View

Be familiar with the term ciphertext.

5.6.8.5
View

Be familiar with Caesar cipher and be able to apply it to encrypt a plaintext message and decrypt a ciphertext.

5.6.8.6
View

Be able to explain why Caesar cipher is easily cracked.

5.6.8.7
View

Be familiar with Vernam cipher or one-time pad and be able to apply it to encrypt a plaintext message and decrypt a ciphertext.

Since the key k is chosen uniformly at random, the ciphertext c is also distributed uniformly. The key k must be used once only. The key k is known as a one-time pad.

5.6.8.8
View

Explain why Vernam cipher is considered as a cypher with perfect security.

5.6.8.9
View

Compare Vernam cipher with ciphers that depend on computational security.

Vernam cipher is the only one to have been mathematically proved to be completely secure. The worth of all other ciphers ever devised is based on computational security. In theory, every cryptographic algorithm except for Vernam cipher can be broken, given enough ciphertext and time.

6 Fundamentals of computer systems

6.1 Hardware and software

6.1.1 Relationship between hardware and software

ReferenceContentAdditional information
6.1.1.1
View

Define the term hardware.

6.1.1.2
View

Define the term software.

6.1.1.3
View

Understand the relationship between hardware and software.

6.1.2 Classification of software

ReferenceContentAdditional information
6.1.2.1
View

Explain what is meant by system software.

6.1.2.2
View

Explain what is meant by application software.

6.1.2.3
View

Understand the need for, and attributes of, different types of software.

6.1.3 System software

ReferenceContentAdditional information
6.1.3.1
View

Know that system software includes operating systems (OSs), utility programs, libraries and translators (compiler, assembler, interpreter).

6.1.3.2
View

Understand the need for, and functions of operating systems (OSs).

6.1.3.3
View

Understand the need for, and functions of utility programs.

6.1.3.4
View

Understand the need for, and functions of libraries.

6.1.3.5
View

Understand the need for, and functions of translators (compiler, assembler, interpreter).

6.1.4 Role of an operating system (OS)

ReferenceContentAdditional information
6.1.4.1
View

Understand that a role of the operating system is to hide the complexities of the hardware.

6.1.4.2
View

Know that the OS handles resource management, managing hardware to allocate processors, memories and I/O devices among competing processes.

6.2 Classification of programming languages

6.2.1 Classification of programming languages

ReferenceContentAdditional information
6.2.1.1
View

Show awareness of the development of types of programming languages and their classification into low- and high-level languages.

6.2.1.2
View

Know that low-level languages are considered to be:

  • machine-code
  • assembly language
6.2.1.3
View

Know that high-level languages include imperative high-level language.

6.2.1.4
View

Describe machine-code language and assembly language.

6.2.1.5
View

Understand the advantages and disadvantages of machine-code and assembly language programming compared with high-level language programming.

6.2.1.6
View

Explain the term 'imperative high-level language' and its relationship to low-level languages.

6.3 Types of program translator

6.3.1 Types of program translator

ReferenceContentAdditional information
6.3.1.1
View

Understand the role of assemblers.

6.3.1.2
View

Understand the role of compilers.

6.3.1.3
View

Understand the role of interpreters.

6.3.1.4
View

Explain the differences between compilation and interpretation. Describe situations in which each would be appropriate.

6.3.1.5
View

Explain why an intermediate language such as bytecode is produced as the final output by some compilers and how it is subsequently used.

6.3.1.6
View

Understand the difference between source and object (executable) code.

6.4 Logic gates

6.4.1 Logic gates

ReferenceContentAdditional information
6.4.1.1
View

Construct truth tables for the NOT logic gate.

Students should know and be able to use ANSI/IEEE standard 91-1984 Distinctive shape logic gate symbols for these logic gates.

6.4.1.2
View

Construct truth tables for the AND logic gate.

6.4.1.3
View

Construct truth tables for the OR logic gate.

6.4.1.4
View

Construct truth tables for the XOR logic gate.

6.4.1.5
View

Construct truth tables for the NAND logic gate.

6.4.1.6
View

Construct truth tables for the NOR logic gate.

6.4.1.7
View

Be familiar with drawing and interpreting logic gate circuit diagrams involving one or more of the above gates.

6.4.1.8
View

Complete a truth table for a given logic gate circuit.

6.4.1.9
View

Write a Boolean expression for a given logic gate circuit.

6.4.1.10
View

Draw an equivalent logic gate circuit for a given Boolean expression.

6.5 Boolean algebra

6.5.1 Using Boolean algebra

ReferenceContentAdditional information
6.5.1.1
View

Be familiar with the use of Boolean identities and De Morgan's laws to manipulate and simplify Boolean expressions.

7 Fundamentals of computer organisation and architecture

7.1 Internal hardware components of a computer

7.1.1 Internal hardware components of a computer

ReferenceContentAdditional information
7.1.1.1
View

Have an understanding and knowledge of the basic internal components of a computer system.

Although exam questions about specific machines will not be asked, it might be useful to base this section on the machines used at the centre.

7.1.1.2
View

Understand the role of the processor.

7.1.1.3
View

Understand the role of main memory.

7.1.1.4
View

Understand the role of the address bus.

7.1.1.5
View

Understand the role of the data bus.

7.1.1.6
View

Understand the role of the control bus.

7.1.1.7
View

Understand the role of I/O controllers.

7.1.1.8
View

Be able to explain the difference between von Neumann and Harvard architectures and describe where each is typically used.

Embedded systems such as digital signal processing (DSP) systems use Harvard architecture processors extensively. Von Neumann architecture is used extensively in general purpose computing systems.

7.1.1.9
View

Understand the concept of addressable memory.

7.2 The stored program concept

7.2.1 The meaning of the stored program concept

ReferenceContentAdditional information
7.2.1.1
View

Be able to describe the stored program concept: machine code instructions stored in main memory are fetched and executed serially by a processor that performs arithmetic and logical operations.

7.3 Structure and role of the processor and its components

7.3.1 The processor and its components

ReferenceContentAdditional information
7.3.1.1
View

Explain the role and operation of the arithmetic logic unit.

7.3.1.2
View

Explain the role and operation of the control unit.

7.3.1.3
View

Explain the role and operation of the clock.

7.3.1.4
View

Explain the role and operation of general-purpose registers.

7.3.1.5
View

Explain the role and operation of the program counter.

7.3.1.6
View

Explain the role and operation of the current instruction register.

7.3.1.7
View

Explain the role and operation of the memory address register.

7.3.1.8
View

Explain the role and operation of the memory buffer register.

7.3.1.9
View

Explain the role and operation of the status register.

7.3.2 The Fetch-Execute cycle and the role of registers within it

ReferenceContentAdditional information
7.3.2.1
View

Explain how the Fetch-Execute cycle is used to execute machine code programs, including the stages in the cycle (fetch, decode, execute) and details of registers used.

7.3.3 The processor instruction set

ReferenceContentAdditional information
7.3.3.1
View

Understand the term 'processor instruction set' and know that an instruction set is processor specific.

7.3.3.2
View

Know that instructions consist of an opcode and one or more operands (value, memory address or register).

A simple model will be used in which the addressing mode will be incorporated into the bits allocated to the opcode so the latter defines both the basic machine operation and the addressing mode. Students will not be expected to define opcode, only interpret opcodes in the given context of a question.

For example, 4 bits have been allocated to the opcode (3 bits for basic machine operation, eg ADD, and 1 bit for the addressing mode). 4 bits have been allocated to the operand, making the instruction, opcode + operand, 8 bits in length. In this example, 16 different opcodes are possible (24 = 16).

OpcodeOperand
Basic Machine OperationAddressing Mode
00100101

7.3.4 Addressing modes

ReferenceContentAdditional information
7.3.4.1
View

Understand and apply immediate addressing.

Immediate addressing: the operand is the datum.

7.3.4.2
View

Understand and apply direct addressing.

Direct addressing: the operand is the address of the datum. Address to be interpreted as meaning either main memory or register.

7.3.5 Machine-code/assembly language operations

ReferenceContentAdditional information
7.3.5.1
View

Understand and apply the basic machine-code operations of:

  • load
  • add
  • subtract
  • store
  • branching (conditional and unconditional)
  • compare
  • logical bitwise operators (AND, OR, NOT, XOR)
  • logical
  • shift right
  • shift left
  • halt

Use the basic machine-code operations above when machine-code instructions are expressed in mnemonic form—assembly language, using immediate and direct addressing.

7.3.6 Factors affecting processor performance

ReferenceContentAdditional information
7.3.6.1
View

Explain the effect on processor performance of multiple cores.

7.3.6.2
View

Explain the effect on processor performance of cache memory.

7.3.6.3
View

Explain the effect on processor performance of clock speed.

7.3.6.4
View

Explain the effect on processor performance of word length.

7.3.6.5
View

Explain the effect on processor performance of address bus width.

7.3.6.6
View

Explain the effect on processor performance of data bus width.

7.4 External hardware devices

7.4.1 Input and output devices

ReferenceContentAdditional information
7.4.1.1
View

Know the main characteristics, purpose and suitability of barcode readers and understand their principles of operation.

7.4.1.2
View

Know the main characteristics, purpose and suitability of digital cameras and understand their principles of operation.

7.4.1.3
View

Know the main characteristics, purpose and suitability of laser printers and understand their principles of operation.

7.4.1.4
View

Know the main characteristics, purpose and suitability of RFID and understand their principles of operation.

7.4.2 Secondary storage devices

ReferenceContentAdditional information
7.4.2.1
View

Explain the need for secondary storage within a computer system.

7.4.2.2
View

Know the main characteristics, purposes, suitability and understand the principles of operation of the hard disk.

7.4.2.3
View

Know the main characteristics, purposes, suitability and understand the principles of operation of the optical disk.

7.4.2.4
View

Know the main characteristics, purposes, suitability and understand the principles of operation of the solid-state disk (SSD).

SSD = NAND flash memory + a controller that manages pages, and blocks and complexities of writing. Based on floating gate transistors that trap and store charge. A block, made up of many pages, cannot overwrite pages; a page has to be erased before it can be written to but technology requires the whole block to be erased. Lower latency and faster transfer speeds than a magnetic disk drive.

7.4.2.5
View

Compare the capacity and speed of access of various media and make a judgement about their suitability for different applications.

8 Consequences of uses of computing

8.1 Individual (moral), social (ethical), legal and cultural issues and opportunities

ReferenceContentAdditional information
8.1.1
View

Show awareness of current individual (moral), social (ethical), legal and cultural opportunities and risks of computing.

Understand that:

  • developments in computer science and digital technologies have dramatically altered the shape of communications and information flows in societies, enabling massive transformations in the capacity to:
    • monitor behaviour
    • amass and analyse personal information
    • distribute, publish, communicate and disseminate personal information
  • computer scientists and software engineers therefore have power, as well as the responsibilities that go with it, in the algorithms that they devise and the code that they deploy.
  • software and their algorithms embed moral and cultural values.
  • the issue of scale, for software the whole world over, creates potential for individual computer scientists and software engineers to produce great good, but with it comes the ability to cause great harm.

Be able to discuss the challenges facing legislators in the digital age.

Teachers may wish to employ two very powerful techniques, hypotheticals and case studies, to engage students in the issues.

Hypotheticals allow students to isolate quickly important ethical principles in an artificially simplified context. For example, a teacher might ask students to explain and defend how, as a Google project manager, they would evaluate a proposal to bring Google's Street View technology to a remote African village. What questions should be asked? Who should be consulted? What benefits, risks and safeguards considered? What are the trade-offs?

Case studies allow students to confront the tricky interplay between the sometimes competing ethical values and principles relevant in real world settings. For example, the Google Street View case might be used to tease out the ethical conflicts between individual and cultural expectations, the principle of informed consent, Street View's value as a service, its potential impact on human perceptions and behaviours, and its commercial value to Google and its shareholders.

There are many resources available on the Internet to support teaching of this topic.

9 Fundamentals of communication and networking

9.1 Communication

9.1.1 Communication methods

ReferenceContentAdditional information
9.1.1.1
View

Define serial transmission methods.

9.1.1.2
View

Define parallel transmission methods.

9.1.1.3
View

Discuss the advantages of serial over parallel transmission.

9.1.1.4
View

Define and compare synchronous and asynchronous data transmission.

9.1.1.5
View

Describe the purpose of start and stop bits in asynchronous data transmission.

9.1.2 Communication basics

ReferenceContentAdditional information
9.1.2.1
View

Define baud rate.

9.1.2.2
View

Define bit rate.

9.1.2.3
View

Define bandwidth.

9.1.2.4
View

Define latency.

9.1.2.5
View

Define protocol.

9.1.2.6
View

Differentiate between baud rate and bit rate.

Bit rate can be higher than baud rate if more than one bit is encoded in each signal change.

9.1.2.7
View

Understand the relationship between bit rate and bandwidth.

Bit rate is directly proportionate to bandwidth.

9.2 Networking

9.2.1 Network topology

ReferenceContentAdditional information
9.2.1.1
View

Understand and explain the operation of a physical star topology.

9.2.1.2
View

Understand and explain the operation of a logical bus network topology.

A network physically wired in star topology can behave logically as a bus network by using a bus protocol and appropriate physical switching.

9.2.1.3
View

Differentiate between the physical star topology and the logical bus network topology.

9.2.2 Types of networking between hosts

ReferenceContentAdditional information
9.2.2.1
View

Explain peer-to-peer networking and describe situations where it might be used.

In a peer-to-peer network, each computer has equal status.

9.2.2.2
View

Explain client-server networking and describe situations where it might be used.

In a client-server network, most computers are nominated as clients and one or more as servers. The clients request services from the servers, which provide these services, for example file server, email server.

9.2.3 Wireless networking

ReferenceContentAdditional information
9.2.3.1
View

Explain the purpose of WiFi.

A wireless local area network that is based on international standards.

Used to enable devices to connect to a network wirelessly.

9.2.3.2
View

Be familiar with the components required for wireless networking.

  • Wireless network adapter
  • Wireless access point
9.2.3.3
View

Be familiar with the purpose of Service Set Identifier (SSID).

9.2.3.4
View

Be familiar with how wireless networks are secured using WPA (Wifi Protected Access)/WPA2.

9.2.3.5
View

Be familiar with how wireless networks are secured by disabling SSID (Service Set Identifier) broadcasting.

9.2.3.6
View

Be familiar with how wireless networks are secured using a MAC (Media Access Control) address allow list.

9.2.3.7
View

Explain the wireless protocol Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) with and without Request to Send/Clear to Send (RTS/CTS).