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.
Only A-Level questions relating to the AS-Level specification are shown.
A digital camera takes photographs that are 4000 pixels wide by 3000 pixels tall and can contain up to 16 777 216 different colours.
Calculate the size of one image in megabytes.
Award 2 marks for correct answer: 36 (megabytes).
A. 4000 x 3000 x log2(16777216) ÷ 8 ÷ 1000 ÷ 1000 or equivalent
eg 1.5 x log2(16777216)
If answer is incorrect then award 1 method mark for doing at least three of:
- multiplying by 4000
- multiplying by 3000
- multiplying by 24 or 3
- dividing by 1000
- dividing by 1000 a second time
- dividing by 8 (do not credit if also multiplied by 3).
How many images, taken using the camera referred to in Question 02.1, could be stored on a 256 gigabyte memory card?
You should assume that all of the storage space on the memory card is available to store image data.
Round your answer down to the nearest whole number.
7111
A. follow-through of 256 x 1000 ÷ incorrect answer to question part 02.1 if rounded down to nearest whole number
When a digital camera takes a photograph, an array of photosensors produces analogue voltages representing the amount of light falling on each photosensor. An analogue-to-digital converter then converts these analogue voltages into digital values. These digital values are used to create the pixel data for the bitmap image.
Explain why the voltages produced by the photosensors are considered to be analogue and why the pixel data is considered to be digital.
(The voltages) are continuously variable (and reflect the structure of the original light data) // (the voltages) can take any value
NE. real world quantity
(The pixel data) is discrete // the colour of each pixel will be stored in a fixed number of bits // there are gaps/jumps between (colour) values
A. there are a finite set of values
NE. the pixel data is not continuous
NE. the pixel data is binary
An image is 20 pixels wide by 30 pixels tall. The colour of each pixel is represented using one byte.
Here is a row of data from the original image. The colour of each of the 20 pixels is shown as a decimal value, with commas used to separate the data for the different pixels:
24, 24, 24, 253, 254, 255, 76, 76, 76, 80, 82, 0, 0, 9, 223, 223, 224, 220, 76, 76
The image is to be compressed using Run Length Encoding (RLE). The RLE method used will:
- represent the length of a run using one byte
- represent a colour using one byte.
In decimal, the RLE for the colour of the first four pixels would be:
3, 24, 1, 253
Calculate how much memory the row of pixels will take up before and after it has been encoded using RLE.
Memory before RLE: 20
Memory after RLE: 26
Must have both values correct to be awarded the mark.
Comment on the effectiveness of the use of RLE to encode the row of pixels in Question 02.4 and explain why this is the case.
Compression has not been effective because the amount of memory needed has increased // because the runs are not very long // because there are few runs (of length greater than one) // because the colours vary a lot
Figure 1 shows the organisation of part of a simple computer system.
State the name of the bus labelled X in Figure 1.
Address (bus)
The data bus inside the computer uses synchronous parallel data transmission.
Describe what synchronous transmission is.
Receiving and transmitting components share a common clock // are (continuously) synchronised by a common clock
A. receiver and transmitter
A. "communicating components" without reference to receiver and transmitter
Timing information transmitted within / alongside the data
Receiver and transmitter components clocks are (continuously) synchronised
A. receiver and transmitter
A. "communicating components" without reference to receiver and transmitter
NE. receiver and transmitter are synchronised
TO. stated that synchronisation is only when data is transmitted
Max 1
Peripherals, such as a keyboard or printer, are connected to the computer using a USB (Universal Serial Bus) connection. USB uses synchronous serial data transmission.
Explain why serial transmission has been chosen to communicate with peripherals connected to the computer and why parallel transmission is used by the data bus inside the computer.
1 mark for identifying a difference between communicating with peripherals and between components inside the computer:
- data has to travel further to a peripheral // data travels a shorter distance between internal components
- position of internal components is fixed // peripherals may be moved
- more data is transmitted between internal components than to peripherals // data is transmitted more frequently between internal components than to peripherals // data must be transmitted at a higher rate between internal components than to peripherals.
1 mark for giving a reason why internal buses are parallel:
- more data / multiple bits can be transmitted simultaneously / at the same time.
- A. faster transmission
1 mark for giving a reason why serial is used for connecting peripherals:
- data skew cannot occur
- crosstalk cannot occur
- data transmission speed (on one wire) can be higher
- cabling is cheaper
- cabling allows more flexibility over positioning
- cables can be longer.
Award marks for differences stated in reverse, eg serial communication has slower transmission is equivalent to parallel faster transmission, parallel cabling more expensive is equivalent to serial cabling cheaper.
The USB interface inside the computer is an example of an I/O controller.
Describe the role of an I/O controller.
- Allows processor to control / communicate with a peripheral using an (I/O) port
- Allows peripheral to appear as a set of registers / memory locations (to the processor)
- Translates signals / data received from a peripheral into a form that can be processed by the computer // translate signals / data sent by the processor into a form that can be used by a peripheral // converts voltages used by processor and I/O device (if they operate using different voltages)
- Buffer data being received from a peripheral (so the processor does not have to wait for it)
- Allows new peripherals to be added without having to redesign the processor / computer hardware
- Allows peripheral designers to create new peripherals to one common interface standard // allows peripheral designer to reduce / minimise the number of ports/connections that a peripheral needs to support
- To carry out some of the I/O related processing // to reduce the workload on the CPU in relation to I/O processing
- To check that data received from peripherals is not corrupted // performs error detection/correct on data received from peripherals
- Implements the protocols used by I/O devices for communication
- Generates an interrupt when data is ready to be transferred from an I/O device // when an I/O device needs the immediate attention of the CPU
Max 2
The computer's address bus uses 36 wires/lines and each main memory location can hold a 16-bit data value.
In gibibytes, express the maximum amount of main memory that could be installed in the computer, assuming that the CPU could access all of the memory using the address bus.
You should show your working.
Award 2 marks for correct answer: 128 // 27 (gibibytes).
If answer is incorrect then award 1 method mark for at least two of:
- including 236 in the calculation
- multiplying by 16
- dividing by 8
- dividing by 1024 // 210
- dividing by 1024 // 210 a second time.
Or award 1 method mark for one of:
- including 237 in the calculation
- multiplying by 2 (an alternative to multiplying by 16 then dividing by 8)
- dividing by 1048576 // 220
- dividing by 1073741824 // 230
State an example of how the control bus is used when the processor stores data into main memory.
- Indicate that a memory write is occurring // cause data on the data bus to be written into the memory / RAM
- Transfer clock signal // synchronise operation of processor and memory / RAM
- Indicate the number of bits being transferred
- Receive transfer acknowledgement // receive acknowledgement that data received (by memory/ RAM)
- Send signal to request use of (system) bus // issue bus request
- Receive signal granting use of (system) bus // receive bus grant
Max 1
A company uses a file server that stores files on magnetic hard disk drives. These files can be accessed by other computers through a network.
Describe:
- how the data for a file would be stored on a magnetic hard disk and read from it by the file server
- how the individual layers of the TCP/IP stack in the file server would be used to transmit the file onto the network.
In your response, you do not need to describe how the file would be transmitted across the network or how the TCP/IP stack would be used in the computer that has requested the file. You only need to write about how the data would be put onto the network by the file server.
| Level | Description | Mark Range |
|---|---|---|
| 4 | A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically-structured response. The response covers both areas indicated in the guidance below and, in each area, there is sufficient detail to show that the student has a good level of understanding. | 10–12 |
| 3 | A 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 one area indicated in the guidance below and some understanding of the other area or a reasonable understanding of both areas. | 7–9 |
| 2 | A limited attempt has been made to follow a line of reasoning and the response has a mostly logical structure. A reasonable level of understanding has been shown of one area or some understanding of both areas. | 4–6 |
| 1 | A few relevant points have been made but there is no evidence that a line of reasoning has been followed. | 1–3 |
Area 1: How data is stored on and read from a magnetic hard disk drive
Key Points:
- Disk is coated in a magnetisable material // iron / cobalt-based material
- Magnetising a spot in one direction could represent 0 and the other direction could represent 1 A. any plausible way of representing two values
- Disk divided into rings called tracks
- Tracks divided into sectors / blocks
- Read/write head moves in / out (radially) (to correct track)
- Wait until correct sector / block passes under read/write head
- Disk spins at high speed
- Read/write head senses magnetic field and converts to 0s and 1s
- Whole block read together
- Data stored in buffer while being read
Additional Points:
- Can be many disks inside drive known as platters
- Disk and drive are a sealed unit
- Data near outside edge of disk stored less densely // disk has constant angular velocity
- Files stored in hierarchical structure / directories
- Free / used space indicated in file allocation table
- Mirroring / striping / RAID may be used for automatic backup // to protect against drive failure
Area 2: How the TCP/IP stack is used in the file server
- Four layers of stack are Application, Transport, Network/Internet and Link/Physical.
- File will be passed down/through each layer in turn.
| Layer | Key Points | Additional Points |
|---|---|---|
| Application | File server software will operate in the Application Layer File transfer may use FTP protocol | Alternative protocols are SMB, NFS |
| Transport | Establishes end-to-end connection between file server and computer Receives file / data on a port from the application layer // adds source and destination port numbers to segment Splits file / data into segments Adds checksum to segment // adds error detection information to segment // deals with transmission errors // retransmits lost / corrupted segments A. packet for segment | Performs flow control Performs congestion control Adds sequence number to segment May use TCP or UDP protocol |
| Network / Internet | Adds source and destination IP addresses to datagram R. routes data across network A. packet for datagram | Encapsulates each TCP/IP segment into an IP datagram Add time to live Uses subnet mask to determine if destination is on same subnet |
| Link / Physical | Physical interface to network communications medium // writes (encoding of) data to communications medium (A. cable for medium) Uses device drivers // uses network interface card Adds hardware / MAC address of destination / router / gateway / source |
Points cannot be credited unless they are linked to the appropriate layer.
The company needs to purchase a second file server.
It is considering whether to purchase a file server with magnetic hard disk drives installed or a file server with solid-state disks (SSDs) instead. Each of the file servers has the same total storage capacity.
State one advantage and one disadvantage of purchasing the file server that uses SSDs.
Advantage (1 mark):
- lower power consumption
- faster access times // faster transfer rate // lower latency NE. faster
- smaller (physically)
- generate less heat // require less cooling
- lower failure rate // less susceptible to damage from impact // not affected by magnetic fields A. more reliable
- R. quieter
- R. portable
Disadvantage (1 mark):
- higher cost (per megabyte)
- higher error rate (over time) // more blocks become unusable over time in an SSD
- R. lower capacity
Draw a logic circuit for the Boolean expression:
Q = (A'⋅B + (B + C⋅D)')'
Do not simplify the expression.
1 mark: Circuit input A connected to a NOT gate. The output of the NOT gate and B connected as the inputs to an AND gate.
1 mark: Circuit inputs C and D connected as the inputs to an AND gate.
A. C and B connected to an OR gate, the output of which is connected to an AND gate with D as the other input (misunderstanding of precedence)
1 mark: Circuit input B and output of an AND gate (not the same AND gate as first mark point is awarded for) connected as the inputs to a NOR gate.
1 mark: NOR gate connected to circuit output Q.
A. correct use of OR and NOT gates instead of NOR gate
Max 3 if circuit logic not fully correct.
Using the rules of Boolean algebra, simplify the following Boolean expression.
A'⋅(B⋅C⋅D + B⋅C⋅D' + B) + (A' + B)'
You must show your working.
Marking guidance for examiners
- Award marks for working out until an incorrect step has been made.
- Ignore missing steps from the example solutions, as long as the jumps between steps are logically correct.
- 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.
1 mark for final answer: A ⊕ B
A. XOR instead of ⊕
A. Ā ∙ B + A ∙ B̄
Max 3 for working. Award up to three 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 // factorising.
Max 2 for working if there is no successful application of De Morgan
Max 3 overall if any errors in working
Note: A simpler expression is one that is logically equivalent to the original expression but uses fewer logical operators.
Algorithms and artificial intelligence are being increasingly used to assist with the diagnosis of medical conditions. For example, algorithms based on artificial intelligence can diagnose some medical conditions from X-ray images.
Discuss some of the moral, ethical and legal issues that might arise as a result of using computer systems to assist with diagnosing medical conditions.
In your answer you will be assessed on your ability to follow a line of reasoning to produce a coherent, relevant and structured response.
| Level | Description | Mark Range |
|---|---|---|
| 3 | A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically-structured response. The response demonstrates a very good understanding of the issues that might arise with a range of points having been made and developed. | 5–6 |
| 2 | A limited attempt has been made to follow a line of reasoning and the response has a mostly logical structure. Responses will either go beyond just accuracy and responsibility or, if they focus only on these two issues, points made will be developed. | 3–4 |
| 1 | A few relevant points have been made but there is no evidence that a line of reasoning has been followed. The points made do not provide evidence of a good understanding of the issues. Responses may focus solely on areas such as the risk of inaccurate diagnosis and who would be held responsible for this. | 1–2 |
Indicative Content:
- Risk of inaccurate diagnosis.
- Will patients trust a computer system to diagnose them?
- Who is responsible for the accuracy of a diagnosis // if a diagnosis is incorrect?
- Does responsibility lie with the people who programmed / designed it or the people operating it? // AI systems themselves cannot be held responsible.
- Should patients be informed if their diagnosis will be made by a computer system?
- Should patients have the option to ask for the diagnosis to be done by a person instead? // Will patients accept diagnosis or want it to be confirmed by human (thus removing some benefits of system)? // Should diagnoses be double-checked by a human?
- A human doctor may feel a moral responsibility that an AI system would not.
- Data may be of a confidential / private / personal nature // Data Protection Act / GDPR may apply (A. one example of provisions of these laws eg keeping data securely, patients having right to view data).
- Appropriate security would be required for the system as it would store personal data.
- Is it legal for an AI system to diagnose (without human assistance)?
- AI system will need training with data – how will this be obtained?
- Consent would be needed from patients to use their data for training.
- Choice of training data may affect reliability / effectiveness of system // algorithmic bias may develop (eg if one group of people not represented / underrepresented).
- Should system explain reasoning (if possible) to increase confidence in diagnosis?
- System could be used by GPs, reducing demand for more specialist doctors.
A. may result in medical staff being made redundant - How much evidence of the reliability of a system is needed before humans are no longer involved in the diagnosis?
- Could relying on computer systems risk missing diagnosis of very rare / new conditions?
- Could relying on computers de-skill medical staff?
- Would a doctor feel confident to over-rule a diagnosis by the computer system?
- If computer system could diagnose conditions that were not spotted by doctors, would this undermine faith in doctors?
A. AI systems may be able to diagnose some conditions more reliably than humans - Could be used to make diagnosis of some conditions possible in poorer countries (where there are fewer doctors).
- If cost of system is high, benefits of it may not be available to all people // in poorer countries.
- Are there some conditions that AI could be trusted to diagnose but others that it could not be?
- Would it be acceptable to use AI if it missed some cases but detected many others?
- System may detect issues / potential issues which would actually never turn into a condition that needed treating.
- If more conditions diagnosed, may increase demand for treatments // may put pressure on hospital services.
- System could go back through old cases and identify potential missed diagnoses.
- Should patients be asked before old cases re-examined?
- If data transferred between countries different laws may apply.
- Should medical data be shared if it can help diagnose other patients?
Complete the trace table below to show the results of executing the program in Figure 7 when the initial value in memory location 130 is 83
Each register can hold an 8-bit value.
You may find it easier to understand the operation of the program if you write the contents of memory location 130 and register R1 out in both binary and decimal.
You may not need to use all the rows in the table.
1 mark: Correct initial values loaded into R1, R2 and R4 – Area 1.
1 mark: First increment of R2 and R4 and first logical AND of R3 – Area 2.
1 mark: Contents of R1 shifted right 7 times – Area 3.
1 mark: R2 counts up from 2 to 7 – Area 4.
1 mark: R3 shows correct values of ANDing R1 and 1 and R4 increments from 2 to 4 – Area 5.
1 mark: R4 set to 0, MSB of R1 set to 1 and contents of R1 copied to memory location 130 – Area 6.
Award marks for the correct values in the indicated areas. The values do not need to be in the exact cells shown for marks to be awarded, but must be in the correct sequence in the column they are in.
Award marks for values written in either decimal or binary. If binary and decimal values are written in one cell and one is correct but the other incorrect then treat the cell as being correct.
Max 5 if any incorrect values in table (ignore cells where one of the binary and decimal is incorrect but the other correct).
The value in memory location 130 before the program is executed is the program's input and the value stored in memory location 130 when the program finishes executing is its output.
By considering your trace table for Question 10.1 and the assembly language code in Figure 7, describe the purpose of the program.
If the student recognises that the program is connected to parity:
- Sets (A. calculates) the parity bit (for the ASCII character); using odd parity
If the student does not recognise that the program is connected to parity:
- Counts the number of 1s (in the ASCII code)
NE. literal descriptions of how the code is working or responses that don't interpret what the purpose of the program is
Describe two advantages of writing programs in assembly language over writing programs using a high-level language.
- Machine code produced by assembler / assembling may use up less memory // contain fewer instructions than machine code produced by compiler / converting HLL code would
A. code may take up less memory // code may use fewer instructions
NE. more compact, smaller - Machine code produced by assembler / assembling may execute more quickly than machine code produced by compiler / converting HLL code would
A. code may execute more quickly
NE. assembly language is faster
R. references to increased speed relating to faster/no translation - Assembly language may allow (better) access to hardware / registers / (low-level) operating system routines
A. other examples of hardware access
A. 'will' for 'may'
Max 2
Some high-level languages are described as being imperative.
Explain what imperative means in this context.
- Program is a sequence of instructions that are followed in order
- Instructions describe how to carry out a task // each instruction is a step
- Instructions can change the state of the program
Max 1
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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional information |
|---|---|---|
| 5.2.1.1 View | Be familiar with the concept of a number base, in particular:
| Students should be familiar with expressing a number's base using a subscript as follows:
|
| 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
| Reference | Content | Additional 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
| Reference | Content | Additional information |
|---|---|---|
| 5.3.2.1 View | Know the names, symbols and corresponding powers of 10 for the decimal prefixes:
| |
| 5.3.2.2 View | Know the names, symbols and corresponding powers of 2 for the binary prefixes:
| |
| 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional information |
|---|---|---|
| 5.6.2.1 View | Understand the difference between analogue and digital:
|
5.6.3 Analogue/digital conversion
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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)
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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)
| Reference | Content | Additional 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
| Reference | Content | Additional 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:
| |
| 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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).
| |||||||||||||||||
7.3.4 Addressing modes
| Reference | Content | Additional 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
| Reference | Content | Additional information |
|---|---|---|
| 7.3.5.1 View | Understand and apply the basic machine-code operations of:
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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional information |
|---|---|---|
| 8.1.1 View | Show awareness of current individual (moral), social (ethical), legal and cultural opportunities and risks of computing. Understand that:
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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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
| Reference | Content | Additional 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. |
|
| 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). |