Click a paper to view its questions. The specification for the course is shown on the right. For each question, its specification references are listed and can be clicked to scroll the relevant part of the specification into view.
Only A-Level questions relating to the AS-Level specification are shown.
A sound has been sampled and recorded. The sound was sampled for 1 minute and 40 seconds at a sample rate of 8000 Hz with a 16-bit sample resolution.
A sample rate of 1 Hz means that one sample has been taken every second.
Calculate the minimum amount of storage space, in bytes, needed to store the sampled sound.
You should show your working.
Award 2 marks if correct final answer is shown: 1,600,000 (bytes);
A. 1600kB or 1.6MB for 1 mark but NE. 1600 or 1.6 without units
If final answer in not given then award 2 marks if correct calculation is shown: (60+40) x 16 x 8000 / 8 or 100 x 16 x 8000 / 8
If final answer is not given/incorrect and fully correct working is not shown then award 1 mark for doing any three of:
- multiplying by 8000
- multiplying by 100
- multiplying by 16
- dividing by 8.
A. Multiplying by 2 as an alternative to multiplying by 16 and dividing by 8
An analogue to digital converter (ADC) was used during the sampling process.
Explain the principles of operation of an ADC.
2 marks: All three points in list below covered OR
1 mark: At least one point from list below covered
- (Analogue signal A. sound as BOD) sampled at fixed/regular time intervals R. references to graphs
- Amplitude/Voltage of signal/wave (at each sample point) measured
- Measurement coded into a fixed number of bits // coded in binary
Figure 1 shows how some of the components inside a computer are connected together. The computer uses the von Neumann architecture. Some of the names of components have been omitted from Figure 1 and replaced with the numbers ① to ⑤.
Complete Table 1 by writing in the Component Number column the numbers from Figure 1 that correspond to the Component Names.
| Component Name | Component Number (1–5) |
|---|---|
| Address Bus | |
| Data Bus | |
| Main Memory | |
| Processor | |
| USB I/O Controller |
| Component Name | Component Number (1–5) |
|---|---|
| Address Bus | 4 |
| Data Bus | 5 |
| Main Memory | 1 |
| Processor | 2 |
| USB I/O Controller | 3 |
1 mark: At least three components correctly numbered
2 marks: All five components correctly numbered
The computer has 4 gibibytes of memory installed. How many kibibytes is this equivalent to?
4,194,304 (kibibytes);
A. 1024 x 1024 x 4
A. 4 x 220
A. 222
A tablet computer uses the Harvard architecture. Describe two advantages of using the Harvard architecture compared to the von Neumann architecture.
Avoid/reduce bottleneck of single data/address bus(es) // avoid/reduce delays waiting for memory fetches; A. Instruction and data can be accessed simultaneously;
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
NE. Quicker access, without further explanation
NE. Instructions and data stored in different memories
The diagram in Figure 2 describes the fetch part of the Fetch-Execute cycle. Some of the names of registers have been omitted from the figure and replaced with the numbers ① to ②.
State the full names of the registers that should appear in the diagram where the numbers are.
| Number | Register Name |
|---|---|
| Memory Address Register NE. MAR | |
| Program Counter NE. PC | |
| Current Instruction Register NE. CIR, IR A. Instruction Register |
1 mark: Two registers correctly named OR
2 marks: All three registers correctly named
If student has used initialisms instead of full register names (or a mixture of both) then award 1 mark if all three registers are given the correct abbreviated name.
Explain the relationship between hardware and software.
Software (is the programs that) execute(s) on the hardware // hardware is the electrical/physical components that allow the software to execute;
A. Software controls the operation of the hardware as BOD
Figure 6 shows truth tables for four logic gates. The truth tables are labelled Table A, Table B, Table C and Table D.
Shade in one lozenge to indicate which truth table does not represent one of the logic gates: OR, XOR, NOR.
- A:Table A
- B:Table B
- C:Table C
- D:Table D
Table C;
R. if more than one lozenge shaded
Complete every empty cell in the truth table below for the circuit in Figure 7
- The listed inputs to the table (X3, X2, X1, X0) represent the decimal digits 0–9 in binary, which are the only allowed inputs.
- The letters A–E have been used to label intermediate points on the circuit in Figure 7 to help you to work out the final output Q
- Some of the cells have been completed for you.
| INPUTS | INTERMEDIATE POINTS | OUTPUT | |||||||
|---|---|---|---|---|---|---|---|---|---|
| X3 | X2 | X1 | X0 | A | B | C | D | E | Q |
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
| 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
| 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 1 |
Marks are awarded for the correct values in the unshaded cells only.
1 mark: Correct values in columns A or C
1 mark: Correct values in columns B or D
1 mark: Correct values in column E
1 mark: Correct values in column Q
Max 3 if any incorrect values in table
By considering the inputs and outputs of the circuit in Figure 7 and consulting your trace table, state which of the segments in the display (labelled a to g below) the output Q from the circuit is controlling.
b; A. the middle bar
Using the rules of Boolean algebra, simplify the following Boolean expression.
(A ∙ (A + 1) ∙ B')' ∙ (A' + (B + 0)')'
You must show your working.
Marking guidance for examiners:
- award marks for working out until an incorrect step has been made
- ignore missing steps from the example solutions, as long as the jumps between steps are logically correct
- if, in any one step, a candidate is simplifying different parts of an expression simultaneously award all relevant marks for this multiple stage but don't award any further marks for working in any parts simplified incorrectly. For example, if the expression P.P.(P+Q) + P.P.1 was changed to P.(P+Q)+P.0, the candidate would get one mark for simplifying the first part to P.(P+Q) and could get further marks for correctly simplifying this part of the expression further but should not be awarded marks for simplifying the incorrectly changed part P.0 (ie to 0).
1 mark for final answer: A ∙ B
Max 3 for working. Award up to three marks for applying each one of the three techniques (one mark per application):
- a successful application of De Morgan's Law (and any associated cancellation of NOTs) that produces a simpler expression;
- applying an identity other than cancelling NOTs that produces a simpler expression;
- successfully expanding brackets;
Note: A simpler expression is one that is logically equivalent to the original expression but uses fewer logical operators.
Example Solution (1)
A ∙ (A + 1)‾ ∙ B‾ ∙ A‾ + B + 0‾
A ∙ 1‾ ∙ B‾ ∙ A‾ + B + 0‾
By X + 1 = 1
A‾ ∙ B‾ ∙ A‾ + B + 0‾
By X ∙ 1 = X
A‾ ∙ B‾ ∙ A‾ + B‾
By X + 0 = X
(A + B) ∙ A‾ + B‾
Application of De Morgan
(A + B) ∙ (A ∙ B)
Application of De Morgan
A ∙ A ∙ B + B ∙ A ∙ B
Expansion of brackets
A ∙ B + B ∙ A ∙ B
By X ∙ X = X
A ∙ B + B ∙ A
By X ∙ X = X
A ∙ B
By X + X = X
Example Solution (2)
A ∙ (A + 1)‾ ∙ B‾ ∙ A‾ + B + 0‾
A ∙ 1‾ ∙ B‾ ∙ A‾ + B + 0‾
By X + 1 = 1
A‾ ∙ B‾ ∙ A‾ + B + 0‾
By X ∙ 1 = X
A‾ ∙ B‾ ∙ A‾ + B‾
By X + 0 = X
A‾ ∙ B‾ + A‾ + B‾
Application of De Morgan
A‾ + B‾
By X + X ∙ Y = X
A ∙ B
Application of De Morgan
Example Solution (3)
A ∙ (A + 1)‾ ∙ B‾ ∙ A‾ + B + 0‾
A ∙ (A + 1)‾ ∙ B‾ + A‾ + B + 0‾
Application of De Morgan
A ∙ A‾ ∙ B‾ + A‾ + B + 0‾
By X + 1 = 1
A‾ ∙ B‾ + A‾ + B + 0‾
By X ∙ X = X
A‾ + B + 0‾
By X + X ∙ Y = X
A‾ + B‾
By X + 0 = X
A ∙ B
Application of De Morgan
One of the numbers listed below is a member of the set of integers, the set of rational numbers and the set of real numbers, but is not a member of either the set of irrational numbers or the set of natural numbers.
Shade one lozenge to indicate which number this is.
- A:–43
- B:12/35
- C:87
- D:107.834
A;
R. more than one lozenge shaded
Shade one lozenge to indicate which type of number would be most appropriate to use to measure the length of an item, such as a piece of rope.
- A:Integer
- B:Irrational
- C:Natural
- D:Rational
- E:Real
E;
R. more than one lozenge shaded
Explain why the warehouse owners might prefer the individual products to be identified using RFID tags.
AO2 (analyse) 1 mark: A lot of individual products will need to be scanned simultaneously / when a lorry/delivery arrives/leaves;
AO1 (understanding) maximum 1 mark from this list:
- the RFID tags could be read without removing products from their pallet;
- RFID tags can be read from a (greater) distance (than barcodes);
- no need for a person to scan tags // no need to manually scan tags;
- RFID tags can be read at a faster rate;
- RFID tags less easily damaged (than barcodes) // barcodes can become easily damaged and made unreadable;
- don't have to spend time locating barcodes on items;
R. RFID tags can store more data (not relevant)
Explain why the product manufacturers or supermarket owners might prefer the individual products to be identified using barcode labels.
AO1 (understanding) 1 mark: Barcodes are cheaper than RFID tags // less electronic waste (assuming tags not reused) // barcodes can only be read when scanner pointed directly at them // barcodes not susceptible to radio interference // barcodes usually include human-readable encoding of same data;
AO2 (analyse) 1 mark: Higher cost of RFID tags would be added on to prices // higher cost would have to be paid by manufacturer/supermarket/customer // barcodes can be scanned by existing equipment at checkouts // less risk of nearby product being accidentally scanned // backup system exists as barcodes can be keyed in;
Describe how an RFID reader would read the ProductID and ItemID values from RFID tags as pallets are delivered and explain how this data could be used to update the database table that stores details of the products that the warehouse has in stock.
You should include in your description references to the type(s) of SQL statements (eg INSERT, SELECT, UPDATE) that could be used and their purpose, but you do not need to write any SQL code.
3 marks for AO1 (knowledge) – 3 marks:
- RFID reader/scanner (at warehouse entrance) transmits/sends signal;
- Signal activates/energises/induces current in RFID transponder/tag;
- RFID transponder/tag transmits/sends data by radio(wave);
3 marks for AO2 (analyse) – Max 3 marks:
- RFID signals processed into a format suitable for querying the database;
- (SELECT) query used to check if there is already a record for the product/ProductID in the database // return of empty data set could be used to identify if the product is not in the table; NE. used to lookup record
- UPDATE statement used to increase the QuantityInStock/stock level (by the number of items delivered) if the product is already in the database;
- INSERT statement used to create new record for product if it is not already in the database; user will need to enter some details manually as these are not contained in the RFID tag.
If the operand can be used to refer to any location in the memory, how many memory locations can the processor address?
1024 // 210;
A. 1 KiB
One of the two addressing modes that the processor supports is immediate addressing.
Explain what is meant by immediate addressing.
The operand is the value/datum that the instruction should use;
The Vernam cipher encrypts a plaintext character by performing a logical operation between a character in the plaintext and part of the key.
Write an assembly language program, using the AQA assembly language instruction set shown on page 28 in Table 2, to encrypt a plaintext character using this method.
You should assume that:
- the character code of the plaintext character to be encrypted is stored in memory location 101
- the part of the key to use to encrypt the character is stored in memory location 102
The encrypted ciphertext character should be stored in memory location 103
Values in memory locations 101 and 102 loaded into two different registers;
Contents of the two registers are exclusive ORed;
A. Memory addresses used as operands directly if no other marks awarded for this question part ie EOR 103, 101, 102
A. Exclusive or achieved in another way eg use of two ANDs, two NOTs and an OR
Value of register storing the result of exclusive or operation is stored into memory location 103;
A. result of an incorrect combination of the values in locations 101 and 102 stored in location 103
DPT. Use of invalid register name eg Rd
DPT. Use of incorrect addressing mode
DPT. Inclusion of invalid symbols in commands
Example Solution
LDR R1, 101
LDR R2, 102
EOR R3, R1, R2
STR R3, 103
A message has been encrypted using the Caesar cipher with a key value of 5
Using the Caesar cipher, each capital letter is replaced by another capital letter (as determined by the key value) whenever it is encrypted or decrypted.
The pseudocode in Figure 12 is supposed to decrypt a single capital letter character in the message, but it does not work properly.
By analysing the pseudocode in Figure 12, explain what the problem with the algorithm represented by the pseudocode is and how it could be rectified.
What the problem is:
Some letters will be shifted back before the letter A // before the start of the alphabet // before ASCII code 65 // some letters will end up as non-alphabetic characters;
R. Some values will not be valid ASCII codes
Solution:
These need to be shifted back // wrapped around to the end of the alphabet // use an If statement to check if the code is below 65;
Shifting achieved by adding 26 to any code below 65 // by using MOD 26 in the calculation;
A company provides a social media service through which members can share information about themselves and view information and news from their friends.
The service also displays current affairs news stories to its members. The service does not have journalists who write the stories but instead it uses algorithms to select news stories written by other organisations and individuals and shows these.
Different news stories may be shown to different members.
Discuss:
- how algorithms might determine which current affairs news stories to display to an individual member
- the moral, ethical and legal considerations that the developers of the system and its operators should consider in relation to how the algorithms work and which news stories are displayed.
Area 1: How it could work:
- members could specify their interests / views and stories could be matched to these;
- consider basic facts about member eg age, gender, location;
- consider what stories have been read by friends of the member;
- analyse the type of stories that the user has read before;
- analyse the information that a member shares about themselves to identify characteristics/interests etc;
- track how popular a story is to display the most popular ones;
- look at member's search history;
- look at member's reaction to other similar stories eg likes;
- show stories viewed by others with a similar profile to this user;
- display articles that have been more popular // had more hits // received more positive feedback;
- compare keywords in articles with keywords in articles previously viewed by the member;
- how can the algorithm avoid displaying click-bait?;
Area 2: Legal
- who owns the copyright in the story?;
- is it legal for the company to reproduce a news story that someone else has written?;
- is the company legally responsible for the content/accuracy of stories?;
- do contracts need to be signed between the company and the organisations/ individuals that stories will be displayed from?;
- do laws in some countries prevent some types of stories being displayed? // need to ensure laws in different countries are followed;
- need to ensure that stores are age-appropriate;
- need to notify members about how their information is being used to select stories;
Area 3: Ethical / Moral
- by choosing what news stories to display, will the service influence the views of members?;
- how should the company deal with governments/organisations who might want to influence/control which stories are displayed?;
- should the company accept payments to promote stories?;
- how should the company deal with complaints / issues raised by members (in a timely fashion)?;
- will the reproduction of news stories adversely (or positively) affect the number of people who go to read the original stories from their authors?;
- how can / should reliability of stories be checked / shown (fake news)?;
- how can / should the company assess bias / prevent spread of propaganda;
- does the company have a duty to try to provide balance?;
- should a method be provided so members can request their data is not analysed for this purpose? // importance of consent;
- should the company let them know that the news they are seeing is being tailored to them / not everyone sees the same news?;
Area 2 or 3: Legal OR Ethical / Moral
- should the company have people who read/check each story?; Is it practical to do this?;
- how should the company select which organisations/individuals it will display stories from?;
Max 4 if all points are from one area
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). |