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.
Shade in one lozenge to indicate which of the following values is an irrational number.
- A:3/4
- B:√2
- C:73
- D:-19
B (√2);
R. More than one lozenge shaded.
Shade in one lozenge to indicate which of the following values is a natural number.
- A:3/4
- B:√2
- C:73
- D:-19
C (73);
R. More than one lozenge shaded.
Define the set of real numbers.
The set of all possible real-world quantities;
Includes all rational and irrational numbers;
A value that represents any quantity along an infinite number line;
A. All numbers excluding imaginary/complex numbers.
Shade in one lozenge to indicate which of the following symbols represents the set of numbers most suitable for counting the number of people in a room.
- A:ℕ
- B:ℚ
- C:ℝ
- D:ℤ
A (ℕ);
R. More than one lozenge shaded.
What is meant by the term ordinal number?
Ordinal numbers are used to represent/describe the position/index of an object/entity placed in order/sequence;
A. By example (1st, 2nd, 3rd, etc) as long as at least three given.
Assembly language programmers can use hexadecimal to represent bit patterns instead of binary.
Explain why assembly language programmers will often choose to use hexadecimal in preference to binary.
More compact when displayed // Can be displayed in fewer digits;
NE. Takes up less space.
R. If answer states that hexadecimal uses less memory/storage.
Easier (for people) to understand/remember;
A. Read.
R. Implication that it is easier for computers.
Lower likelihood of an error when typing in data;
Saves (the programmer) time writing/typing in data;
How many different values can be represented using 10 bits?
210 // 1024;
Shade in one lozenge to indicate which of the following prefixes represents 106.
- A:kibi
- B:mebi
- C:gibi
- D:kilo
- E:mega
- F:giga
E (mega);
R. More than one lozenge shaded.
Table 1 shows two unsigned binary integers, Number 1 and Number 2.
Complete the table to show the result in binary of adding the two numbers.
You must complete the carry row to show the carry from the previous column where there is one.
Mark is for result and carry mark completed as shown:
Number 1: 00011011
Number 2: 00000111
Result: 00100010
Carry: 00111111
A. Missing 0s in carry row.
What is the result of subtracting the two's complement binary number 00100100 from the two's complement binary number 00011011?
You should give your answer in two's complement binary.
You must show all your working in binary.
1 mark for correct conversion of 00100100 (36) to 11011100 (–36);
1 mark for binary addition of 00011011 and 11011100 producing 11110111;
A. Follow through of incorrect representation of –36 for second mark.
2 marks if correct answer and any relevant working shown which indicates an attempt at using two's complement to solve the problem.
R. Reject both marks if only decimal subtraction has been used.
In decimal, what are the lowest and highest values that can be represented by an 8-bit two's complement binary integer?
Lowest: –128
Highest: (+)127
Note: Both answers must be correct to award mark.
What is the decimal equivalent of the bit pattern shown in Figure 1 if it represents an unsigned fixed-point binary value with two bits before the binary point and six bits after the binary point?
Marks are for A02 (application)
3 29/64 // 221/64 // 3.453125
Mark as follows:
1 mark for correct integer part (3)
1 mark for correct fractional part (29/64 or .453125)
2 marks for 221/64
Explain why it is better for a majority voting system to send each bit five times instead of four.
(If five bits are transmitted) there will always be a majority // (if five bits are transmitted) could correct errors when two bits changed // if four bits are transmitted both 0 and 1 may be received twice // if four bits are transmitted there could be no bit received a majority of times;
Give two reasons why using a parity bit system might be preferred to using majority voting when transmitting data.
Data could be transmitted more quickly / using less bandwidth;
A. as less bits sent
The cost of transmitting multiple copies may be high;
It may be more effective/efficient to retransmit corrupted data than transmit multiple copies in the first place;
Figure 2 shows a bit pattern that a computer has received. Each byte contains a 7-bit ASCII code with a parity bit. The method used when transmitting data was odd parity, with the parity bit being transmitted in the leftmost bit of each byte. Clearly circle the byte of data which the system calculates has been received incorrectly. Spaces have been inserted between each byte for clarity.
Second byte (01000001) circled;
0 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 0 1
A. Any clear indication that the middle byte is selected.
Describe how to calculate the minimum storage requirements, excluding metadata, of a bitmapped image.
Number of pixels multiplied by colour depth / the number of bits used to represent a pixel/colour;
Width is multiplied by the height multiplied by the colour depth / the number of bits used to represent a pixel/colour;
What is meant by the term sampling rate?
The number of samples taken/measured in a second/given period of time;
What is meant by the term sample resolution?
The sample resolution is the number of bits used to represent/store each sample;
A sampled sound could be compressed using lossy compression. Describe a problem that may occur if lossy compression is used and how the compression method has caused this.
The quality may limit later editing possibilities; The sampled sound may not be fully reproducible // The quality of the reproduced sound will not be as good as the original sampled sound;
MAX 1 mark; Data is discarded/lost when storing using a lossy format;
An alternative to using sampled sound is MIDI. State two advantages of using MIDI instead of sampled sound.
More compact representation; NE. requires less space; 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;
Libraries are a type of system software. Describe what libraries are and why programmers use them.
Provides routines that can be included/used in a program;
Improves the speed of development // reduces workload // requires (writing of) less code;
Improves reliability; Provides operations that the programmer may not know how to code themselves;
Discuss the advantages and disadvantages of high-level languages compared to low-level languages.
Advantages of high-level languages / Disadvantages of low-level languages
- High-level languages may be processor agnostic // low-level languages are processor (family) specific;
- High-level languages are written in a form designed to be easier for humans to interpret // High-level languages are more abstracted from how the processor operates;
- High-level languages often have extra features such as abstract data types and built-in functions.
- High-level languages may have a wider range of programming structures (eg loops) available.
- High-level languages are easier to understand/write/debug/maintain than low-level languages // uses English-like kewords.
- Programs written in high-level language are quicker to write/develop.
- More tools for developing high-level languages are likely to exist // low-level languages might have fewer tools available to aid development.
- Some high-level languages (eg SQL) are designed for solving specific types of problem (as they provide domain specific features).
Advantages of low-level languages / Disadvantages of high-level languages
- Not all low-level languages need to be translated, all high-level languages do.
- Low-level language programs are likely to use less memory when executing.
- Low-level language programs may execute faster than (equivalent) high-level language programs.
- Low-level language programs can directly interact with / control hardware.
Figure 3 shows a circuit diagram. Complete the truth table below for the circuit shown in Figure 3.
A B C L M N X Y
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 1 0 0 1 0
0 1 1 1 1 0 0 1
1 0 0 1 0 0 1 0
1 0 1 1 1 0 0 1
1 1 0 0 0 1 0 1
1 1 1 0 0 1 1 1
Using Figure 3, write a Boolean expression for output Y in terms of inputs A, B and C.
(A ⊕ B) ∙ C + A ∙ B
Using the rules of Boolean algebra, simplify the following expression.
(A' + B')' + B.A'.(C' + C)
You must show your working.
B
Explain the role of the status register in a processor and describe a circumstance that would result in its contents being updated.
Provides information about the result of the last (arithmetic/logical) instruction // to control conditional branch instructions;
When the result of a comparison / (arithmetic) operation is zero/negative;
One physical resource that the operating system manages is the processor.
Name another physical resource that the operating system is responsible for managing.
Mark is for AO1 (Knowledge):
Main memory (A. RAM);
Secondary storage (A. example of secondary storage device);
I/O devices (A. example I/O device);
R. Processors;
R. File system;
R. Scheduling;
Alice compiles a program on her computer to produce an executable file. Alice can run the executable file on her computer.
Bob's computer has a different processor to Alice's computer.
Explain why having a different processor might make it impossible for Alice's executable file to run on Bob's computer.
Marks are for AO1 (Understanding):
The executable file is platform dependent / machine-specific / using the instruction set of the computer that created it;
Different processors may have different instruction sets;
A. Description of specific difference in architecture, e.g., different general-purpose registers.
Figure 4 shows an algorithm written in pseudo-code. It is used to calculate the value of the contents of variable A multiplied by the contents of variable B.
Line numbers are included in the pseudo-code but are not part of the algorithm.
Write a sequence of assembly language instructions that would perform the same function as the pseudo-code in Figure 4.
Registers R1, R2 and R3 are used to hold the values of A, B and C respectively. The assembly language code equivalent to line numbers 1 to 3 in Figure 4 have been completed for you.
Marks are for AO3 (programming):
1 mark: Comparing R2 against #0 and having a BGT/BEQ, or #1 and having a BLT
1 mark: Adding R1 to R3 and storing result in R3
1 mark: Subtracting #1 from R2 and storing result in R2
1 mark: Having a B to branch to the start
Max 3 marks for programming if any syntax incorrect or program does not work correctly under all circumstances.
A company is redesigning the processor used in a smartwatch it sells. The redesign will allow the company to increase the clock speed of the processor.
The processor executes all software and controls all hardware on the smartwatch. The smartwatch uses a wide range of sensors to continuously collect data about its wearer and environment. To improve accuracy each sensor takes many readings every second and sends them to the processor for averaging. The smartwatch has different software applications to play music, display images and provide a summary of all the sensor data it has stored.
Customer feedback shows that the smartwatch provides all customers with reliable and accurate data. However, some customers mentioned that performance can worsen when loading a large image and listening to music at the same time.
Describe two features of the situation that suggest increasing the clock speed would improve the performance of the smartwatch.
Marks are for AO2 (analyse):
The processor must keep pace with a wide range of sensors, each frequently collecting data;
All sensor data goes via the processor // all sensor data requires computation;
Processor must run other software at the same time as collecting data from sensors // the processor must operate quickly enough to support multitasking between processing sensor data and the applications (playing music / loading images);
Both the image and music (often) have large file sizes;
NE. faster processing.
A clothing company has developed an application that allows a user to take a photograph of themself on their mobile phone and upload it to their account on the company servers. The application will then use artificial intelligence to recommend new clothes that it computes will suit the user based on their preferences and the application's own interpretation of the way they look. It will then generate images of the user wearing the recommended clothes.
The user can preview the images and either buy the clothes from the company or use the generated images by linking to them from social media accounts.
Describe how a digital camera would work when capturing a photograph of the user for the application and discuss the moral, ethical, legal and cultural issues that developers of the application may have had to consider while developing it.
Marks are for AO1 (understanding) and AO2 (analyse):
Image Capture:
- Light enters through / is focussed by the lens on to (an array of sensors on) the sensor chip. A. light sensors capture/record light (intensity). A. CCD as sensor.
- Each sensor produces an electrical current/signal.
- The signal represents a pixel.
- An (ADC) converts measurement of light intensity into binary/digital data.
- A (colour) filter is applied to generate separate data values for red, green and blue colour components.
- The pixels are recorded as a group/array.
Moral/Ethical Issues:
- Could the AI or computer program include unconscious bias as a result of the dataset it has access to or the programmers?
- Would the owners of the system use the system to steer customers towards more expensive/higher profit garments?
- Will the owners of the system use the data collected for other purposes?
- May put pressure on users to spend more money than they have.
- Application may include advertising for certain brands.
- Photographs may be uploaded by third parties and the result used without knowledge / consent of the person in the photograph.
- Might the application recommend outfits which may be deemed inappropriate by some?
Legal Issues:
- Will the data be stored securely?
- Who will own copyright of the generated images?
- An image identifies a living person and so can be classed as personal data under the Data Protection Act / GDPR.
- How will the application authenticate that the photograph is of the person using the system or has the permission of the person whose photograph it is?
- Will there be an age authentication of the user of the system? Will there be an age restriction? How is this verified?
- How long will the images be made available for?
Cultural Issues:
- Some outfits suggested may be offensive to certain groups of users (e.g., in certain religions).
- Could the AI make inappropriate decisions about what clothes to suggest based on ethnicity / gender / disability / body-size?
- Developers may deliberately or unintentionally (due to the algorithm) influence fashion trends.
Explain the purpose of a Service Set Identifier (SSID) in wireless networking and how disabling SSID broadcasting can make a network more secure.
Marks are for AO1 (knowledge) and AO1 (understanding):
AO1 (knowledge) – 1 mark:
An SSID is a (locally unique) identifier (A. name) for a wireless network;
AO1 (understanding) – 1 mark:
Makes it harder for (A. prevents) a client joining the wireless network unless they know the SSID;
Explain the role of the security protocol WPA2 in wireless networking.
Marks are for AO1 (knowledge) and AO1 (understanding):
AO1 (knowledge) – 1 mark:
(Strong) encryption used to secure wireless networks // to encrypt data that is being transmitted // to make the communications link more secure;
AO1 (understanding) – 1 mark:
(Significantly) reduces the probability that (A. prevents) an unauthorised device/person will be able to interpret/comprehend (A. read) data that is transmitted across the network; NE. Stops the data being read.
MAC (Media Access Control) address filtering is another method that can be used to make a wireless network more secure by only allowing devices with a MAC address that is on a list of allowed addresses to use the network.
Describe two reasons why using this method would be an inappropriate choice for a coffee shop that is providing Internet access to its customers.
Marks are for AO2 (analyse):
The coffee shop wants to let everyone (except specific people/devices) access the network // open access in a public space;
Maintaining the list would be time consuming for staff // would be expensive/resource-intensive for the coffee shop // Every device would need to be manually added to the list of known/accepted/registered devices;
Maintaining the list would require staff to have technical knowledge // costly to train staff or employ a specialist;
A customer with multiple devices could be frustrated / inconvenienced having to whitelist multiple times;
A. customer concern about what their MAC address would be used for.
Explain the operation of a physical star network topology.
Marks are for AO1 (Understanding):
Every device is (directly) connected to a central switch; A. hub
Every device sends data via the central switch; A. hub
The switch sends packets of data to the intended recipient only // The hub sends every packet of data to every device;
DPT. Server/router instead of switch.
Explain how client-server networking operates.
Marks are for AO1 (Knowledge):
Clients request services from a server;
A. Direct communication with server provided client initiates.
The server responds to client requests (by providing resources/services);
Resources are stored on the server;
A company needs to keep a file server in a secure room. The file server will need to be accessible for routine maintenance and in emergencies. All company staff carry an ID card but not all staff should be allowed into the secure room.
The company has replaced the keypad controlling an electronic door lock on the room with an RFID reader and replaced all staff ID cards with ones containing an RFID tag to control access.
State three characteristics of RFID technology and explain why each of these makes it a suitable choice in this scenario.
Marks are for AO2 (Analyse):
- RFID tags are small/lightweight, making them easy to carry/integrate with Staff ID cards;
- RFID tags are cheap, making it more affordable to provide them to as many staff members as necessary;
- RFID tags are durable, making them more reliable over time / in emergency situations;
- RFID tags do not require their own power sources, making them more reliable / lower maintenance;
- RFID tags can be read quickly, making it suitable for access in emergency situations;
- RFID tag has storage, which could be used to store access credentials // no need to remember a keypad code // different staff could be given different access levels;
- RFID permits contactless access, allowing access where staff do not wish to touch a communal access control mechanism;
MAX 3
If no other marks awarded allow 1 mark for at least 2 reasons why RFID is used in this scenario, or at least 2 characteristics of RFID (with no reference to the scenario).
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). |