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.
Describe how an instruction is fetched from main memory during the fetch stage of the fetch-execute cycle.
Your description should cover the use of registers and buses, together with the role of main memory.
| Level | Description | Mark Range |
|---|---|---|
| 4 | Description covers all, or almost all, of the points in the indicative guidance and fully reflects the sequence in which steps occur. It includes use of registers, buses and main memory. An excellent level of understanding is shown with no misconceptions. | 4 |
| 3 | Description covers most (ie more than half) of the points in the indicative guidance and completely or almost completely reflects the correct sequence in which steps occur. At least two of the use of registers, buses and main memory are covered. A good level of understanding is shown. Whilst there may be some omissions, there is at most one misconception in the response. | 3 |
| 2 | At least two correct points are made from the indicative guidance and there is some indication of understanding of the correct sequence. Some understanding is shown. | 2 |
| 1 | At least one relevant point has been made. There is not sufficient evidence to conclude that the cycle has been understood. | 1 |
Guidance – Indicative Response
- Contents of Program Counter/PC transferred to Memory Address Register/MAR
- Address bus used to transfer this address to main memory
- Fetched value/instruction transferred using the data bus
- Contents of addressed memory location loaded into the Memory Buffer Register/MBR
- Transfer content of Memory Buffer Register/MBR to the Current Instruction Register/CIR
A. Memory Data Register / MDR for MBR
I. Incrementing of program counter, even if incorrect
NE. Points made using register transfer notation only eg CIR ← [MBR]
During the decode and execute stages of the fetch-execute cycle the instruction that is being processed is stored in the CIR. Explain why the instruction could not be processed directly from the MBR.
To execute/carry out the instruction other data may need to be fetched (from main memory);
A. During execute phase MBR used to store other data
A. Further instructions may need to be fetched before the instruction has finished executing, if pipelining/parallelisation is referenced explicitly in the response
Further memory fetches would overwrite the contents of the MBR // the instruction would be overwritten by further memory fetches // writing the result of executing the instruction back to main memory would overwrite the instruction / MBR contents;
A. MBR is not (directly) wired to the (processor) components that will execute the instruction which CIR is
A. The MBR is not (directly) wired to the ALU as BOD
R. The MBR cannot decode instructions
The computer system shown in Figure 1 uses the von Neumann architecture. The Harvard architecture is an alternative to this.
Explain why the Harvard architecture is sometimes used in preference to the von Neumann architecture.
Instruction and data can be accessed simultaneously;
Avoid/reduce bottleneck of single data/address bus(es) // avoid/reduce delays waiting for memory fetches;
Avoids possibility of data being executed as code (which is one method that can be exploited by hackers);
Being able to use exclusively ROM for instruction memory prevents the program being modified/hacked; A. Program cannot be accidentally overwritten (by data)
Instruction and data memory can have different word lengths;
Different technologies can be used to implement instruction and data memory;
Different quantities of instruction and data memory means that address lengths can differ between the two // memory address structures can differ;
MAX 2
NE. So programs/tasks will run faster
NE. More efficient
Decrypt the ciphertext "QGOZRKT" using the Caesar cipher with the settings shown in Figure 2.
KAITLEN;
I. Case
The Vernam cipher is a more sophisticated cipher system that, under certain circumstances, offers perfect security.
State two conditions that must be met for the Vernam cipher to offer perfect security.
The key must be (at least) as long as the data to be encrypted/plaintext;
The key must not be reused // key must only be used once;
The key must be (truly) random;
The key must be kept securely / not revealed / only known by user(s);
MAX 2
In a particular communications system, eight different voltage levels are used to encode the value of groups of bits. Each voltage level encodes the value of one group of bits.
Given that eight different voltage levels are used, how many bits can be in a group that is encoded by a voltage level?
3;
The baud rate for this system is 500 baud.
What is the system's bit rate?
1500 (bits per second);
A. 3 * 500
A. Value given in response to question part 3.1 multiplied by 500.
Figure 3 shows three suggested relationships between bandwidth and bit rate.
Shade one lozenge to indicate which of the lines, A, B or C in Figure 3, shows the correct relationship between bandwidth and bit rate.
- A:Line A
- B:Line B
- C:Line C
B;
R. If more than one lozenge shaded.
The system sends the data over a long distance using serial communication.
Explain why serial communication is more appropriate in this instance than parallel communication.
Data skew might occur if parallel communication used;
A. Eliminates risk of desynchronisation (between data signals)
A. Bits transmitted simultaneously/together may arrive at different times
NE. Bits will not arrive together
The longer the distance the higher the likelihood of data skew;
To avoid problems of cross-talk // interference between individual wires;
Hardware (for serial communication) is cheaper to manufacture // cheaper cabling (for serial communication which is more important over long distances); A. "Easier" for "cheaper"
NE. Just statement that fewer wires required without expansion eg lowering cost
NE. References to data being corrupted without further explanation eg data skew, cross-talk
MAX 2
A computer process, X, can only start executing once processes A and B have finished executing and either communication channel C or communication channel D or both are available to use.
The states of processes and communication channels can be read using the following Boolean variables:
- A is set to TRUE if process A has completed and FALSE if process A is still running.
- B is set to TRUE if process B has completed and FALSE if process B is still running.
- C is set to TRUE if communication channel C is available and FALSE if it is not available.
- D is set to TRUE if communication channel D is available and FALSE if it is not available.
The Boolean variable X should be set to TRUE if the values of the variables A, B, C and D indicate that process X can start and to FALSE if they indicate that process X cannot start yet.
In the space below, draw a logic circuit that will represent the logic of the system described above for the inputs A, B, C and D and the output X.
1 mark: inputs A and B connected to an AND gate;
1 mark: inputs C and D connected to an OR gate;
1 mark: output of an AND gate (but not the same one as connected to inputs A and B) connected to X;
MAX 2 if circuit does not fully represent the logic of the system OR the circuit diagram contains any errors
Write a Boolean expression to represent the logic used to start process X.
X = A ∙ B ∙ (C + D)
1 mark: either A ∙ B or C + D somewhere in an incorrect expression
2 marks: fully correct expression
A. A logically equivalent expression for 2 marks
Using the rules of Boolean algebra, simplify the following Boolean expression.
((A' + A · (A + B))' + (B' · C'))'
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: B + C
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.
Example Working (1)
(A̅ + A ∙ (A + B))̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ + (B̅ ∙ C̅)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
= (A̅ + A ∙ (A + B)) ∙ (B̅ ∙ C̅)̅̅̅̅̅̅̅̅ Application of DeMorgan
= (A̅ + A ∙ (A + B)) ∙ (B + C) Application of DeMorgan
= (A̅ + A) ∙ (B + C) By identity A = A ∙ (A + B)
= 1 ∙ (B + C) By identity A̅ + A = 1
= B + C By identity 1 ∙ X = X
Example Working (2)
(A̅ + A ∙ (A + B))̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ + (B̅ ∙ C̅)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
= (A̅ + A ∙ A + A ∙ B)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ + (B̅ ∙ C̅)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ Expansion of brackets
= (A̅ + A + A ∙ B)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ + (B̅ ∙ C̅ )̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ By identity A ∙ A = A
= (1 + A ∙ B)̅̅̅̅̅̅̅̅̅̅̅̅̅̅ + (B̅ ∙ C̅)̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ By identity A̅ + A = 1
= (1)̅̅̅̅ + (B̅ ∙ C̅ )̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅ By identity 1 + X = 1
= 0 + (B̅ ∙ C̅)̅̅̅̅̅̅̅̅̅̅̅̅̅̅ By identity 0̅ = 1
= (B̅ ∙ C̅)̅̅̅̅̅̅̅̅ By identity 0 + X = X
= B + C Application of DeMorgan
Figure 4 shows the structure of an example machine code instruction, taken from the instruction set of a particular processor.
State the purpose of the operand part of an instruction and explain how the addressing mode is related to this.
An operand is a value/data that will be used by an operation;
The addressing mode indicates how the value in the operand should be interpreted // the addressing mode indicates if the value in the operand is a memory address/register or a data/immediate value;
A. In immediate addressing the operand is the value to use and in direct addressing it is a memory address/register number
NE. Addressing mode indicates if direct or immediate addressing is used
Figure 5 shows an assembly language program together with the contents of a section of the main memory of the computer that the program will be executed on. Each main memory location and register can store a 16-bit value.
Complete the trace table below, in decimal, to show how the values stored in the registers and main memory change as the program in Figure 5 is executed. You may not need to use all of the rows.
| Register Contents | Main Memory Location Contents | ||||||
|---|---|---|---|---|---|---|---|
| R1 | R2 | R3 | R4 | 100 | 101 | 102 | |
| 10 50 | 40 | 50 | 1 | 1 | |||
1 mark: Value of 10 is first value in R1.
1 mark: Value of 40 is only value in R2.
A. Value in R2 is four times the value in R1, if value in R1 was incorrect
1 mark: Value of 50 in both R1 and R3, as the second and final value in R1 and only value in R3.
A. Value stored in R1 is five times the initial value in R1, if this was incorrect and R3 contains only 50
A. Value stored in R1 is equal to contents of R2 and previous contents of R1 added together, if either of these were incorrect and R3 contains only 50
1 mark: Value of 1 stored in both R4 and memory location 102. It should be the only value in R4 but could be preceded by 80 in memory location 102. It must be the final value in memory location 102. This mark should only be awarded if the contents of R1 and R3 are equal, otherwise see accept point below.
A. Value of 0 instead of 1 stored in both R4 and memory location 102 if contents of registers R1 and R3 are not equal
I. Values of 10 and 50 written in the columns for main memory locations 100 and 101 and value of 80 written above value of 1 in column for memory location 102
Note: Values do not have to be written in the same rows as in the table above, but must be in the same order ie for R1, the value 10 must be assigned above the value 50. Individual values eg 50 may be written out multiple times.
Explain what the assembly language program in Figure 5 does.
Check if the value stored in memory location 101 is five times the value stored in memory location 100 // check if value in memory location 100 is a fifth of that in memory location 101 (if so, store a 1 in memory location 102 if it is and a 0 if it is not);
A. Check if a number is five times another number // a fifth of another number as BOD
Discuss the advantages and disadvantages of programming using a high-level language compared to programming using assembly language.
Advantages of high-level language (MAX 2):
Program code is easier to understand/maintain/debug;
Faster development time // programmers can be more productive // one line of HLL code can do the same job as many lines of assembly language;
Programs are (more) portable (to other hardware platforms)
Availability of flow control structures; A. Example(s) eg loops, selection
Improved features for supporting modularity; A. Ability to use subroutines
Built-in support for data structures; A. Example(s) eg arrays, records
Language is problem-oriented;
Support for different paradigms; A. Examples eg functional programming
Disadvantages of high-level language (MAX 2):
Assembly language code may execute more quickly;
R. If response suggests that faster execution is because translation is not required
Assembly language code may use less memory;
Assembly language gives direct/better access to computer hardware // enables direct manipulation of memory (contents);
NE. "More efficient" for either executes more quickly or uses less memory
Award marks for disadvantages as opposite of advantage points eg a disadvantage of assembly language could be "Program code is harder to understand/maintain". BUT do not award two marks for an advantage and its corresponding disadvantage.
Between 2008 and 2010, a company that was gathering data for an online mapping system, using cars fitted with cameras and WiFi equipment, collected some information that was being transmitted on personal WiFi networks. The company apologised for doing this and an investigation found that a small number of software developers had been responsible for adding this functionality to the mapping system data collection software.
In the context of this example, discuss:
- how it was possible for this data to be collected.
- what steps the owners of the networks could have taken to prevent the data from being collected.
- what legal and ethical issues might have arisen as a result of collecting this data.
- what lessons the company might have learnt from the incident and how their practices might have changed as a result of it.
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 |
|---|---|---|
| 4 | A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically structured response. The response covers all four areas indicated in the guidance below and in at least three of these areas there is sufficient detail to show that the student has an excellent level of understanding of the issues and technologies involved. To reach the top of this mark range, an excellent level of understanding must be shown of all four areas. | 10-12 |
| 3 | A line of reasoning has been followed to produce a coherent, relevant, substantiated and logically structured response but the response may only cover two or three of the areas indicated in the guidance below. A good understanding is shown of each of these areas and if only two areas are covered, the coverage of these is excellent. | 7-9 |
| 2 | A limited attempt has been made to follow a line of reasoning by covering at least two of the topic areas in the guidance below. Overall, at least four valid points must have been made which can relate to any of the topic areas in the guidance. | 4-6 |
| 1 | A 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 four areas from the guidance or may be made in a superficial way with little substantiation. | 1-3 |
Guidance – Indicative Response
1. How it was possible for data to be collected
WiFi signals can travel outside of property // over wide area // limited control over range
Any WiFi receiver in range can read the data packets NE. The receiver in the car can read the packets
No need to physically "tap" into a WiFi connection, unlike a cabled connection
A protocol that does not encrypt the transmissions may have been used // unencrypted data sent. NE. Network not secure
2. Steps to prevent
Use a protocol that encrypts data transmissions
A. Encrypt the transmission
R. Password protection
Example of secure protocol eg WPA, WPA2
Disable broadcast of SSID to make network harder to identify (Note: Accept this point even though the SSID would be in other data packets)
Limit power of transmitter so data does not travel outside premises (although in practice this might be hard to achieve)
Use cabled network instead of WiFi.
R. MAC address filtering (as cars were not connecting to networks just intercepting transmissions)
3. Legal and ethical issues
If the data is being transmitted through the air, who does it belong to, if anyone? // Should data transmitted by WiFi be treated like a broadcast (eg TV) or a private communication (eg telephone call)?
Is it wrong to intercept data if people freely choose to transmit it wirelessly? A. Is it ethical to collect data from people without their permission?
Is it legal to intercept data if people freely choose to transmit it wirelessly? What laws apply in this scenario? Is this really hacking?
Are the ethics or laws different for intercepting data transmitted wirelessly than by cable?
Is there a difference between collecting statistical data eg channel number, signal strength, SSID and collecting the payload data?
Was the data just collected or was there an intention to process it as well?
What should the company have done when it realised that the data had been collected? // Should the data have been immediately deleted, or kept so that the company could contact and apologise to people it had collected data from? // What should be done with the data now?
What should the company have done if it inadvertently discovered evidence of illegal activity in the collected data?
Legality/ethicality may depend on the nature of the data gathered // (In the UK) would some of the collected data count as "personal data" (under the Data Protection Act) // could some of the data have been sensitive (accept example eg bank account details, details of minors) NE. Data may be private
To what extent is the company financially liable for collecting the data? Or any consequences of its use?
Could the legal situation be different in different countries where the company operated?
Was the collection of data intentional or just an accidental side-effect of a reasonable process?
What was done to ensure (existing) policies are followed?
Should there have been more oversight of code development?
Could intellectual property have been inadvertently stolen?
Is it ethical to collect/store information secretly from people // without them knowing?
Is it ethical to collect data if there is no (legitimate) purpose for doing so?
Were the developers in breach of their contracts with the company / company guidelines?
Relevant Legislation
Students may name specific pieces of legislation that could have been breached as part of their response. Determining whether or not a breach has actually occurred would probably require more information than is provided in the question and detailed knowledge of the legislation, which is not required by the specification. Therefore, up to two points can be given for students naming relevant pieces of legislation that could have been breached, regardless of whether or not this can be ascertained with certainty. Relevant pieces of legislation include:
- The Data Protection Act
- The Computer Misuse Act
- The Regulation of Investigatory Powers Act
- The Communications Act
Points should be given for assertions that legislation has definitely been breached, even if this is only a possibility in the context rather than a certainty.
Responses that reference other legislation should be referred to Team Leaders.
A. As an alternative to naming the Data Protection Act, a response could instead question whether privacy laws have been breached, or if a breach of privacy has occurred.
4. Lessons
Improved training for developers in what is legal / ethical (accept company needs to improve understanding of legal/ethical issues)
Need to review guidelines that developers are expected to follow
Need for scrutiny of code / supervision by people outside of development team
Developers could be required to check each other's code
Developers could be required to log changes made to code and reason
Should only collect data that is absolutely necessary // that has a clear purpose // need to review collected data to see why it is being collected and stored // need to fully consider the purpose of any data collection before doing it
Could/should remove equipment for Wi-Fi data capture used in cars to collect mapping data.
NE. Further testing should be carried out unless there is a clear explanation of the mechanism by which testing will check that the software has no additional functionality is described eg inspection of collected data files to verify purpose of contents
Two methods of representing and playing music on a computer are sampled sound and MIDI.
Sound is being sampled using a 16-bit sample resolution and a sample rate of 20 000 Hz.
1 Hz is one sample per second.
Calculate the amount of storage space that will be required to store 30 seconds of recorded sound. Express your answer in kilobytes.
You must show your working.
Method (MAX 1):
A multiplication by 20 000;
A multiplication by 16;
A multiplication by 30;
Answer:
1200
A. 1171.875 (expressed to at least 4 significant figures) this time
If answer is correct and some working has been shown, award all marks, even if working would not have gained credit on its own.
Accept 30*16*20000/8/1000 for 2 marks or any other reasonable calculation that would arrive at the correct answer, even if the final answer is not stated.
The highest frequency component in the sound that is being sampled is 14 500 Hz. The sample rate of 20 000 Hz is not high enough to enable a faithful reproduction of the original sound from the sample.
Explain why this is the case, justifying your response.
1 mark:
As a result of Nyquist's theorem // the sample rate must be at least twice the frequency of the (highest frequency component in the) original signal;
1 mark for any point in this list:
- 20 000 is less than double of 14 500
- 14 500 is more than half of 20 000
- the sample rate would need to be at least 29 000 Hz
- with a sample rate of 20 000 Hz frequency components of over 10 000 Hz will not be reproduced faithfully
MAX 2
MIDI is a system that can be used to enable musical devices to communicate and to represent music on a computer.
Explain how MIDI represents music and the advantages of using MIDI for representing music instead of using sampled sound.
Representation (MAX 2):
Music represented as sequence of MIDI (event) messages;
A. Music represented as sequence of instructions
R. Music represented as sequence of notes
One example of data that might be contained in a message:
- Channel
- Note on / note off
- Pitch / frequency / note number
- Volume / loudness
- Velocity
- Key pressure / aftertouch
- Duration / length
- Timbre
- Instrument
- Pedal effects
- Pitch bend
- Note envelope;
MIDI messages are usually two or three bytes long;
First byte of each MIDI message is a status byte (others are data bytes);
Bit rate is 31,250 bits per second;
MSB value of 1 indicates status byte, 0 indicates data bytes;
Status bytes are divided into a command and a channel number (4 bits for each);
Sixteen channels are supported;
Advantages of MIDI (MAX 2):
More compact representation;
Easy to modify / edit notes // Easy to change values eg octave for entire score //easy to change instruments;
Simple method to compose algorithmically;
Musical score can be generated directly from a MIDI file;
No data lost about musical notes // through sampling; A. "better quality" but only if it there is some explanation of this eg "no error introduced during sampling", "no background noise recorded"
Explain the difference between a physical topology and a logical topology.
Physical: The (physical) layout/arrangement/architecture of the cabling/wiring/connections (between the devices/computers on the network);
A. The (physical) layout/arrangement/architecture of the devices/computers/network
NE. How the devices/computers are connected to each other
NE. "Setup" for layout
NE. List of topologies eg bus, star
Logical: How the data/packets flows around a network // architecture of the communication mechanism in a network;
A. Conceptual way that data moves around a network
A. The type of protocol used
NE. How a network operates/behaves
Explain the differences between client-server and peer-to-peer networking.
Client-server (MAX 2):
Resources stored on the server;
R. Responses which suggest that everything must be done on the server
Clients access resources from server // server provides these resources in response to client requests;
A. Server provides services to client
Centralised / improved security management // centralised login system // centralised administration // administration will be easier;
Configuration/setup more complex // configuration/setup requires greater expertise;
Peer-to-peer (MAX 2):
Resources stored on each individual computer/device/peer;
Any computer/device/peer can access resources from any other // any computer/device/peer can share resources with any other // files can be distributed across the computers on the network;
Each computer/device/peer has equal status // a computer can act as both client and server;
Management of security / administration could be more difficult;
Computers communicate directly with each other // there is no dependence on a server;
NE. Computers connected directly to each other, no server
In both sections, reject points about how computers are connected to each other.
Accept responses that use examples of resources eg files, web pages
MAX 4
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). |