A2 Level Past Paper Questions

WJEC A2 Level Computer Science

Unit 3 Summer 2024 Data Structures 4m short answer Q1a

Explain, giving a suitable example for each, the difference between a two-dimensional and a three-dimensional array.

Unit 3 Summer 2024 Data Structures 2m short answer Q1b

This is a graphical representation of a two-dimensional string array:

july[n,n]

  0 1 2 3 4 5 6
0 Mon Tue Wed Thu Fri Sat Sun
1 01 02 03 04 05 06 07
2 08 09 10 11 12 13 14
3 15 16 17 18 19 20 21
4 22 23 24 25 26 27 28
5 29 30 31 X X X  

Describe how you would update the empty element in the array to X.

Unit 3 Summer 2024 Data Structures 2m short answer Q1c

This is a representation of a two-dimensional integer array containing the values 1 to 9:

2D = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Describe how you would change the value 8 to 10 in the 2D array.

Unit 3 Summer 2024 Principles of Programming 4m short answer Q2a

Computer languages such as HTML and CSS are standardised.

Describe the need for the standardisation of computer languages.

Unit 3 Summer 2024 Principles of Programming 4m short answer Q2b

Explain, giving a suitable example, the potential difficulties involved in agreeing and implementing standards.

Unit 3 Summer 2024 Logical Operations 6m short answer Q3a

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate:

(1·X + Y̅·Y̅)·X̅ + X·Z

Unit 3 Summer 2024 Logical Operations 6m short answer Q3b

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate:

(A̅·A + A·A)·1 + B·C·0

Unit 3 Summer 2024 Algorithms and Programs 8m written Q4

Write an algorithm to search an unsorted one-dimensional array of strings and replace any duplicate values with the string “X” and then output the array.

Unit 3 Summer 2024 Algorithms and Programs 6m short answer Q5a

This algorithm validates a password for a given string.

 1  declare password as string
 2  declare digits as char[]
 3  declare special as char[]
 4  declare length, i as integer
 5  declare valid, w, x, y, z as Boolean
 6  set digits = {'0','1','2','3','4','5','6','7','8','9'}
 7  set special = {'!','@','£','*','?'}
 8  set length = 8
 9  set i, j = 0
10  set valid, x, y, z = FALSE
11
12  do
13      output "Enter a password: "
14      input password
15      if len(password) >= length
16          set x = TRUE
17      end if
18      for i = 0 to len(password) - 1
19          for j = 0 to len(digits) - 1
20              if password[i] = digits[j]
21                  set y = TRUE
22              end if
23          next j
24      next i
25      set j = 0
26      for i = 0 to len(password) - 1
27          for j = 0 to len(special) - 1
28              if password[i] = special[j]
29                  set z = TRUE
30              end if
31          next j
32      next i
33      if NOT x OR NOT y OR NOT z then
34          output "message 1"
35      else
36          output "message 2"
37          set valid = TRUE
38  while valid = FALSE

Using a table, select three appropriate pieces of test data to dry-run the algorithm and trace the variables x, y, z, valid and the expected output.

Password x y z valid Output
           
           
           
Unit 3 Summer 2024 Algorithms and Programs 2m short answer Q5b

This algorithm validates a password for a given string.

 1  declare password as string
 2  declare digits as char[]
 3  declare special as char[]
 4  declare length, i as integer
 5  declare valid, w, x, y, z as Boolean
 6  set digits = {'0','1','2','3','4','5','6','7','8','9'}
 7  set special = {'!','@','£','*','?'}
 8  set length = 8
 9  set i, j = 0
10  set valid, x, y, z = FALSE
11
12  do
13      output "Enter a password: "
14      input password
15      if len(password) >= length
16          set x = TRUE
17      end if
18      for i = 0 to len(password) - 1
19          for j = 0 to len(digits) - 1
20              if password[i] = digits[j]
21                  set y = TRUE
22              end if
23          next j
24      next i
25      set j = 0
26      for i = 0 to len(password) - 1
27          for j = 0 to len(special) - 1
28              if password[i] = special[j]
29                  set z = TRUE
30              end if
31          next j
32      next i
33      if NOT x OR NOT y OR NOT z then
34          output "message 1"
35      else
36          output "message 2"
37          set valid = TRUE
38  while valid = FALSE

The password validation algorithm outputs ‘message 1’ when the password is invalid and ‘message 2’ when valid.

Suggest suitable text for message 1 and message 2.

Unit 3 Summer 2024 System Design 2m short answer Q6a

When evaluating computer-based solutions, describe the following criterion and give a suitable example:

Usability

Unit 3 Summer 2024 System Design 2m short answer Q6b

When evaluating computer-based solutions, describe the following criterion and give a suitable example:

Performance

Unit 3 Summer 2024 System Design 2m short answer Q6c

When evaluating computer-based solutions, describe the following criterion and give a suitable example:

Scalability

Unit 3 Summer 2024 System Design 2m short answer Q6d

When evaluating computer-based solutions, describe the following criterion and give a suitable example:

Security

Unit 3 Summer 2024 Principles of Programming 6m short answer Q7

A website URL is made up of a protocol, a domain name, and an optional file path.

  • The protocol can only be “http” or “https”.
  • The domain name can only consist of alphanumeric characters, hyphens and full stops.
  • The protocol and domain name must be separated by a colon and two forward slashes.
  • The optional file path must start with a forward slash and can only contain alphanumeric characters and forward slashes.

Example: https://www.wjec.co.uk/home/

Produce a Backus-Naur form (BNF) definition for a valid website URL.

Unit 3 Summer 2024 Software Engineering 6m short answer Q8

Explain program version management.

Unit 3 Summer 2024 Algorithms and Programs 8m written Q9

Explain, using suitable examples, recursive and non-recursive sorting algorithms.

Unit 3 Summer 2024 Logical Operations 3m short answer Q10

This is a signed 8-bit integer: 00001111₂

Include this integer in a worked example to demonstrate how masking can be used to determine the sign of the integer.

Unit 3 Summer 2024 Algorithms and Programs 5m short answer Q11a

This algorithm merges two one-dimensional arrays of length n. Assume the arrays (myArray1 and myArray2) have already been populated with data.

num(array) returns the number of elements currently in the array.

 1  declare i,j as integer
 2  declare myArray1[n]
 3  declare myArray2[n]
 4  declare myArray3[]
 5
 6  set i = 0
 7  set j = 0
 8
 9  for i = 0 to len(myArray1) - 1
10      set myArray3[num(myArray3)] = myArray1[i]
11  next i
12
13  for j = 0 to len(myArray2) - 1
14      set myArray3[num(myArray3)] = myArray2[j]
15  next j
16
17  output myArray3

Evaluate the efficiency of the algorithm and, using Big O notation, determine the growth rate for time performance.

Unit 3 Summer 2024 Algorithms and Programs 2m short answer Q11b

This algorithm merges two one-dimensional arrays of length n. Assume the arrays (myArray1 and myArray2) have already been populated with data.

num(array) returns the number of elements currently in the array.

 1  declare i,j as integer
 2  declare myArray1[n]
 3  declare myArray2[n]
 4  declare myArray3[]
 5
 6  set i = 0
 7  set j = 0
 8
 9  for i = 0 to len(myArray1) - 1
10      set myArray3[num(myArray3)] = myArray1[i]
11  next i
12
13  for j = 0 to len(myArray2) - 1
14      set myArray3[num(myArray3)] = myArray2[j]
15  next j
16
17  output myArray3

Determine the growth rate of memory space during a single run of the algorithm.

Unit 3 Summer 2024 Algorithms and Programs 2m short answer Q11c

This algorithm merges two one-dimensional arrays of length n. Assume the arrays (myArray1 and myArray2) have already been populated with data.

num(array) returns the number of elements currently in the array.

 1  declare i,j as integer
 2  declare myArray1[n]
 3  declare myArray2[n]
 4  declare myArray3[]
 5
 6  set i = 0
 7  set j = 0
 8
 9  for i = 0 to len(myArray1) - 1
10      set myArray3[num(myArray3)] = myArray1[i]
11  next i
12
13  for j = 0 to len(myArray2) - 1
14      set myArray3[num(myArray3)] = myArray2[j]
15  next j
16
17  output myArray3

Identify the type of time complexity and draw a graph of the algorithm to illustrate the order of time performance. Graph paper is not required.

Unit 3 Summer 2024 Algorithms and Programs 4m short answer Q12

Explain, giving a suitable example, the shortest path algorithm.

Unit 3 Summer 2024 System Design 12m written Q13

Discuss the potential use of natural language interfaces in human-computer communication to address the problem of communicating with computers.

You should draw on your knowledge, skills and understanding from a number of areas across your computer science course when answering this question.

Unit 4 Summer 2024 Hardware and Communication 6m written Q1

Describe the role of three of the main components of a contemporary Central Processing Unit (CPU).

Unit 4 Summer 2024 Organisation and Structure of Data 2m short answer Q2a

AJ Jewellers uses a direct access file with a separate overflow area to store stock records. Each record has a key field made up from a four-digit code followed by the year number, for example: 137524, 701924.

It is proposed to use the hashing algorithm: key field MOD 1000

Calculate the location of the stock records for each of the two example key fields.

Unit 4 Summer 2024 Organisation and Structure of Data 3m written Q2b

AJ Jewellers uses a direct access file with a hashing algorithm: key field MOD 1000. Each record has a key field made up from a four-digit code followed by the year number, for example: 137524, 701924.

Explain why this hashing algorithm is unsuitable.

Unit 4 Summer 2024 Organisation and Structure of Data 1m short answer Q2c

AJ Jewellers uses a direct access file with a hashing algorithm: key field MOD 1000. Each record has a key field made up from a four-digit code followed by the year number.

Give an example of a more suitable hashing algorithm for the file.

Unit 4 Summer 2024 The Operating System 4m written Q3

AJ Jewellers has invested in a 3D printing system to produce objects in precious metals. The system includes CAD software and a double buffering printer interface.

Explain why the 3D printing system uses double buffering.

Unit 4 Summer 2024 Hardware and Communication 2m short answer Q4a(i)

The maximum increase in speed due to parallel processing can be calculated using Amdahl’s Law:

Speedup = 1 / (S + P/N)

where P = parallel fraction, N = number of processors and S = serial fraction (S = 1 - P).

Calculate the maximum increase in speed due to parallel processing using 2 processors and 20 processors, where the parallel fraction P is equal to:

  • 0.5 for 2 and 20 processors
  • 0.9 for 2 and 20 processors
Unit 4 Summer 2024 Hardware and Communication 4m written Q4a(ii)

Using Amdahl’s Law calculations (P=0.5 gives speedups of 1.33 and 1.90 for 2 and 20 processors; P=0.9 gives speedups of 1.82 and 6.90 for 2 and 20 processors):

Explain the limiting factor of parallel processing indicated by your calculations.

Unit 4 Summer 2024 Hardware and Communication 4m written Q4b

Explain two other limiting factors to parallelisation in parallel processing.

Unit 4 Summer 2024 The Operating System 2m short answer Q5a

An interrupt is a signal that is sent to the processor to request immediate attention. The operating system will have interrupt service routines designed to process each interrupt.

Identify two events which could generate an interrupt.

Unit 4 Summer 2024 The Operating System 4m written Q5b

Priorities are used when more than one device raises an interrupt. Describe how priorities are used when handling interrupts.

Unit 4 Summer 2024 The Operating System 6m written Q5c

Describe the process carried out when an interrupt affects the execution of the fetch-decode-execute cycle of a running program.

Unit 4 Summer 2024 Data Transmission 3m short answer Q6a

A series of nodes are connected in a network, as shown:

flowchart LR
    A((A)) --- B((B))
    A --- D((D))
    B --- C((C))
    B --- F((F))
    C --- D
    C --- F
    D --- E((E))
    E --- F

For this network a node-to-node transmission speed of 1 Mbps would produce a routing cost = 1. The costs for routing data packets between nodes are given in the table.

Network links Transmission speed (Kbps) Routing cost
A–B 250 4
A–D (i) 20
B–C 100 10
B–F 80 (ii)
C–D 250 4
C–F 500 (iii)
D–E 100 10
E–F 250 4

State the values that should be in cells (i), (ii) and (iii) of the table.

Unit 4 Summer 2024 Data Transmission 1m short answer Q6b

A series of nodes are connected in a network, as shown:

flowchart LR
    A((A)) --- B((B))
    A --- D((D))
    B --- C((C))
    B --- F((F))
    C --- D
    C --- F
    D --- E((E))
    E --- F

For this network a node-to-node transmission speed of 1 Mbps would produce a routing cost = 1. The costs for routing data packets between nodes are given in the table.

Network links Transmission speed (Kbps) Routing cost
A–B 250 4
A–D (i) 20
B–C 100 10
B–F 80 (ii)
C–D 250 4
C–F 500 (iii)
D–E 100 10
E–F 250 4

Packets are transmitted using the route that has the lowest total cost.

State the route that packets would take from node A to node F.

Unit 4 Summer 2024 Hardware and Communication 6m short answer Q7

A secure display cabinet in AJ Jewellers’ showroom has an electronic lock which is opened by entering a four-digit code number using a keypad.

A copy of the correct code number is stored in a computer at memory location 01A0.

The cabinet is opened when the computer sends a numeric value of −1 to the electronic lock.

A control program for the lock is to be written in assembly language. The required algorithm is:

Repeat
    input a code number from the keypad
    subtract the value stored in 01A0 from the input
Until the remainder is zero
output -1

The assembly language used by the computer has an instruction set, which includes the following commands:

Assembly Language Command Description
IN Input a numeric code from the keypad to the accumulator
OUT R Output a numeric value R to the electronic lock
ADD N Add the numeric value in location N to the accumulator, leaving the result in the accumulator
SUB N Subtract the numeric value in location N from the accumulator, leaving the result in the accumulator
JMP LABEL Jump to LABEL
JZE LABEL Jump to LABEL if the contents of the accumulator are equal to zero

Using the algorithm and instruction set, write a program in assembly language to control the electronic lock.

Unit 4 Summer 2024 Data Representation and Data Types 4m written Q8a

Explain, using a suitable example, the difference between truncating and rounding a real number when stored as an integer in a 4-bit register.

Unit 4 Summer 2024 Data Representation and Data Types 4m short answer Q8b

Convert the hexadecimal numbers 1A₁₆ and -14₁₆ into two 8-bit binary numbers, using two’s complementation. Using binary addition, calculate the binary number that would result from adding the two numbers.

Unit 4 Summer 2024 Data Representation and Data Types 3m short answer Q8c

In a certain computer system, real numbers are stored in floating point form using 16-bits: a 12-bit mantissa in two’s complement form (binary point immediately after the left bit) and a 4-bit exponent in two’s complement form.

Clearly showing your working, convert 52.875₁₀ into this format.

Unit 4 Summer 2024 Data Representation and Data Types 3m short answer Q8d

In a different computer system, real numbers are stored in floating point form with an 8-bit signed mantissa and a 4-bit signed exponent.

Calculate the denary value of 00100101 0101.

Unit 4 Summer 2024 Databases and Distributed Systems 2m written Q9a

Describe the contents of a data dictionary.

Unit 4 Summer 2024 Databases and Distributed Systems 6m written Q9b

Explain the purpose of a DBMS.

Unit 4 Summer 2024 Databases and Distributed Systems 2m short answer Q10a

AJ Jewellers offers a jewellery valuation service. A flat file database is used to organise details of the valuations, storing information about clients, their jewellery, the valuations and the experts used.

Identify two potential problems arising from the use of a flat file.

Unit 4 Summer 2024 Databases and Distributed Systems 4m written Q10b(i)

AJ Jewellers’ valuation database is to be restructured into third normal form using four tables (Client, Valuation Request, Valuation, Expert Valuer).

Draw an entity-relationship diagram for the revised database structure.

Unit 4 Summer 2024 Databases and Distributed Systems 4m written Q10b(ii)

AJ Jewellers’ valuation database is to be restructured into third normal form using four tables.

Design a database for this situation.

Unit 4 Summer 2024 Databases and Distributed Systems 2m written Q11a

Explain the purpose of query languages, both in general and with specific reference to SQL.

Unit 4 Summer 2024 Databases and Distributed Systems 2m short answer Q11b(i)

A local car club maintains records of cars, members and monthly car hires in a relational database.

Cars table: CarID, Make, Model, Type Members table: MemberID, Name, Address1, Address2 CarHireMarch table: Date, Hours, CarID, MemberID

Write an SQL command to output the Make and Model only of the electric cars.

Unit 4 Summer 2024 Databases and Distributed Systems 2m short answer Q11b(ii)

A local car club maintains records of cars, members and monthly car hires in a relational database.

Members table: MemberID, Name, Address1, Address2 CarHireMarch table: Date, Hours, CarID, MemberID

Write an SQL command to output the Name of all members who hired a car on 3 Mar 24.

Unit 4 Summer 2024 Databases and Distributed Systems 2m short answer Q11b(iii)

A local car club maintains records of cars, members and monthly car hires in a relational database.

Cars table: CarID, Make, Model, Type Members table: MemberID, Name, Address1, Address2 CarHireMarch table: Date, Hours, CarID, MemberID

Another table is required to record car hire payments. Write an SQL command to create a new table called HirePayments to contain the following fields:

PaymentID (example: 290) Date (example: 3 Mar 24) MemberID (example: 25) PaymentDue (example: 60.00) Paid (example: TRUE)

You do not need to add the data into the table.

Unit 4 Summer 2024 Data Security and Integrity Processes 12m written Q12

Explain the main advantages and the associated security and integrity problems that may arise when using the cloud for storage, backup and online retrieval of files.

Unit 3 Summer 2023 Data Structures 4m written Q1a

Explain the operation of a hash table.

Unit 3 Summer 2023 Data Structures 2m short answer Q1b(i)

This is a diagram of a hash table:

Key Value
1001 Apple
1002 Berry
1003 Kiwi
1004 Lime
1005 Mango
1006 Pear
1007 Pineapple

Redraw the hash table after “1008, Orange” has been added and “1003, Kiwi” has been deleted.

Unit 3 Summer 2023 Data Structures 2m short answer Q1b(ii)

This is a diagram of a hash table:

Key Value
1001 Apple
1002 Berry
1003 Kiwi
1004 Lime
1005 Mango
1006 Pear
1007 Pineapple

Starting from the modified hash table resulting from (b)(i) — 1003 removed and 1008, Orange added — redraw the hash table after “1006, Peach” has been added.

Unit 3 Summer 2023 Principles of Programming 8m written Q2

Explain the differences between procedural and object orientated programming paradigms, giving suitable examples for each.

Unit 3 Summer 2023 Logical Operations 4m short answer Q3

Using the following Truth Table express p as a Boolean expression:

A B C p
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
Unit 3 Summer 2023 Logical Operations 5m short answer Q4a

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate:

A.(1 + C) + NOT(B).(A + B)

Unit 3 Summer 2023 Logical Operations 5m short answer Q4b

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate:

X.NOT(Y + Z) + NOT(Z).X

Unit 3 Summer 2023 Algorithms and Programs 8m short answer Q5

Write a quicksort algorithm, to sort an array of integers into ascending order.

Unit 3 Summer 2023 Algorithms and Programs 4m short answer Q6

State the purpose of validation and verification, giving a suitable method for each.

Unit 3 Summer 2023 Data Structures 3m short answer Q7a(i)

An online grocery store uses binary trees. Describe the in-order traversal method and give an example of why it would be used in the grocery store.

Unit 3 Summer 2023 Data Structures 3m short answer Q7a(ii)

An online grocery store uses binary trees. Describe the post-order traversal method and give an example of why it would be used in the grocery store.

Unit 3 Summer 2023 Data Structures 3m short answer Q7a(iii)

An online grocery store uses binary trees. Describe the pre-order traversal method and give an example of why it would be used in the grocery store.

Unit 3 Summer 2023 Data Structures 1m short answer Q7b

Draw an example of a balanced binary tree for grocery items.

Unit 3 Summer 2023 Software Engineering 3m short answer Q8a

Giving suitable examples, describe the types of software tool that have been designed to assist in analysis and planning.

Unit 3 Summer 2023 Software Engineering 3m short answer Q8b

Giving suitable examples, describe the types of software tool that have been designed to assist in software development.

Unit 3 Summer 2023 Software Engineering 3m short answer Q8c

Giving suitable examples, describe the types of software tool that have been designed to assist in version management.

Unit 3 Summer 2023 Principles of Programming 5m short answer Q9

A QR code generator uses a string to produce a WiFi access QR code. The string comprises the QR code type, encryption type, network name (SSID) and password, separated using colons.

Rules:

  • QR code type is WIFI
  • Encryption can be either WEP or WPA
  • Network name can contain only lowercase letters, uppercase letters and digits
  • Password can contain lowercase letters, uppercase letters, special characters and digits

Example: WIFI:WEP:WJECWiFiPublic:Pa$$w0rd1

Produce a Backus-Naur Form (BNF) definition for the string.

Unit 3 Summer 2023 Program Construction 4m short answer Q10

Giving suitable examples, describe the differences between translation and execution errors.

Unit 3 Summer 2023 Program Construction 8m written Q11

Describe the difference between compilers and interpreters. Give one example of a language which is compiled and one example of a language which is interpreted.

Unit 3 Summer 2023 Algorithms and Programs 5m short answer Q12a

This is an algorithm which searches for consecutive data items in three separate one dimensional arrays all of size n. You can assume all the arrays have already been populated with data.

Algorithm Search

declare i as integer
declare myArray1[n] as integer[]
declare myArray2[n] as integer[]
declare myArray3[n] as integer[]
declare found as string

set i = 0
set found = ""
do

  if myArray1[i] = myArray1[i+1] then
      set found = found + myArray1[i] + " "
  end if
  if myArray2[i] = myArray2[i+1] then
      set found = found + myArray2[i] + " "
  end if
  if myArray3[i] = myArray3[i+1] then
      set found = found + myArray3[i] + " "
  end if

  set i = i + 1

while (i < n)
output "Consecutive data items found: ", found

Evaluate the efficiency of the algorithm and using Big O notation, determine the growth rate for time performance.

Unit 3 Summer 2023 Algorithms and Programs 4m short answer Q12b

This is an algorithm which searches for consecutive data items in three separate one dimensional arrays all of size n. You can assume all the arrays have already been populated with data.

Algorithm Search

declare i as integer
declare myArray1[n] as integer[]
declare myArray2[n] as integer[]
declare myArray3[n] as integer[]
declare found as string

set i = 0
set found = ""
do

  if myArray1[i] = myArray1[i+1] then
      set found = found + myArray1[i] + " "
  end if
  if myArray2[i] = myArray2[i+1] then
      set found = found + myArray2[i] + " "
  end if
  if myArray3[i] = myArray3[i+1] then
      set found = found + myArray3[i] + " "
  end if

  set i = i + 1

while (i < n)
output "Consecutive data items found: ", found

Draw a graph of the algorithm to illustrate and identify its order of time performance. Graph paper is not required.

Unit 3 Summer 2023 System Design 13m written Q13

Discuss contemporary approaches to human-computer interaction.

You should draw on your knowledge, skills and understanding from a number of areas across your computer science course when answering this question.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q1a

Giving an example, describe why creating a text document by voice recognition might be preferred over keyboard entry.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q1b

Giving an example, describe why controlling an electronic device by voice input might be preferred over keyboard entry.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q1c

Giving an example, describe why managing a security system by voice print recognition might be preferred over keyboard entry.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q2a

A series of calculations must be carried out to complete a process: Task 1: a = bx + cy Task 2: d = ex + f² Task 3: g = hy - d

Explain why these tasks are not suitable for parallel processing.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q2b

A computer model is used to predict economic forecasts. It takes 16 hours on a single processor. 80% of the algorithm can be carried out in parallel, the remaining parts must be carried out serially.

Determine the time taken to run the parallel processing elements of the economic forecast model on a parallel processing system using 8 processors.

Unit 4 Summer 2023 Hardware and Communication 6m short answer Q3

In a food factory, packages are filled as they travel along a conveyor belt. The packages are weighed and any underweight packages are rejected.

A control program for the weighing system is to be written in assembly language. The minimum acceptable weight is stored in memory location R. The required algorithm is:

LOOP continuously
    input package weight
    subtract the value stored in location R from the input weight
    IF the remainder is zero or greater THEN
        output value 1
    ELSE
        output value 2
    ENDIF
END LOOP

The assembly language used by the microprocessor has an instruction set, which includes the following commands:

Assembly Language Command Description
IN Input a weight to the accumulator
OUT X Output a numeric value X
ADD Y Add the numeric value in location Y to the accumulator, leaving the result in the accumulator
SUB Y Subtract the numeric value in location Y from the accumulator, leaving the result in the accumulator
JNG LABEL Jump to LABEL if the contents of the accumulator are less than zero
JMP LABEL Jump unconditionally to LABEL

Using the algorithm and instruction set, write a program in assembly language to control the weighing system.

Unit 4 Summer 2023 The Operating System 8m written Q4

Giving an example for each, explain what is meant by batch processing and real time transaction processing.

Unit 4 Summer 2023 Data Representation and Data Types 4m short answer Q5a

Giving an example for each, describe the format of sign and magnitude and two’s complement when representing negative binary integers.

Unit 4 Summer 2023 Data Representation and Data Types 2m short answer Q5b

A computer uses floating point representation with a 10-bit mantissa in two’s complement form (binary point immediately after the leftmost bit) and a 6-bit exponent in two’s complement form.

Find the base-10 (denary) number represented by: 0110010101 000110

Unit 4 Summer 2023 Data Representation and Data Types 4m written Q6

Describe the process and effects of carrying out arithmetic shifts on a two’s complement negative binary number.

Unit 4 Summer 2023 Organisation and Structure of Data 6m written Q7

A shop has 95 stock items with three-digit identification codes (000-999). A programmer considers two storage methods:

  1. Direct access file with 100 locations using hash function: identificationCode MOD 100
  2. Sequential access file with 1000 locations where the record is stored at the location corresponding to its identification code

Explain the advantages and disadvantages of these two methods.

Unit 4 Summer 2023 The Operating System 6m written Q8

Describe the three basic states of a process in a multi-tasking computer.

Unit 4 Summer 2023 The Need for Different Types of Software Systems 4m short answer Q9a

Improved worker safety is a benefit of automation. Describe two other benefits and two drawbacks of automating a manufacturing process.

Unit 4 Summer 2023 The Need for Different Types of Software Systems 4m short answer Q9b

Explain, giving an example of each type of system, the main purpose of:

  • a safety related control system
  • a safety critical control system
Unit 4 Summer 2023 Databases and Distributed Systems 2m short answer Q10a

A kitchen equipment shop has a Product table (ProductID, Description, Model, Price) and an Order table (OrderID, Customer, ProductID, OrderDate, Delivered).

Write an SQL command to list only the description and price for each Product record where the price is less than 300.

Unit 4 Summer 2023 Databases and Distributed Systems 3m short answer Q10b

A kitchen equipment shop has a Product table (ProductID, Description, Model, Price) and an Order table (OrderID, Customer, ProductID, OrderDate, Delivered).

Write an SQL command to list the customer and order date for all orders with a product description ‘Cooker’.

Unit 4 Summer 2023 Databases and Distributed Systems 2m short answer Q10c

A kitchen equipment shop has a Product table (ProductID, Description, Model, Price) and an Order table (OrderID, Customer, ProductID, OrderDate, Delivered).

Write an SQL command to add the following record to the Product table: A refrigerator with the model name ‘Coolstore 2000’. This has been allocated Product ID 288 and has a price of 150.60.

Unit 4 Summer 2023 Databases and Distributed Systems 4m written Q11a

A large company uses a single flat file to store all details of projects. They have discovered that the data structure has several shortcomings.

Describe two disadvantages for the company of using a flat file to store its data.

Unit 4 Summer 2023 Databases and Distributed Systems 5m written Q11b

A company develops a relational database to store details of projects. Each project has a title and budget. Project teams are made up of employees from various departments. Each employee is allocated to a department matching their skills. An employee may be a member of more than one project team.

Design a database system in third normal form for this situation.

Unit 4 Summer 2023 Databases and Distributed Systems 2m short answer Q12a

Explain what is meant by a distributed system and describe what will be distributed in the system.

Unit 4 Summer 2023 Databases and Distributed Systems 4m written Q12b

A car manufacturer has dealerships across the UK. Car owners take their cars for servicing each year to a convenient dealership. Records are kept of servicing, faults found, and replacement parts fitted.

Explain the advantages to the company of implementing a distributed database system across its dealerships compared with using a single centralised database.

Unit 4 Summer 2023 Data Security and Integrity Processes 6m written Q13a

Explain the advantages and disadvantages of single key (symmetric) encryption compared with double key (asymmetric) encryption, giving an example, for each method, of a situation where that method would be the most suitable.

Unit 4 Summer 2023 Data Security and Integrity Processes 3m short answer Q13b

Text is stored in 8-bit binary ASCII format: A=65₁₀ (01000001₂), B=66₁₀ (01000010₂), C=67₁₀ (01000011₂).

The text is encrypted using a sequential XOR method:

  • The first character is encrypted by XOR with the key value 01101010₂
  • The second character is encrypted by XOR with the encrypted value of the first character
  • The third character is encrypted by XOR with the encrypted value of the second character

Using this algorithm, encrypt the word CAB.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q14a

Identify two hardware devices required to make a wireless connection to a network.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q14b

State two protocols used for wireless digital communication.

Unit 4 Summer 2023 Hardware and Communication 2m short answer Q14c

Describe one disadvantage of using a public wireless network.

Unit 4 Summer 2023 The Need for Different Types of Software Systems 9m written Q15

Information and advice on medical and health issues are readily available to the public through the internet, including online expert systems. Discuss the possible effects of using the internet for this purpose on health professionals and the wider community.

Unit 3 Summer 2022 Data Structures 4m short answer Q1a

Explain, giving a suitable example, the operation of a stack data structure.

Unit 3 Summer 2022 Data Structures 2m short answer Q1b_i

This is a graphical representation of a two-dimensional array:

alphabet[ ]

  0 1 2 3 4 5 6
0 ‘a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘f’ ‘g’
1 ‘h’ ‘i’ ‘j’ ‘k’ ‘l’ ‘m’ ‘n’
2 ‘o’ ‘p’ ‘q’ ‘r’ ’s’ ‘t’ ‘u’
3 ‘v’ ‘w’ ‘x’ ‘y’ ‘z’ ’ ‘ ’.’

Describe how you would update the value ‘.’ to ‘!’ in the alphabet array.

Unit 3 Summer 2022 Data Structures 2m short answer Q1b_ii

Demonstrate how a two-dimensional array could be used to store pupil data in school.

Unit 3 Summer 2022 Algorithms and Programs 2m short answer Q2a

Define the term algorithm.

Unit 3 Summer 2022 Algorithms and Programs 2m short answer Q2b

Describe one method of defining algorithms.

Unit 3 Summer 2022 Algorithms and Programs 4m short answer Q2c

Explain the benefits and drawbacks of recursive and non-recursive algorithms.

Unit 3 Summer 2022 Logical Operations 6m written Q3a

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate.

(A + C).(A.C + A.C’) + A.C

Unit 3 Summer 2022 Logical Operations 5m short answer Q3b

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate.

X.Y’.(X + Y) + Z’

Unit 3 Summer 2022 Algorithms and Programs 8m written Q4

Write a Binary Search algorithm to search for a value in an array of characters and output its position. You may assume that the search value exists in the array.

Unit 3 Summer 2022 Algorithms and Programs 6m written Q5a

The following is an algorithm:

1 declare subprocedure DivMod 2 3 x, y, a, b, c, ds is integer 4 5 output “Enter a three-digit integer (100 - 999): “ 6 input x 7 if x > 99 AND x < 1000 then 8 a = x DIV 100 9 b = x MOD 100 10 c = x MOD 10 11 b = (b - c) DIV 10 12 output a 13 output b 14 output c 15 ds = (a + b + c) 16 output ds 17 y = ((a * 100) + (b * 10) + c) 18 output y 19 else 20 output “error” 21 end if 22 23 end procedure

Select appropriate test data to dry run the algorithm and give all outputs.

Unit 3 Summer 2022 Algorithms and Programs 2m short answer Q5b

Explain the purpose of the algorithm.

Unit 3 Summer 2022 Systems Analysis 4m short answer Q6a_i

Describe the approach to analysis and design in the following software development methodology:

Waterfall

Unit 3 Summer 2022 Systems Analysis 4m short answer Q6a_ii

Describe the approach to analysis and design in the following software development methodology:

Agile

Unit 3 Summer 2022 Systems Analysis 2m short answer Q6b_i

Describe one piece of documentation that should be produced during the analysis stage of software development.

Unit 3 Summer 2022 Systems Analysis 2m short answer Q6b_ii

Describe one piece of documentation that should be used during the maintenance stage of software development.

Unit 3 Summer 2022 Principles of Programming 6m written Q7

Every book contains a unique 13-digit International Standard Book Number (ISBN). An ISBN comprises five parts: a GS1 assigned prefix, registration group, publisher, title and a check digit. Each individual part is separated with a space or hyphen.

  • The GS1 assigned prefix must be 978 or 979.
  • The registration group must be a number between 01 and 99.
  • The publisher must be a number between 00001 and 99999.
  • The title must be a number between 01 and 99.
  • The check digit must be a single digit.
  • A separator of each part which can be either a space (‘ ‘) or hyphen (‘-‘). Example: 978-11-08412-72-8

Produce a Backus-Naur Form (BNF) definition for a 13-digit ISBN.

Unit 3 Summer 2022 Principles of Programming 3m short answer Q8a

Functional programming and logic programming are both declarative programming paradigms. Explain these two paradigms, giving an example language in each case:

Functional programming

Unit 3 Summer 2022 Principles of Programming 3m short answer Q8b

Functional programming and logic programming are both declarative programming paradigms. Explain these two paradigms, giving an example language in each case:

Logic programming

Unit 3 Summer 2022 Principles of Programming 2m short answer Q9a

All computer languages should follow the same standards.

Explain the need for standardisation of computer languages.

Unit 3 Summer 2022 Principles of Programming 2m short answer Q9b

Describe two potential difficulties involved in agreeing these standards.

Unit 3 Summer 2022 Logical Operations 4m truth table Q10

Draw a truth table to prove the following:

B AND NOT (A NOR B) = B
A B A NOR B NOT (A NOR B) B AND NOT (A NOR B)
0 0
0 1
1 0
1 1
Unit 3 Summer 2022 Algorithms and Programs 5m short answer Q11a

This algorithm duplicates a three-dimensional array of length n. You can assume the array (myArray) has already been populated with data.

 1  declare i,j,k,n as integer
 2  declare myArray[n,n,n]
 3  declare myArrayCopy[n,n,n]
 4
 5  set i = 0
 6  set j = 0
 7  set k = 0
 8
 9  for i = 0 to n - 1
10
11      for j = 0 to n - 1
12
13          for k = 0 to n - 1
14
15              set myArrayCopy[i,j,k] = myArray[i,j,k]
16
17          next k
18
19      next j
20
21  next i

Evaluate the efficiency of the algorithm and using Big O notation, determine the growth rate for time performance.

Unit 3 Summer 2022 Algorithms and Programs 2m short answer Q11b

This algorithm duplicates a three-dimensional array of length n. You can assume the array (myArray) has already been populated with data.

 1  declare i,j,k,n as integer
 2  declare myArray[n,n,n]
 3  declare myArrayCopy[n,n,n]
 4
 5  set i = 0
 6  set j = 0
 7  set k = 0
 8
 9  for i = 0 to n - 1
10
11      for j = 0 to n - 1
12
13          for k = 0 to n - 1
14
15              set myArrayCopy[i,j,k] = myArray[i,j,k]
16
17          next k
18
19      next j
20
21  next i

Determine the growth rate of memory space during a single run of the algorithm.

Unit 3 Summer 2022 Algorithms and Programs 2m short answer Q11c

This algorithm duplicates a three-dimensional array of length n. You can assume the array (myArray) has already been populated with data.

 1  declare i,j,k,n as integer
 2  declare myArray[n,n,n]
 3  declare myArrayCopy[n,n,n]
 4
 5  set i = 0
 6  set j = 0
 7  set k = 0
 8
 9  for i = 0 to n - 1
10
11      for j = 0 to n - 1
12
13          for k = 0 to n - 1
14
15              set myArrayCopy[i,j,k] = myArray[i,j,k]
16
17          next k
18
19      next j
20
21  next i

Identify the type of time complexity and draw a graph of the algorithm to illustrate the order of time performance. Graph paper is not required.

Unit 3 Summer 2022 Systems Analysis 4m short answer Q12

Describe how data may be recovered if lost.

Unit 3 Summer 2022 Economic, Moral, Legal, Ethical and Cultural Issues 12m written Q13

Discuss the importance of codes of conduct in promoting professional behaviour throughout the software development stages. You should draw on your knowledge, skills and understanding from a number of areas across your computer science course when answering this question.

Unit 4 Summer 2022 Organisation and Structure of Data 3m short answer Q1(a)

Describe how files may be organised and managed using a file manager program.

Unit 4 Summer 2022 Organisation and Structure of Data 3m short answer Q1(b)

Files may be organised using a hashing algorithm. Explain the purpose of a hashing algorithm.

Unit 4 Summer 2022 The Operating System 1m short answer Q2(a)

Identify a situation in which a high-priority interrupt may be generated.

Unit 4 Summer 2022 The Operating System 3m short answer Q2(b)

Describe the procedure for dealing with an interrupt with a higher priority than the interrupt that is currently being processed.

Unit 4 Summer 2022 Hardware and Communication 6m written Q3

An assembly language program is required to check a four digit numeric code against a code stored in location Y.

If the code is entered correctly then the program should output 1. If the code entered is incorrect the program should output 2 and should allow the user to re-enter a code.

The assembly language used by the processor has an instruction set which includes the following commands:

Assembly Language Command Description
INP Input numeric value to the accumulator
OUT X Output a numeric value X
STA X Copy contents of accumulator to memory location X
LDA X Load accumulator with contents of memory location X
HLT End
SUB Y Subtract the numeric value in location Y from the accumulator, leaving the result in the accumulator
JZE LABEL Jump to LABEL if the contents of the accumulator are equal to zero
JMP LABEL Jump unconditionally to LABEL

Using the instruction set, write a program to check the code entered.

Unit 4 Summer 2022 The Need for Different Types of Software Systems 8m written Q4

The Internet enables the use of many communication applications. Describe the distinguishing characteristics of these communication applications: • Podcast • Blog • Instant messaging • Webcast

Unit 4 Summer 2022 Data Representation and Data Types 3m short answer Q5(a)

A certain computer uses a 16 bit floating point representation: Mantissa: 8 bits in two’s complement form. The binary point in the mantissa is immediately after the leftmost bit. Exponent: 8 bits in two’s complement form.

Convert the number 7.1875 (base 10) into this floating point representation.

Unit 4 Summer 2022 Data Representation and Data Types 2m short answer Q5(b)

Determine the most accurate representation possible for 19.3 (base 10) using this floating point representation.

Unit 4 Summer 2022 Data Representation and Data Types 4m short answer Q5(c)

Calculate the absolute and relative errors in denary for this floating point representation of 19.3 (base 10).

Unit 4 Summer 2022 Data Representation and Data Types 3m short answer Q5(d)

Describe the relationship between the size of the mantissa and exponent in the representation of a floating point number.

Unit 4 Summer 2022 Data Transmission 2m short answer Q6(a)

In a certain computer network the protocol used to determine lowest cost routes is based on transfer rates and delays. Transfer rates are based on bandwidth of network links. Delays represent the overhead arising from the time taken for a router to process, queue and transmit a data packet. The total route cost is calculated as the cost of each link multiplied by the total of the delay factors of each intermediate router visited. The delay at each intermediate router = 1.2.

Calculate the lowest cost route from router A to router F.

Unit 4 Summer 2022 Data Transmission 2m short answer Q6(b)(i)

A new link of bandwidth cost = 14 is to be added from B to F. Re-calculate the lowest cost route from router A to router F.

Unit 4 Summer 2022 Data Transmission 2m short answer Q6(b)(ii)

The link from router C to router D is then upgraded to a network cost of 5. Describe the effect the upgrade will have on overall network costs.

Unit 4 Summer 2022 Data Security and Integrity Processes 2m short answer Q7(a)

Phishing is the most common cyber-attack vector. Explain what is meant by the term ‘cyber-attack vector’.

Unit 4 Summer 2022 Data Security and Integrity Processes 4m short answer Q7(b)

Describe two other cyber-attack vectors.

Unit 4 Summer 2022 Data Security and Integrity Processes 1m short answer Q8(a)

State what is meant by the term penetration testing.

Unit 4 Summer 2022 Data Security and Integrity Processes 6m written Q8(b)

Describe three penetration testing strategies.

Unit 4 Summer 2022 Databases and Distributed Systems 4m short answer Q9(a)

A community craft group that sells jewellery to the general public is creating a database to manage its sales. This is a design for a database table it intends to use: Customer (customerID, surname, orderDate, itemNo, orderQuantity)

Write an SQL command that will create this table using appropriate data types and sizes.

Unit 4 Summer 2022 Databases and Distributed Systems 2m short answer Q9(b)

A community craft group that sells jewellery to the general public is creating a database to manage its sales.

This is a design for a database table it intends to use:

Customer (customerID, surname, orderDate, itemNo, orderQuantity)

The Customer table is then populated with the following data:

customerID surname orderDate itemNo orderQuantity
C00001 Heald 01/06/2021 CT00016 3
C00002 Munden 03/06/2021 CT00017 6
C00001 Heald 08/06/2021 CT00014 4

An Item table has already been created in the database and contains this data:

itemNo stockLevel itemName price
CT00011 7 Bracelet 101
CT00014 11 Necklace 123
CT00016 4 Ring 81
CT00017 12 Necklace 80

Write an SQL command to add this record to the Item table.

itemNo stockLevel itemName price
CT00111 13 Earrings 97
Unit 4 Summer 2022 Databases and Distributed Systems 1m short answer Q9(c)

A community craft group that sells jewellery to the general public is creating a database to manage its sales.

This is a design for a database table it intends to use:

Customer (customerID, surname, orderDate, itemNo, orderQuantity)

The Customer table is then populated with the following data:

customerID surname orderDate itemNo orderQuantity
C00001 Heald 01/06/2021 CT00016 3
C00002 Munden 03/06/2021 CT00017 6
C00001 Heald 08/06/2021 CT00014 4

An Item table has already been created in the database and contains this data:

itemNo stockLevel itemName price
CT00011 7 Bracelet 101
CT00014 11 Necklace 123
CT00016 4 Ring 81
CT00017 12 Necklace 80

Write an SQL command to change the price of itemNo CT00016 to 93.

Unit 4 Summer 2022 Databases and Distributed Systems 2m short answer Q10(a)

Describe what is meant by the term relational database.

Unit 4 Summer 2022 Databases and Distributed Systems 4m short answer Q10(b)

Describe the advantages of database normalisation.

Unit 4 Summer 2022 Databases and Distributed Systems 3m short answer Q10(c)

A health care company is creating a relational database to manage its dental surgeries located in different towns across Wales. Each dental surgery employs dentists who will only work in that surgery. Patients will be registered with one of the dentists and will only be treated by that dentist. Patients will book appointments to see their dentist.

Produce an entity relationship diagram for the system described.

Unit 4 Summer 2022 Databases and Distributed Systems 3m short answer Q10(d)

Design a database structure in third normal form for the system.

Unit 4 Summer 2022 Hardware and Communication 4m short answer Q11(a)

The increase in speed due to parallel processing can be calculated as: 1 / (S + P/N) where P = parallel fraction, N = number of processors and S = serial fraction (S = 1 - P).

Calculate the increase in speed due to parallel processing using 10 processors and the increase in speed of doing the same task using 1000 processors, where the parallel fraction P is equal to: • 0.5 for 10 and 1000 processors • 0.9 for 10 and 1000 processors

Unit 4 Summer 2022 Hardware and Communication 3m short answer Q11(b)

Discuss the effect that increasing the parallel fraction of the task will have on the speed due to parallel processing.

Unit 4 Summer 2022 Databases and Distributed Systems 4m short answer Q12

Describe the advantages of using a distributed database.

Unit 4 Summer 2022 Data Security and Integrity Processes 6m written Q13

Cryptography may be based on symmetric or asymmetric algorithms. Describe the advantages of using asymmetric encryption.

Unit 4 Summer 2022 Data Security and Integrity Processes 9m written Q14

A local hospital needs to ensure that access to its medical laboratories is restricted to authorised personnel. It is considering using biometric technologies to identify and restrict access to authorised personnel only.

Describe the biometric options available to the hospital and explain the main benefits and drawbacks of biometric security technologies.

Unit 3 Summer 2019 Data Structures 4m short answer Q1(a)

Explain the differences between stack and queue data structures.

Unit 3 Summer 2019 Data Structures 2m short answer Q1(b)(i)

This is a diagram of a linked list in alphabetical order.

flowchart LR
    A["A"] --> C["C"] --> G["G"] --> L["L"] --> N["Ø"]

Redraw the linked list after the data item ‘E’ has been added.

Unit 3 Summer 2019 Data Structures 2m short answer Q1(b)(ii)

This is a diagram of a linked list in alphabetical order.

flowchart LR
    A["A"] --> C["C"] --> G["G"] --> L["L"] --> N["Ø"]

After ‘E’ has been added, redraw the amended linked list after the data item ‘C’ has been deleted.

Unit 3 Summer 2019 Logical Operations 5m short answer Q2(a)

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate.

A.A + A.B + A.B̄ + B.B

Unit 3 Summer 2019 Logical Operations 5m short answer Q2(b)

Clearly showing each step, simplify the following Boolean expression using Boolean algebra, identities and De Morgan’s Law where appropriate.

(A.B)̄ + A.C + B

Unit 3 Summer 2019 Logical Operations 3m short answer Q3

This is an eight-bit number: 01101001₂ Include this number in a worked example to demonstrate how masking can be used to determine the state of the most significant bit.

Unit 3 Summer 2019 System Design 2m short answer Q4(a)

Describe the term natural language interface.

Unit 3 Summer 2019 System Design 2m short answer Q4(b)

Using an example, describe a potential use for natural language interfaces.

Unit 3 Summer 2019 System Design 3m short answer Q4(c)

Describe the potential problems that can be associated with natural language interfaces.

Unit 3 Summer 2019 Algorithms and Programs 2m short answer Q5(a)

Below is an algorithm.

Declare subprocedure myAlgorithm(myArray is integer, indexLow is integer, indexHi is integer)

Declare pivot is integer
Declare tmpSwap is integer
Declare tmpLow is integer
Declare tmpHi is integer

set tmpLow = indexLow
set tmpHi = indexHi

set pivot = myArray[(int((indexLow + indexHi)/2))]

while (tmpLow <= tmpHi)

    while (myArray[tmpLow] < pivot and tmpLow < indexHi)
        set tmpLow = tmpLow + 1
    end while

    while (pivot < myArray[tmpHi] and tmpHi > indexLow)
        set tmpHi = tmpHi - 1
    end while

    if (tmpLow <= tmpHi) then
        set tmpSwap = myArray[tmpLow]
        set myArray[tmpLow] = myArray[tmpHi]
        set myArray[tmpHi] = tmpSwap
        set tmpLow = tmpLow + 1
        set tmpHi = tmpHi - 1
    end if
end while

if (indexLow < tmpHi) then myAlgorithm(myArray, indexLow, tmpHi)
if (tmpLow < indexHi) then myAlgorithm(myArray, tmpLow, indexHi)

Describe the purpose of this algorithm.

Unit 3 Summer 2019 Algorithms and Programs 3m short answer Q5(b)

Below is an algorithm.

Declare subprocedure myAlgorithm(myArray is integer, indexLow is integer, indexHi is integer)

Declare pivot is integer
Declare tmpSwap is integer
Declare tmpLow is integer
Declare tmpHi is integer

set tmpLow = indexLow
set tmpHi = indexHi

set pivot = myArray[(int((indexLow + indexHi)/2))]

while (tmpLow <= tmpHi)

    while (myArray[tmpLow] < pivot and tmpLow < indexHi)
        set tmpLow = tmpLow + 1
    end while

    while (pivot < myArray[tmpHi] and tmpHi > indexLow)
        set tmpHi = tmpHi - 1
    end while

    if (tmpLow <= tmpHi) then
        set tmpSwap = myArray[tmpLow]
        set myArray[tmpLow] = myArray[tmpHi]
        set myArray[tmpHi] = tmpSwap
        set tmpLow = tmpLow + 1
        set tmpHi = tmpHi - 1
    end if
end while

if (indexLow < tmpHi) then myAlgorithm(myArray, indexLow, tmpHi)
if (tmpLow < indexHi) then myAlgorithm(myArray, tmpLow, indexHi)

Describe the characteristics of this type of algorithm.

Unit 3 Summer 2019 Algorithms and Programs 3m short answer Q5(c)

Below is an algorithm.

Declare subprocedure myAlgorithm(myArray is integer, indexLow is integer, indexHi is integer)

Declare pivot is integer
Declare tmpSwap is integer
Declare tmpLow is integer
Declare tmpHi is integer

set tmpLow = indexLow
set tmpHi = indexHi

set pivot = myArray[(int((indexLow + indexHi)/2))]

while (tmpLow <= tmpHi)

    while (myArray[tmpLow] < pivot and tmpLow < indexHi)
        set tmpLow = tmpLow + 1
    end while

    while (pivot < myArray[tmpHi] and tmpHi > indexLow)
        set tmpHi = tmpHi - 1
    end while

    if (tmpLow <= tmpHi) then
        set tmpSwap = myArray[tmpLow]
        set myArray[tmpLow] = myArray[tmpHi]
        set myArray[tmpHi] = tmpSwap
        set tmpLow = tmpLow + 1
        set tmpHi = tmpHi - 1
    end if
end while

if (indexLow < tmpHi) then myAlgorithm(myArray, indexLow, tmpHi)
if (tmpLow < indexHi) then myAlgorithm(myArray, tmpLow, indexHi)

Describe the advantages arising from the elegance of this algorithm.

Unit 3 Summer 2019 Algorithms and Programs 4m short answer Q6(a)

Explain the purpose of a shortest path algorithm.

Unit 3 Summer 2019 Algorithms and Programs 2m short answer Q6(b)(i)

This is a diagram of the costs of traversing a network.

flowchart LR
    A((A)) -- 3 --> B((B))
    A -- 4 --> C((C))
    B -- 12 --> D((D))
    C -- 10 --> D
    D -- 6 --> E((E))

The traversal cost for each node is 2.

Show how this network and its traversal costs can be represented using a two dimensional array.

Unit 3 Summer 2019 Algorithms and Programs 2m short answer Q6(b)(ii)

This is a diagram of the costs of traversing a network.

flowchart LR
    A((A)) -- 3 --> B((B))
    A -- 4 --> C((C))
    B -- 12 --> D((D))
    C -- 10 --> D
    D -- 6 --> E((E))

The traversal cost for each node is 2.

State the shortest path from node A to E and calculate its cost.

Unit 3 Summer 2019 Principles of Programming 2m short answer Q7(a)

Explain what is meant by the term programming paradigm.

Unit 3 Summer 2019 Principles of Programming 4m short answer Q7(b)

Describe the difference between procedural and event-driven programming paradigms.

Unit 3 Summer 2019 Principles of Programming 4m short answer Q7(c)

Using examples, describe which programming paradigms would be most suitable when developing different types of software applications.

Unit 3 Summer 2019 Logical Operations 4m truth table Q8

Draw a truth table to prove the following:

A NOR B = NOT A AND NOT B
A B A NOR B NOT A AND NOT B
0 0
0 1
1 0
1 1
Unit 3 Summer 2019 Algorithms and Programs 5m short answer Q9(a)

Below are two algorithms that search for a data item in a one dimensional array. You can assume that the data in the array is in ascending order and that the data item being searched is present. The Search_A algorithm has a time performance of O(n).

Algorithm Search_A

declare searchKey, i as integer
declare flag as Boolean
declare myArray[] as integer[]
Input searchKey
Set i = 0
flag = FALSE

repeat
    if myArray[i] = searchKey then
        set flag = TRUE
    end if
    set i = i + 1
until (flag = TRUE)
output myArray[i]
Algorithm Search_B

declare searchKey, first, last, m as integer
declare myArray[] as integer[]
Input searchKey
Set first = 1
Set last = len(myArray[])

repeat
    set m = (first + last) DIV 2
    if searchKey < myArray[m] then
        set last = m - 1
    else
        set first = m + 1
    end if
until (myArray[m] = searchKey)
output myArray[m]

Evaluate the efficiency of the Search_B algorithm and using Big O notation, determine the growth rate for time performance.

Unit 3 Summer 2019 Algorithms and Programs 4m short answer Q9(b)

Below are two algorithms that search for a data item in a one dimensional array. You can assume that the data in the array is in ascending order and that the data item being searched is present. The Search_A algorithm has a time performance of O(n).

Algorithm Search_A

declare searchKey, i as integer
declare flag as Boolean
declare myArray[] as integer[]
Input searchKey
Set i = 0
flag = FALSE

repeat
    if myArray[i] = searchKey then
        set flag = TRUE
    end if
    set i = i + 1
until (flag = TRUE)
output myArray[i]
Algorithm Search_B

declare searchKey, first, last, m as integer
declare myArray[] as integer[]
Input searchKey
Set first = 1
Set last = len(myArray[])

repeat
    set m = (first + last) DIV 2
    if searchKey < myArray[m] then
        set last = m - 1
    else
        set first = m + 1
    end if
until (myArray[m] = searchKey)
output myArray[m]

Draw a graph of the algorithms above to illustrate their order of time performance. Graph paper is not required.

Unit 3 Summer 2019 Algorithms and Programs 1m short answer Q9(c)

State which algorithm is more efficient when searching for a data item.

Unit 3 Summer 2019 Algorithms and Programs 6m written Q10

Describe the term data compression and explain how data compression algorithms are used.

Unit 3 Summer 2019 Principles of Programming 4m short answer Q11(a)

Describe what is meant by a class and an object, and describe the relationship between them.

Unit 3 Summer 2019 Principles of Programming 2m short answer Q11(b)

Describe what is meant by the term method, and describe the relationship between object and method.

Unit 3 Summer 2019 Algorithms and Programs 7m written Q12

The algorithm in the flowchart is intended to sort an array in descending order. However, the algorithm contains several errors. Write a corrected version of the algorithm in pseudo-code.

flowchart TD
    S([Start]) --> DEC["Declare myArray[]<br>int i = 1"]
    DEC --> W1{"while i#60;=len (myArray[])"}
    W1 -- True --> JI["int j = 1"]
    W1 -- False --> EN([End])
    JI --> W2{"while i#60;= len(myArray[] -1)"}
    W2 -- True --> CMP{"myArray[j] #62; myArray [j+1]"}
    W2 -- False --> IDEC["i = i -1"]
    CMP -- True --> SWAP["temp = myArray[j]<br>myArray[j] =myArray[j+1]<br>temp = myArray [j+1]"]
    CMP -- False --> JINC["j = j + 1"]
    SWAP --> JINC
    JINC --> W2
    IDEC --> W1
Unit 3 Summer 2019 Program Construction 13m written Q13

Describe the purpose, and give examples of, the use of compilers, interpreters and assemblers and distinguish between them.

Unit 4 Summer 2019 The Operating System 2m short answer Q1(a)(i)

Define the term buffering in a computer system.

Unit 4 Summer 2019 The Operating System 2m short answer Q1(a)(ii)

Explain why buffering may be required.

Unit 4 Summer 2019 The Operating System 2m short answer Q1(a)(iii)

Discuss the benefits of double buffering over single buffering.

Unit 4 Summer 2019 The Operating System 2m short answer Q1(b)(i)

Explain what is meant by the term interrupt in a computer system.

Unit 4 Summer 2019 The Operating System 4m short answer Q1(b)(ii)

Describe two instances where an interrupt would be generated, and the resulting action which would be taken by the computer.

Unit 4 Summer 2019 Databases and Distributed Systems 3m short answer Q2(a)

A plumber when undertaking a job will record the job number and description. She also records the items used for the job. Each item used can be found in a stock list (that includes stock codes and unit prices). A job may take more than one day, and the date and number of hours worked on each of the days are recorded in a work session table.

Produce an entity-relationship diagram for the record system described above.

Unit 4 Summer 2019 Databases and Distributed Systems 6m written Q2(b)

Design a database in third normal form to store the information required for the record system.

Unit 4 Summer 2019 Databases and Distributed Systems 1m short answer Q3(a)

A university runs a variety of degree courses. Each course consists of a number of modules, with each module studied for one year of the course. Students study several modules at the same time.

Two tables in the database, with example records, are shown below:

COURSE

CourseID CourseTitle Degree YearsDuration
386 Environmental Science BSc 3
427 Mechanical Engineering MSc 4
781 Modern Languages BA 3
925 Modern Languages MA 1

MODULE

ModuleID CourseID ModuleTitle YearStudied StudentsEnrolled
1022 386 Freshwater Biology 2 42
2782 781 Russian, level 1 1 19
2988 781 Portuguese, level 2 2 27
3519 427 Hydraulic Systems 3 38

Write an SQL command to output the CourseTitle and Degree only, for all of the courses.

Unit 4 Summer 2019 Databases and Distributed Systems 1m short answer Q3(b)

A university runs a variety of degree courses. Each course consists of a number of modules, with each module studied for one year of the course. Students study several modules at the same time.

Two tables in the database, with example records, are shown below:

COURSE

CourseID CourseTitle Degree YearsDuration
386 Environmental Science BSc 3
427 Mechanical Engineering MSc 4
781 Modern Languages BA 3
925 Modern Languages MA 1

MODULE

ModuleID CourseID ModuleTitle YearStudied StudentsEnrolled
1022 386 Freshwater Biology 2 42
2782 781 Russian, level 1 1 19
2988 781 Portuguese, level 2 2 27
3519 427 Hydraulic Systems 3 38

Write an SQL command to output the ModuleTitle for all modules available on the degree course with CourseID 427.

Unit 4 Summer 2019 Databases and Distributed Systems 1m short answer Q3(c)

A university runs a variety of degree courses. Each course consists of a number of modules, with each module studied for one year of the course. Students study several modules at the same time.

Two tables in the database, with example records, are shown below:

COURSE

CourseID CourseTitle Degree YearsDuration
386 Environmental Science BSc 3
427 Mechanical Engineering MSc 4
781 Modern Languages BA 3
925 Modern Languages MA 1

MODULE

ModuleID CourseID ModuleTitle YearStudied StudentsEnrolled
1022 386 Freshwater Biology 2 42
2782 781 Russian, level 1 1 19
2988 781 Portuguese, level 2 2 27
3519 427 Hydraulic Systems 3 38

Write an SQL command to change the year in which the module Freshwater Biology is studied. This module is now to be studied in year 3.

Unit 4 Summer 2019 Databases and Distributed Systems 2m short answer Q3(d)

A university runs a variety of degree courses. Each course consists of a number of modules, with each module studied for one year of the course. Students study several modules at the same time.

Two tables in the database, with example records, are shown below:

COURSE

CourseID CourseTitle Degree YearsDuration
386 Environmental Science BSc 3
427 Mechanical Engineering MSc 4
781 Modern Languages BA 3
925 Modern Languages MA 1

MODULE

ModuleID CourseID ModuleTitle YearStudied StudentsEnrolled
1022 386 Freshwater Biology 2 42
2782 781 Russian, level 1 1 19
2988 781 Portuguese, level 2 2 27
3519 427 Hydraulic Systems 3 38

Write an SQL command to output the ModuleTitle and YearStudied for all modules available on the Modern Languages course for the BA Degree.

Unit 4 Summer 2019 Databases and Distributed Systems 2m short answer Q3(e)

A university runs a variety of degree courses. Each course consists of a number of modules, with each module studied for one year of the course. Students study several modules at the same time.

Two tables in the database, with example records, are shown below:

COURSE

CourseID CourseTitle Degree YearsDuration
386 Environmental Science BSc 3
427 Mechanical Engineering MSc 4
781 Modern Languages BA 3
925 Modern Languages MA 1

MODULE

ModuleID CourseID ModuleTitle YearStudied StudentsEnrolled
1022 386 Freshwater Biology 2 42
2782 781 Russian, level 1 1 19
2988 781 Portuguese, level 2 2 27
3519 427 Hydraulic Systems 3 38

Write an SQL command to list the ModuleTitle and StudentsEnrolled for all modules which have less than 20 students or more than 40 students enrolled.

Unit 4 Summer 2019 Data Representation and Data Types 3m short answer Q4(a)

In a certain computer real numbers are stored in floating point form using 16 bits: Mantissa (10 bits in two’s complement form, binary point immediately after the most significant bit) and Exponent (6 bits in two’s complement form).

Convert the number 5.75 (base 10) into this floating point form. Your final answer should be normalised.

Unit 4 Summer 2019 Data Representation and Data Types 3m short answer Q4(b)(i)

Two different numbers 5.75 and 25.5 are to be multiplied. Three different methods are considered. Method 1: Round both numbers to integers, then multiply. Method 2: Multiply the decimal numbers, then round the final result to an integer. Method 3: Multiply the decimal numbers, then truncate the final result to an integer.

Calculate the absolute errors which would occur with each of these methods in comparison to the full accuracy of the decimal calculation.

Unit 4 Summer 2019 Data Representation and Data Types 3m short answer Q4(b)(ii)

Discuss the relative accuracies of each of the three methods above.

Unit 4 Summer 2019 Data Representation and Data Types 2m short answer Q4(c)

Integers are stored in a different computer system in 16 bits using two’s complementation. Demonstrate, showing your working, how the computer would store the value -152 (base 10).

Unit 4 Summer 2019 Hardware and Communication 6m written Q5

In a certain computer the following assembly language commands are available, where R, S, T and U are the processor registers.

Assembly Language Command Description
LOD R, X Load register R with the numerical value X
ADD R, S Add the contents of register R to register S, leaving the result in register R
INC R Add 1 to the contents of register R
DEC R Subtract 1 from the contents of register R
JMP LABEL Jump unconditionally to LABEL
JNG R, LABEL Jump to LABEL if the contents of register R are less than zero
IN R Input a numerical value and store in register R
OUT R Output the contents of register R

Write a program to input a number of daily rainfall readings (in mm) for a weather station, ending with a rogue value of −1. The program should then output the total rainfall and the number of readings.

Example: input values 0 16 8 0 2 −1 → output 26

Unit 4 Summer 2019 Organisation and Structure of Data 5m short answer Q6(a)

A three-level indexed sequential file system stores customer records with key field values in the range 0000 to 9999. Only a few of the possible key field values have currently been allocated to customers.

Explain how new customer records 3892 and 3893 are to be added to the system, mentioning the creation and linking of any necessary index or data blocks.

Unit 4 Summer 2019 Organisation and Structure of Data 3m short answer Q6(b)

Explain how the computer would access record 3893 at a later date.

Unit 4 Summer 2019 Organisation and Structure of Data 2m short answer Q7(a)

A sequential list of English language words can be stored either in fixed length or variable length records. Six thousand (6000) words are to be stored. The maximum length of any word is 22 letters, with an average word length of 7 letters.

Estimate the size of the file required to store the words in fixed length format.

Unit 4 Summer 2019 Organisation and Structure of Data 2m short answer Q7(b)

Estimate the size of the file required to store the words in variable length format. Variable length records have a format where each word is terminated with an @ character (which requires one byte of storage).

Unit 4 Summer 2019 Databases and Distributed Systems 8m written Q8

Define the term data mining and describe how three different organisations might use data mining.

Unit 4 Summer 2019 Databases and Distributed Systems 4m short answer Q9

Describe four data validation techniques.

Unit 4 Summer 2019 Data Security and Integrity Processes 6m written Q10(a)

Describe the types of malicious software which might be transferred to computers and the delivery mechanisms, and the steps that can be taken to protect against these.

Unit 4 Summer 2019 Data Security and Integrity Processes 4m short answer Q10(b)

Computer data may be at its highest security risk during transfer from one location to another. Outline the risks that exist at this time, and how they can be minimised.

Unit 4 Summer 2019 The Need for Different Types of Software Systems 3m short answer Q11(a)

A city is developing a new light railway system to use driverless trains, with several computer centres controlling different areas of the network.

Give examples of input and output which might be required by control systems on board the trains.

Unit 4 Summer 2019 The Need for Different Types of Software Systems 5m short answer Q11(b)

The system will be safety critical. Explain what is meant by a safety critical system, describing measures that are involved in ensuring safety.

Unit 4 Summer 2019 The Operating System 7m written Q12

Describe the operation of a mainframe computer using a multi-programming, multi-user operating system.

Unit 4 Summer 2019 Databases and Distributed Systems 6m written Q13

Explain what is meant by distributed processing, and describe how this will operate using an example that you have studied.

Unit 3 Summer 2018 Data Structures 2m short answer Q1(a)

A binary tree structure is designed to contain strings and uses the following rules: • The left pointer indicates the condition ‘earlier or at the same position in the alphabet’ • The right pointer indicates the condition ‘later in the alphabet’

Construct a binary tree using these rules and the data entered in the following order: Goat, Duck, Fox, Bear, Ant, Cat, Leopard, Owl, Mayfly, Insect, Jaguar, Emu.

Unit 3 Summer 2018 Data Structures 2m short answer Q1(b)

Carry out a pre-order traversal of the tree and give one use of pre-order traversals.

Unit 3 Summer 2018 Data Structures 2m short answer Q1(c)

Carry out an in-order traversal of the tree and give one use of in-order traversals.

Unit 3 Summer 2018 Data Structures 2m short answer Q1(d)

Carry out a post-order traversal of the tree and give one use of post-order traversals.

Unit 3 Summer 2018 System Design 2m short answer Q2(a)

The evaluation of a computer based solution should consider system functionality and system performance.

Identify a criterion for the evaluation of the functionality of a system and a criterion for the evaluation of the performance of a system.

Unit 3 Summer 2018 System Design 6m written Q2(b)

Developments in human-computer interaction include natural, immersive and experiential interfaces.

Describe, giving examples, the main characteristics of natural and immersive human computer interfaces.

Unit 3 Summer 2018 Logical Operations 3m truth table Q3

Use a truth table to prove De Morgan’s Law:

(A + B)̅ = Ā . B̄
A B A + B (A + B)̅ Ā B̄ Ā . B̄
0 0
0 1
1 0
1 1
Unit 3 Summer 2018 Logical Operations 3m short answer Q4(a)

Simplify the following using De Morgan’s Laws and Boolean identities. Identify which law or identity you are using:

(A.B)̅ + A

Unit 3 Summer 2018 Logical Operations 5m short answer Q4(b)

Simplify the following expression using Boolean identities and rules:

A.B.(B̄ + C) + B.C + B

Unit 3 Summer 2018 Software Engineering 4m short answer Q5(a)

A code editor is an essential software engineering tool of an integrated development environment (IDE). It provides features designed to assist with the writing and editing of code.

Describe two features of a code editor designed to assist with the writing and editing of code.

Unit 3 Summer 2018 Program Construction 1m short answer Q5(b)

State the purpose of code translation.

Unit 3 Summer 2018 Program Construction 4m short answer Q5(c)

Describe, giving examples, an error that will prevent program translation and an error that will not be discovered during translation.

Unit 3 Summer 2018 Algorithms and Programs 2m short answer Q6(a)

An algorithm is shown below.

1  decNumber is integer
2  bin is integer
3  answer is string
4
5  while decNumber <> 0
6      if decNumber MOD 2 = 0 then
7          bin = 0
8      else
9          bin = 1
10     end if
11     answer = char(bin) + answer
12     decNumber = decNumber DIV 2
13 end while
14
15 output answer
16
17 end subroutine

Dry run the algorithm using the trace table below.

decNumber decNumber MOD 2 bin answer
137      
       
       
       
       
       
       
       
Unit 3 Summer 2018 Algorithms and Programs 1m short answer Q6(b)

An algorithm is shown below.

1  decNumber is integer
2  bin is integer
3  answer is string
4
5  while decNumber <> 0
6      if decNumber MOD 2 = 0 then
7          bin = 0
8      else
9          bin = 1
10     end if
11     answer = char(bin) + answer
12     decNumber = decNumber DIV 2
13 end while
14
15 output answer
16
17 end subroutine

State the purpose of the algorithm.

Unit 3 Summer 2018 Algorithms and Programs 3m short answer Q6(c)

An algorithm is shown below.

1  decNumber is integer
2  bin is integer
3  answer is string
4
5  while decNumber <> 0
6      if decNumber MOD 2 = 0 then
7          bin = 0
8      else
9          bin = 1
10     end if
11     answer = char(bin) + answer
12     decNumber = decNumber DIV 2
13 end while
14
15 output answer
16
17 end subroutine

Explain the selection of data types for “bin” and “answer” in the algorithm.

Unit 3 Summer 2018 Economic, Moral, Legal, Ethical and Cultural Issues 2m short answer Q7(a)

An Institute for ICT technicians in schools and colleges operates a code of conduct.

Describe the purpose of the code of conduct.

Unit 3 Summer 2018 Economic, Moral, Legal, Ethical and Cultural Issues 2m short answer Q7(b)

Identify two standards that should be included in the code for professional competence.

Unit 3 Summer 2018 Economic, Moral, Legal, Ethical and Cultural Issues 2m short answer Q7(c)

Identify two standards that should be included in the code for professional integrity.

Unit 3 Summer 2018 Data Structures 3m short answer Q8(a)

An online retailer uses a hash table to store details of stock items. Each stock item has a key value.

Explain the operation of a hash table and why the time taken to perform search and insertion operations is not affected by the number of stock items stored.

Unit 3 Summer 2018 Principles of Programming 8m written Q8(b)

The retailer needs to store customers’ delivery details, including their postal address. In this system a postal address is made up of the street, town and postcode. • Street can be a house number or name followed by the name of the street. • All towns begin with an uppercase letter followed by lowercase letters. • All letters in a postcode will be uppercase. • Postcodes can include two or three digits.

Produce an appropriate Backus-Naur Form (BNF) definition for this postal address.

Unit 3 Summer 2018 Algorithms and Programs 2m short answer Q9(a)

Describe iteration.

Unit 3 Summer 2018 Algorithms and Programs 2m short answer Q9(b)

Describe recursion.

Unit 3 Summer 2018 Algorithms and Programs 4m short answer Q9(c)

Describe two advantages of using an iterative function compared with a recursive function to solve a given problem.

Unit 3 Summer 2018 Algorithms and Programs 2m short answer Q10(a)

Describe the purpose of data validation.

Unit 3 Summer 2018 Algorithms and Programs 11m written Q10(b)

Write an algorithm to validate a date in dd/mm/yyyy format.

Unit 3 Summer 2018 Principles of Programming 4m short answer Q11(a)

Describe what is meant by Object-Oriented Programming (OOP).

Unit 3 Summer 2018 Principles of Programming 3m short answer Q11(b)

Explain the relationship between classes and instances.

Unit 3 Summer 2018 Principles of Programming 3m short answer Q11(c)

Explain what is meant by a method.

Unit 3 Summer 2018 Principles of Programming 10m written Q12

Explain the need for standardisation of computer languages and discuss the advantages arising from the use of algorithms and programming languages that have been standardised.

You should draw on your knowledge, skills and understanding from a number of areas across your Computer Science course when answering this question.

Unit 4 Summer 2018 Hardware and Communication 4m short answer Q1(a)

Describe the function of two of the buses involved in the fetch-execute cycle.

Unit 4 Summer 2018 Hardware and Communication 4m short answer Q1(b)

Explain the sequence of operations that will occur during the execute phase of the fetch-execute cycle, making clear the role of the Program Counter, the Memory Address Register and the Memory Data Register.

Unit 4 Summer 2018 Hardware and Communication 6m written Q1(c)

An assembly language application processes the results of a laboratory experiment. A series of positive numbers is entered. A negative rogue value is used to terminate the series. The program then outputs a total and count for the data values entered.

For example: input 6 3 7 9 −1

The assembly language commands available are:

Assembly Language Command Description
LOD R, X Load register R with the numerical value X
MOV R, S Copy the contents of register R to register S
ADD R, S Add the contents of register R to register S, leaving the result in register R
INC R Add 1 to the contents of register R
DEC R Subtract 1 from the contents of register R
JGE R, LABEL Jump to LABEL if the contents of register R are equal to or greater than zero
JLZ R, LABEL Jump to LABEL if the contents of register R are less than zero
JMP LABEL Jump unconditionally to LABEL
IN R Input a numerical value and store in register R
OUT R Output the contents of register R

Using appropriate assembly language commands from the table above, write a program to calculate the total and count of a series of input data values, terminated by a negative rogue value.

Unit 4 Summer 2018 Organisation and Structure of Data 2m short answer Q2(a)(i)

A programmer chooses to use a random access file system with separate overflow area to store records.

Explain what is meant by an overflow area.

Unit 4 Summer 2018 Organisation and Structure of Data 2m short answer Q2(a)(ii)

Another programmer recommends using a progressive overflow strategy where if the memory location calculated for storing a record is already occupied, the record is stored in the next available empty location. If the end of the main file is reached, the search continues from the beginning.

Give one advantage and one disadvantage of using this progressive overflow strategy compared with a separate overflow area.

Unit 4 Summer 2018 Organisation and Structure of Data 1m short answer Q2(b)(i)

The largest number generated by the hashing method is given by NOV3099. Calculate the memory location for this date.

Unit 4 Summer 2018 Organisation and Structure of Data 2m short answer Q2(b)(ii)

Explain why this would be an unsuitable hashing method.

Unit 4 Summer 2018 Organisation and Structure of Data 2m short answer Q2(b)(iii)

Suggest an improved hashing method for storing records with key fields in the same format e.g. OCT0322.

Unit 4 Summer 2018 Data Transmission 2m short answer Q3(a)

The transmission speeds between the nodes of a network have the values shown in the diagram below.

flowchart LR
    A((A)) ---|50 Kbps| B((B))
    B ---|250 Kbps| D((D))
    A ---|200 Kbps| D
    A ---|100 Kbps| C((C))
    D ---|500 Kbps| E((E))
    C ---|50 Kbps| E

A cost for routing data packets between nodes is calculated by dividing 1 Mbps by the transmission speed of the link. For example:

cost for the link A to B = 1 Mbps / 50 Kbps = 1 000 000 / 50 000 = 20

Packets are transmitted between source and destination by the route which has the lowest total cost.

Calculate the costs for each of the remaining 5 links in the network.

Unit 4 Summer 2018 Data Transmission 4m short answer Q3(b)

The transmission speeds between the nodes of a network have the values shown in the diagram below.

flowchart LR
    A((A)) ---|50 Kbps| B((B))
    B ---|250 Kbps| D((D))
    A ---|200 Kbps| D
    A ---|100 Kbps| C((C))
    D ---|500 Kbps| E((E))
    C ---|50 Kbps| E

A cost for routing data packets between nodes is calculated by dividing 1 Mbps by the transmission speed of the link. For example:

cost for the link A to B = 1 Mbps / 50 Kbps = 1 000 000 / 50 000 = 20

Packets are transmitted between source and destination by the route which has the lowest total cost.

Copy and complete the table below to show the routes that would be taken by packets from node A to each of the other nodes B to E.

Destination node Route, listing any intermediate nodes Total cost
B    
C    
D    
E    
Unit 4 Summer 2018 Databases and Distributed Systems 2m short answer Q4(a)(i)

The table below shows a design for storing hotel bookings in a database.

Name Address Date Room
John Smith 27 High Street, Bala 16 April 2018 102
Anita Patel Ty Gwyn, Porthmadog 29 April 2018 216
John Smith 7 Laurel Drive, Bolton 4 May 2018 133, 134
… … … …

This table is not in normal form. Explain why there may be problems when searching or sorting this table.

Unit 4 Summer 2018 Databases and Distributed Systems 2m short answer Q4(a)(ii)

The table below shows a design for storing hotel bookings in a database.

Name Address Date Room
John Smith 27 High Street, Bala 16 April 2018 102
Anita Patel Ty Gwyn, Porthmadog 29 April 2018 216
John Smith 7 Laurel Drive, Bolton 4 May 2018 133, 134
… … … …

Re-design the table so that it is in first normal form.

Unit 4 Summer 2018 Databases and Distributed Systems 3m short answer Q4(b)(i)

A local community group organises volunteer drivers to collect elderly residents and take them on trips. The group has minibuses available which can be allocated for trips on particular dates. Each trip has one driver allocated.

Produce an entity-relationship diagram to show the relational links between drivers, residents, vehicles and trips.

Unit 4 Summer 2018 Databases and Distributed Systems 6m written Q4(b)(ii)

Assume residents individually book seats on trips. Design a database in third normal form for this situation.

Unit 4 Summer 2018 Databases and Distributed Systems 1m short answer Q5(a)

Staff working in a factory can report an IT problem to a help desk where details are recorded in a database. An engineer can then be allocated to resolve the problem.

Two tables in the database are:

PROBLEM

IncidentID Date Location ProblemDescription EngineerID
1866 02-May-18 Room A6 printer not working 228
1867 04-May-18 Workshop 4 hard drive fault 182
1868 12-May-18 Room B22 keyboard faulty 228
1869 14-May-18 Warehouse 3 software fault 304
1870 14-May-18 Office C19 computer overheating 182

ENGINEER

EngineerID Surname Initial PhoneExtension
182 Hughes P 387
228 Sanderson T 459
304 Wong K 239

Write an SQL command to output the IncidentID and ProblemDescription only for all of the problems.

Unit 4 Summer 2018 Databases and Distributed Systems 1m short answer Q5(b)

Staff working in a factory can report an IT problem to a help desk where details are recorded in a database. An engineer can then be allocated to resolve the problem.

Two tables in the database are:

PROBLEM

IncidentID Date Location ProblemDescription EngineerID
1866 02-May-18 Room A6 printer not working 228
1867 04-May-18 Workshop 4 hard drive fault 182
1868 12-May-18 Room B22 keyboard faulty 228
1869 14-May-18 Warehouse 3 software fault 304
1870 14-May-18 Office C19 computer overheating 182

ENGINEER

EngineerID Surname Initial PhoneExtension
182 Hughes P 387
228 Sanderson T 459
304 Wong K 239

Write an SQL command to output the Location for all problems allocated to the engineer with EngineerID 228.

Unit 4 Summer 2018 Databases and Distributed Systems 1m short answer Q5(c)

Staff working in a factory can report an IT problem to a help desk where details are recorded in a database. An engineer can then be allocated to resolve the problem.

Two tables in the database are:

PROBLEM

IncidentID Date Location ProblemDescription EngineerID
1866 02-May-18 Room A6 printer not working 228
1867 04-May-18 Workshop 4 hard drive fault 182
1868 12-May-18 Room B22 keyboard faulty 228
1869 14-May-18 Warehouse 3 software fault 304
1870 14-May-18 Office C19 computer overheating 182

ENGINEER

EngineerID Surname Initial PhoneExtension
182 Hughes P 387
228 Sanderson T 459
304 Wong K 239

Write an SQL command to reallocate the problem with IncidentID 1866. This problem has now been assigned to the engineer with EngineerID 304.

Unit 4 Summer 2018 Databases and Distributed Systems 2m short answer Q5(d)

Staff working in a factory can report an IT problem to a help desk where details are recorded in a database. An engineer can then be allocated to resolve the problem.

Two tables in the database are:

PROBLEM

IncidentID Date Location ProblemDescription EngineerID
1866 02-May-18 Room A6 printer not working 228
1867 04-May-18 Workshop 4 hard drive fault 182
1868 12-May-18 Room B22 keyboard faulty 228
1869 14-May-18 Warehouse 3 software fault 304
1870 14-May-18 Office C19 computer overheating 182

ENGINEER

EngineerID Surname Initial PhoneExtension
182 Hughes P 387
228 Sanderson T 459
304 Wong K 239

Write an SQL command to output the Date and Location for all problems allocated to the engineer with Surname Wong and Initial K.

Unit 4 Summer 2018 Databases and Distributed Systems 2m short answer Q5(e)

Staff working in a factory can report an IT problem to a help desk where details are recorded in a database. An engineer can then be allocated to resolve the problem.

Two tables in the database are:

PROBLEM

IncidentID Date Location ProblemDescription EngineerID
1866 02-May-18 Room A6 printer not working 228
1867 04-May-18 Workshop 4 hard drive fault 182
1868 12-May-18 Room B22 keyboard faulty 228
1869 14-May-18 Warehouse 3 software fault 304
1870 14-May-18 Office C19 computer overheating 182

ENGINEER

EngineerID Surname Initial PhoneExtension
182 Hughes P 387
228 Sanderson T 459
304 Wong K 239

Write an SQL command to create a new table DEVICE to contain the IPAddress and DeviceDescription for each electronic device connected to the factory network.

Unit 4 Summer 2018 Data Representation and Data Types 3m short answer Q6(a)

Explain, giving an example, how an integer can be subtracted from another integer using two’s complementation.

Unit 4 Summer 2018 Data Representation and Data Types 3m short answer Q6(b)

Identify three types of error that could occur when performing logical left shifts on a number in two’s complement form.

Unit 4 Summer 2018 Data Representation and Data Types 3m short answer Q7(a)

In a certain computer system, real numbers are stored in floating point form using two’s complementation, a 10 bit mantissa and a 6 bit exponent.

Calculate the denary number represented by the floating point number: Mantissa: 0110 1101 00 Exponent: 0001 11

Unit 4 Summer 2018 Data Representation and Data Types 2m short answer Q7(b)

State the effect on the result in question 7(a) if 1 is subtracted from the value of the exponent to give: Mantissa: 0110 1101 00 Exponent: 0001 10

Calculate the denary number represented by the new floating point number.

Unit 4 Summer 2018 Data Security and Integrity Processes 1m short answer Q8(a)(i)

State a security problem that may arise if a single key (symmetric) encryption method is used.

Unit 4 Summer 2018 Data Security and Integrity Processes 3m short answer Q8(a)(ii)

An asymmetric encryption method makes use of a private and public key pair. Explain how these could be used in the safe transfer of data over the internet.

Unit 4 Summer 2018 Data Security and Integrity Processes 1m short answer Q8(b)

A method of encrypting text is the Caesar cypher. Each letter is moved forward in the alphabet by a fixed number of places using modulo 26 arithmetic.

State why messages using the Caesar cypher can be decrypted easily by an unauthorised person.

Unit 4 Summer 2018 Data Security and Integrity Processes 2m short answer Q8(c)(i)

Two members of staff use a stream cypher method where shift[1] = 4, shift[2] = 3, and shift[N+2] = shift[N] + 2 × shift[N+1].

Calculate the letter shifts for the characters in the fourth and fifth positions.

Unit 4 Summer 2018 Data Security and Integrity Processes 3m short answer Q8(c)(ii)

Encrypt the word ZEN using this cypher.

Unit 4 Summer 2018 Hardware and Communication 4m short answer Q9(a)

A large and complex computing task needs to be carried out. Programmers consider using parallel processing on a large computer or using distributed processing on smaller computers.

Explain what is meant by parallel processing and distributed processing.

Unit 4 Summer 2018 Hardware and Communication 4m short answer Q9(b)

Discuss the factors that the programmers might consider when making a choice between parallel processing and distributed processing.

Unit 4 Summer 2018 Data Security and Integrity Processes 2m short answer Q10(a)

Explain what is meant by the term biometric data.

Unit 4 Summer 2018 Data Security and Integrity Processes 2m short answer Q10(b)

Describe two examples of biometric data.

Unit 4 Summer 2018 Data Security and Integrity Processes 4m short answer Q10(c)

Explain using an example how biometric data can permit access to a secure area or system.

Unit 4 Summer 2018 Data Security and Integrity Processes 4m short answer Q10(d)

Explain why there may be objections to the use of biometric data.

Unit 4 Summer 2018 Databases and Distributed Systems 10m written Q11

Large organisations use database management systems.

Explain what is meant by a database management system and discuss the tasks carried out by the Information Technology staff who operate the database management system.

Unit 3 Summer 2017 System Design 2m short answer Q1(a)

Two human computer interfaces (HCI) are voice input and touch screen.

Give two benefits of using a touch screen interface on a mobile device.

Unit 3 Summer 2017 System Design 4m short answer Q1(b)

Describe the difficulties in creating a natural language interface for voice input.

Unit 3 Summer 2017 Principles of Programming 3m short answer Q2

Explain the terms object, class and method in object-oriented programming.

Unit 3 Summer 2017 Logical Operations 4m truth table Q3(a)

Draw a truth table to show the value of P for all possible values of A, B and C for the following Boolean expression:

P = Ā.B + C
A B C Ā Ā.B P
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Unit 3 Summer 2017 Logical Operations 3m short answer Q3(b)

Using the data in the 8 bit register below, design a mask and use it to demonstrate how a logical operation can be used to extract the least significant 4 bits. Register contents: 1 1 1 0 0 0 1 1

Unit 3 Summer 2017 Program Construction 6m written Q4(a)

Describe the processes carried out during the lexical, syntax and semantic analyses stages of compilation.

Unit 3 Summer 2017 Program Construction 2m short answer Q4(b)

Describe one advantage of using a programming language that requires compiling compared with a programming language that requires interpreting.

Unit 3 Summer 2017 Program Construction 4m short answer Q4(c)

Describe two advantages of using a programming language that requires interpreting compared with a programming language that requires compiling.

Unit 3 Summer 2017 Program Construction 4m short answer Q4(d)

State the purpose of an assembler. Describe the difference between the source code of an assembler and the source code of a compiler.

Unit 3 Summer 2017 Logical Operations 4m short answer Q5(a)

Using the laws of Boolean algebra and De Morgan’s theorem simplify the following Boolean expression:

A . NOT(A . B)

Unit 3 Summer 2017 Logical Operations 4m short answer Q5(b)

Simplify the following Boolean expression: A.B + A.(B + C) + B.(B + C)

Unit 3 Summer 2017 Algorithms and Programs 9m written Q6

Write a bubble sort algorithm, using pseudo-code, to sort an array of integers into ascending order.

Unit 3 Summer 2017 Principles of Programming 4m short answer Q7(a)

The name of a constant in a certain computer language must either be a single uppercase letter, or a single uppercase letter followed by one or more uppercase letters or digits.

Produce an appropriate syntax diagram to define a constant in this language.

Unit 3 Summer 2017 Principles of Programming 4m short answer Q7(b)

Produce an appropriate Backus-Naur Form (BNF) definition for a constant in this language.

Unit 3 Summer 2017 Algorithms and Programs 4m short answer Q8

Below is part of an algorithm that initialises a two dimensional array named GRID of size N x N with zeros.

for i = 0 to N - 1 for j = 0 to N - 1 GRID(i,j) = 0 next j next i

Evaluate the efficiency of the algorithm and, using Big O notation, determine the growth rate for the time performance.

Unit 3 Summer 2017 Algorithms and Programs 2m short answer Q9(a)

Define the term algorithm. Other than pseudo-code, state one method of expressing an algorithm.

Unit 3 Summer 2017 Algorithms and Programs 2m short answer Q9(b)

Describe the main characteristics of a recursive algorithm.

Unit 3 Summer 2017 Algorithms and Programs 2m short answer Q9(c)

Describe two disadvantages of using a recursive algorithm.

Unit 3 Summer 2017 System Design 3m short answer Q10

A software company carries out a design review as part of its quality control procedures.

Identify three tasks that would be carried out during a design review.

Unit 3 Summer 2017 Data Structures 2m short answer Q11(a)

A linked list can be ordered or unordered.

Explain the difference between searching for an item in an ordered list compared with searching an unordered list.

Unit 3 Summer 2017 Data Structures 3m short answer Q11(b)(i)

The table below includes an unordered list of names.

Index Data Next Pointer (1) Next Pointer (2) Next Pointer (3)
0 Smith      
1 Jones      
2 Ahmed      
3 Lewis      
4 Thomas      
5 Brown      
6        
7        
8        
9        

Copy the table and complete the Next Pointer (1) column to link the list in ascending alphabetical order.

Unit 3 Summer 2017 Data Structures 4m short answer Q11(b)(ii)

The table below includes an unordered list of names.

Index Data Next Pointer (1) Next Pointer (2) Next Pointer (3)
0 Smith      
1 Jones      
2 Ahmed      
3 Lewis      
4 Thomas      
5 Brown      
6        
7        
8        
9        

Add Murphy and Collins to the linked list and complete the Next Pointer (2) column.

Unit 3 Summer 2017 Data Structures 2m short answer Q11(b)(iii)

The table below includes an unordered list of names.

Index Data Next Pointer (1) Next Pointer (2) Next Pointer (3)
0 Smith      
1 Jones      
2 Ahmed      
3 Lewis      
4 Thomas      
5 Brown      
6        
7        
8        
9        

Complete the Next Pointer (3) column to delete Smith.

Unit 3 Summer 2017 Data Structures 3m short answer Q11(c)

Draw a representation of a binary tree using the data items from question 11(b) as key values.

Unit 3 Summer 2017 Software Engineering 6m written Q12

A debugging tool of an Integrated Development Environment (IDE) enables stepping, break points and variable watches.

Describe the use of stepping, break points and variable watches in the debugging of programs.

Unit 3 Summer 2017 Systems Analysis 10m written Q13

Compare the Waterfall and Agile approaches to systems analysis and discuss suitable programming paradigms for each approach.

Unit 4 Summer 2017 Databases and Distributed Systems 1m short answer Q1(a)

Two tables have been created in a database using SQL commands.

CUSTOMER table: CustNum, CustName, DateOfFlight, FlightNum FLIGHT table: FlightNum, Terminal, Destination

Write an SQL command to output the names and flight numbers of all the customers.

Unit 4 Summer 2017 Databases and Distributed Systems 1m short answer Q1(b)

Two tables have been created in a database using SQL commands.

CUSTOMER table: CustNum, CustName, DateOfFlight, FlightNum FLIGHT table: FlightNum, Terminal, Destination

Write an SQL command to output all details of customers who are on flight number 370.

Unit 4 Summer 2017 Databases and Distributed Systems 2m short answer Q1(c)

Two tables have been created in a database using SQL commands.

CUSTOMER table: CustNum, CustName, DateOfFlight, FlightNum FLIGHT table: FlightNum, Terminal, Destination

Write an SQL command to output the names of all the customers flying from Terminal 1.

Unit 4 Summer 2017 Databases and Distributed Systems 2m short answer Q1(d)

Two tables have been created in a database using SQL commands.

CUSTOMER table: CustNum, CustName, DateOfFlight, FlightNum FLIGHT table: FlightNum, Terminal, Destination

Write an SQL command to create a new table FREQUENTFLYER to contain the Customer Number and Frequent Flyer points of each customer.

Unit 4 Summer 2017 Databases and Distributed Systems 2m short answer Q1(e)

Two tables have been created in a database using SQL commands.

CUSTOMER table: CustNum, CustName, DateOfFlight, FlightNum FLIGHT table: FlightNum, Terminal, Destination

In part (d) a new table FREQUENTFLYER was created to hold the customer number and frequent flyer points of each customer.

Write an SQL command to enter the following data into the new FREQUENTFLYER table:

  • Customer 21328 should have 210 points
  • Customer 14777 should have 300 points
Unit 4 Summer 2017 Databases and Distributed Systems 5m short answer Q2

Describe the advantages of using a distributed database.

Unit 4 Summer 2017 Hardware and Communication 4m short answer Q3(a)

A certain computer has an 8 bit accumulator with the following data stored in memory.

  • Memory location 1A holds the number 0₁₀
  • Memory location 1B holds the number 1₁₀
  • Memory location 1C holds the number 9₁₀

The computer’s assembly language instruction set contains the following commands.

Assembly Language Command Description
LDA X Load the accumulator with the contents of memory location X
JGT LABEL Jump to LABEL if the contents of the accumulator are greater than zero
ADD X Add the contents of memory location X to the accumulator
STA X Copy the contents of the accumulator to memory location X
CLR Clear the contents of the accumulator
OUT Output the contents of the accumulator
DEC X Decrement the accumulator by the contents of memory location X

Write a simple program using only the assembly language commands above to output the integers 0₁₀ to 9₁₀.

Unit 4 Summer 2017 Hardware and Communication 5m short answer Q3(b)

A certain computer has an 8 bit accumulator with the following data stored in memory.

  • Memory location 1A holds the number 0₁₀
  • Memory location 1B holds the number 1₁₀
  • Memory location 1C holds the number 9₁₀

The computer’s assembly language instruction set contains the following commands.

Assembly Language Command Description
LDA X Load the accumulator with the contents of memory location X
JGT LABEL Jump to LABEL if the contents of the accumulator are greater than zero
ADD X Add the contents of memory location X to the accumulator
STA X Copy the contents of the accumulator to memory location X
CLR Clear the contents of the accumulator
OUT Output the contents of the accumulator
DEC X Decrement the accumulator by the contents of memory location X

Two extra commands are defined as follows:

Assembly Language Command Description
ASR R Performs an arithmetic shift right one place on register R
LDR P, Q Load register P with the contents of memory location Q

Demonstrate what the following fragment of code does, by showing the contents of registers and memory locations at each step.

  • Memory location 1D holds the number 0111 1000₂
  • Memory location 1E holds the number 0100 0110₂
LDR R, 1D
LDR S, 1E
ASR R
LDA R
ADD S
STA R
Unit 4 Summer 2017 Hardware and Communication 3m short answer Q4(a)

Explain the meaning of the term parallel processing; your answer should make reference to how parallel processing carries out a single task.

Unit 4 Summer 2017 Hardware and Communication 4m short answer Q4(b)

Give four limiting factors of parallel processing.

Unit 4 Summer 2017 Data Representation and Data Types 4m short answer Q5(a)

Explain the difference between truncation and rounding giving a binary example of truncation and a denary example of rounding.

Unit 4 Summer 2017 Data Representation and Data Types 1m short answer Q5(b)

State which method generally produces a more accurate result — truncation or rounding.

Unit 4 Summer 2017 Data Representation and Data Types 2m short answer Q5(c)

Describe how absolute and relative errors are calculated when truncating and rounding.

Unit 4 Summer 2017 Data Representation and Data Types 4m short answer Q6(a)

Convert the hexadecimal numbers -7₁₆ and A₁₆ into two 8 bit binary numbers, using two’s complementation. Using binary addition, calculate the binary number that would result from adding them.

You must show all of your working.

Unit 4 Summer 2017 Data Representation and Data Types 3m short answer Q6(b)

In a certain computer system, real numbers are stored in floating point form using 16 bits: 12 bit mantissa in two’s complement form (binary point immediately after the left bit) and 4 bit exponent in two’s complement form.

Clearly showing your working, convert 42.875₁₀ into this format.

Unit 4 Summer 2017 Data Representation and Data Types 3m short answer Q6(c)

In a different computer system, real numbers are stored in floating point form with an 8 bit signed mantissa and a 4 bit signed exponent.

Clearly showing your working, calculate the decimal value of 0.1111011 0101₂

Unit 4 Summer 2017 The Operating System 6m written Q7(a)

When scheduling, name and describe the three basic states of a process.

Unit 4 Summer 2017 The Operating System 2m short answer Q7(b)

Interrupts cause the operating system to respond to system events. Give two examples of common interrupts.

Unit 4 Summer 2017 The Operating System 5m short answer Q7(c)

Describe a single buffer and a double buffer. Explain the role of a single buffer and a double buffer. Explain why double buffering is usually preferred.

Unit 4 Summer 2017 Data Security and Integrity Processes 4m short answer Q8(a)

Cryptography uses asymmetric or symmetric encryption methods. Symmetric encryption methods use a single key which encrypts and decrypts data. Asymmetric encryption methods use a public key for encryption and a private key for data decryption.

Describe the advantages of asymmetric encryption and the advantages of symmetric encryption.

Unit 4 Summer 2017 Data Security and Integrity Processes 3m short answer Q8(b)

The Boolean operation XOR is often used in cryptography.

In the 8 bit ASCII character set, the characters OK! are represented by: O = 01001111₂ K = 01001011₂ ! = 00100001₂

Use XOR to encrypt the string OK! with the 8 bit binary key 11110011₂

Unit 4 Summer 2017 Data Security and Integrity Processes 2m short answer Q8(c)

Describe two deficiencies of the key used in question 8(b).

Unit 4 Summer 2017 Hardware and Communication 3m short answer Q9(a)

A company with a large office building operates a ‘Bring Your Own Device to Work’ (BYOD) scheme allowing employees to use personal devices on the company’s network.

Describe the hardware necessary to connect a device to the company’s network wirelessly and provide an Internet connection.

Unit 4 Summer 2017 The Need for Different Types of Software Systems 4m short answer Q9(b)

Identify and describe two network applications that could be used by an employee with a connected device.

Unit 4 Summer 2017 The Need for Different Types of Software Systems 8m written Q10

Expert systems are widely used by organisations for a variety of purposes. Describe the benefits to an organisation of using an expert system.

Unit 4 Summer 2017 Organisation and Structure of Data 6m written Q11

Explain the use of multi-level indexes and draw a diagram to demonstrate the operation of a three-level index.

Unit 4 Summer 2017 Data Security and Integrity Processes 11m written Q12

Khan’s Pharmaceuticals currently uses an ID card system to control employee access to its premises. This has proved problematical with employees swapping cards and the company now wishes to use a voice print recognition system in its place.

Describe how this system would operate and explain the benefits and drawbacks associated with a biometric system used for this purpose.

Unit 3 Summer 2025 Data Structures 3m short answer Q1a

Describe a queue data structure. Give an example of where a queue data structure might be used.

Unit 3 Summer 2025 Data Structures 1m short answer Q1b(i)

A stack is another type of data structure. Draw a diagram to show how a stack would store the following names in the order they are received, where Jamie is received first. Jamie, Elena, Arjun, Piotr, Julia, Morgan

Unit 3 Summer 2025 Data Structures 2m short answer Q1b(ii)

Redraw the diagram to show the stack after two names are popped, and David and then Eleri are pushed.

Unit 3 Summer 2025 Data Structures 2m short answer Q2a

This is a diagram of a linked list of names in alphabetical order.

flowchart LR
    D["Dylan"] --> J["Joel"] --> L["Lily"] --> S["Stevie"] --> X["Xander"]

Redraw the linked list after Joel has been deleted.

Unit 3 Summer 2025 Data Structures 2m short answer Q2b

This is a diagram of a linked list of names in alphabetical order.

flowchart LR
    D["Dylan"] --> J["Joel"] --> L["Lily"] --> S["Stevie"] --> X["Xander"]

Redraw the linked list from part (a) after Wiktoria has been added.

Unit 3 Summer 2025 Logical Operations 4m truth table Q3a

Draw a truth table to show the value of Q for all possible values of A, B and C for the following Boolean expression: Q = A·(B̄ + C)

Q = A·(B̄ + C)
A B C B̄ B̄+C Q
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
Unit 3 Summer 2025 Logical Operations 5m short answer Q3b(i)

Simplify the following Boolean expression, clearly showing each step. Use Boolean algebra, identities and De Morgan’s law where appropriate. A·(Ā + B) + B̄·(A + C) + A·B

Unit 3 Summer 2025 Logical Operations 5m short answer Q3b(ii)

Simplify the following Boolean expression, clearly showing each step. Use Boolean algebra, identities and De Morgan’s law where appropriate. Z·(Z̄ + Y) + X·Y·(Z̄ + Z)

Unit 3 Summer 2025 Logical Operations 1m short answer Q4a

Determine the logical operation described by this truth table.

Input Input Output
0 0 1
0 1 1
1 0 1
1 1 0
Unit 3 Summer 2025 Logical Operations 1m short answer Q4b(i)

Using the key 11011010₂, show how the XOR operation can be used to encrypt 10110101₂.

Unit 3 Summer 2025 Logical Operations 2m short answer Q4b(ii)

Show how the encrypted value can be decrypted.

Unit 3 Summer 2025 Software Engineering 8m written Q5

Discuss how Computer Aided Software Engineering (CASE) tools can assist with the design and development of a system.

Unit 3 Summer 2025 Systems Analysis 2m short answer Q6a

Describe the benefits of creating detailed documentation at each stage of the Waterfall approach to system analysis and design.

Unit 3 Summer 2025 Systems Analysis 6m short answer Q6b

Describe the documentation required for the maintenance stage of the Waterfall approach.

Unit 3 Summer 2025 Algorithms and Programs 2m short answer Q7a

Describe a situation where an insertion sort would be more suitable than other sorting algorithms.

Unit 3 Summer 2025 Algorithms and Programs 7m short answer Q7b

Write an insertion sort algorithm for integer values, using pseudo-code, to sort an array of unknown length into ascending order.

Unit 3 Summer 2025 Algorithms and Programs 3m short answer Q8a(i)

This algorithm initialises two arrays.

for i = 0 to N - 1
    arrayA(i) = itemA
next i

for j = 0 to N - 1
    arrayB(j) = itemB
next j

Evaluate the efficiency of the algorithm using Big O notation.

Unit 3 Summer 2025 Algorithms and Programs 1m short answer Q8a(ii)

This algorithm initialises two arrays.

for i = 0 to N - 1
    arrayA(i) = itemA
next i

for j = 0 to N - 1
    arrayB(j) = itemB
next j

Determine the growth rate for time performance.

Unit 3 Summer 2025 Algorithms and Programs 2m short answer Q8b

This algorithm initialises two arrays.

for i = 0 to N - 1
    arrayA(i) = itemA
next i

for j = 0 to N - 1
    arrayB(j) = itemB
next j

Draw a graph of the algorithm to illustrate and identify its order of time performance. Graph paper is not required.

Unit 3 Summer 2025 Principles of Programming 5m short answer Q9

A company called Parkwood Vale Cosmetics has a specific structure for email addresses for company employees depending on whether they work in sales or admin. The email addresses are made up of: surname with an uppercase letter to start; an uppercase letter to represent a first name initial; an integer; @ sign; followed by either ‘salespvc.co.uk’ or ‘adminpvc.co.uk’. Example: DaviesL12@salespvc.co.uk Produce a Backus-Naur form (BNF) definition for an email address used by the company.

Unit 3 Summer 2025 Algorithms and Programs 2m short answer Q10a

State the difference between the two data compression types.

Unit 3 Summer 2025 Algorithms and Programs 1m short answer Q10b(i)

A source image file has a size of 64,000 bytes and is compressed into a file size of 16,000 bytes. Calculate the compression ratio.

Unit 3 Summer 2025 Algorithms and Programs 1m short answer Q10b(ii)

Calculate the saving percentage.

Unit 3 Summer 2025 Algorithms and Programs 1m short answer Q10b(iii)

This compression algorithm takes 0.03 seconds per 1000 bytes to compress. Calculate the compression time.

Unit 3 Summer 2025 Economic, Moral, Legal, Ethical and Cultural Issues 8m written Q11a

Other than privacy and monitoring, describe the contents typically found within a code of conduct.

Unit 3 Summer 2025 Economic, Moral, Legal, Ethical and Cultural Issues 6m short answer Q11b

Describe the methods that can be used to monitor an employee’s use of computer systems and compliance with the code of conduct.

Unit 3 Summer 2025 Data Structures 2m short answer Q12a

A binary tree needs to be created by inserting the following fruits in sequence: Pineapple, Strawberry, Lemon, Melon, Pomegranate and Apple.

Construct a binary tree using the following rules:

  • The left pointer indicates the condition “earlier or at the same position in the alphabet”.
  • The right pointer indicates the condition “later in the alphabet”.

You can abbreviate the fruit names if you wish.

Unit 3 Summer 2025 Data Structures 1m short answer Q12b

A binary tree needs to be created by inserting the following fruits in sequence: Pineapple, Strawberry, Lemon, Melon, Pomegranate and Apple.

Carry out an in-order traversal of the tree.

Unit 3 Summer 2025 Data Structures 1m short answer Q12c

A binary tree needs to be created by inserting the following fruits in sequence: Pineapple, Strawberry, Lemon, Melon, Pomegranate and Apple.

Carry out a pre-order traversal of the tree.

Unit 3 Summer 2025 Data Structures 1m short answer Q12d

A binary tree needs to be created by inserting the following fruits in sequence: Pineapple, Strawberry, Lemon, Melon, Pomegranate and Apple.

Carry out a post-order traversal of the tree.

Unit 3 Summer 2025 Principles of Programming 12m written Q13

Describe the features of the following programming paradigms and identify possible situations in which they might be used: • Procedural languages • Object-oriented languages • Specific purpose languages

Unit 4 Summer 2025 Hardware and Communication 6m short answer Q1

Describe three limiting factors to parallelisation in parallel processing.

Unit 4 Summer 2025 Data Representation and Data Types 4m short answer Q2a

Convert the numbers 63₁₀ and 30₁₀ into 8-bit binary numbers. Calculate the total that would result from adding the two binary numbers. Show your workings.

Unit 4 Summer 2025 Data Representation and Data Types 3m short answer Q2b

Copy this table into your answer booklet. Complete the table to demonstrate the effect of carrying out two arithmetic shifts left on the two’s complement, 8-bit binary representation of −58₁₀.

                 
−58₁₀                
Shift 1                
Shift 2                
Unit 4 Summer 2025 Data Representation and Data Types 3m short answer Q2c

Explain why two’s complement is used in preference to sign and magnitude to represent negative values. Use 4-bit binary numbers as examples to illustrate your explanation.

Unit 4 Summer 2025 Data Representation and Data Types 3m short answer Q3a

In a certain computer system, real numbers are stored in floating point form, using 16 bits: 12 bits (two’s complement mantissa, binary point immediately after the left bit) and 4 bits (two’s complement exponent). Clearly showing your working, convert 75.75₁₀ into this format.

Unit 4 Summer 2025 Data Representation and Data Types 3m short answer Q3b

The value 000001011010 0111 stored in this floating point form is to be saved as an integer in an 8-bit register. Compare the effects of rounding or truncating the stored value to suit the register.

Unit 4 Summer 2025 Data Representation and Data Types 3m short answer Q3c

In a different computer system, real numbers are stored in floating point form, with an 8-bit signed mantissa and a 4-bit signed exponent. Calculate the decimal value of 0.1101001 0100₂. Clearly show your workings.

Unit 4 Summer 2025 The Operating System 4m short answer Q4a

Multi-access and multi-tasking are two types of operating system. Explain the terms multi-access and multi-tasking.

Unit 4 Summer 2025 The Operating System 6m short answer Q4b

Partitioning of main memory is a responsibility of the operating system’s memory management function. Describe the different methods that can be used for partitioning main memory.

Unit 4 Summer 2025 Hardware and Communication 4m short answer Q5

An assembly language program processes a set of theory test marks. A mark is compared with a pre-set pass mark and a ‘1’ is output if a learner has passed the test and a ‘0’ is output if the learner has not passed.

These commands are available in the assembly language instruction set:

Command Description
INP Inputs a numeric value to the accumulator
OUT X Outputs a numeric value X
STA X Copies the contents of the accumulator to memory location X
LDA Y Loads the numeric value in location Y to the accumulator
SUB Y Subtracts the numeric value in location Y from the accumulator, leaving the result in the accumulator
BRP Branches if positive or zero to given label
BRA Unconditional branch to given label
DAT Indicates the location of stored data
HLT Stop

Using the instruction set, write a program to compare the test mark entered with the pass mark that is also entered. The program should produce the required output.

Unit 4 Summer 2025 Databases and Distributed Systems 6m short answer Q6

Data mining and predictive analytics are techniques used in business management. Explain what is meant by the terms data mining and predictive analytics, giving an example of each technique.

Unit 4 Summer 2025 Databases and Distributed Systems 3m short answer Q7a

Picsinc Ltd use a database to record event bookings. The EVENT table includes EventID, Type, Day, Month, Location, CustomerNo. The CUSTOMER table includes CustomerNo, Title, Initial, Surname, ContactTel. Write an SQL command to list the customer’s Surname and ContactTel only for all events taking place in Bristol.

Unit 4 Summer 2025 Databases and Distributed Systems 3m short answer Q7b(i)

An additional table is required to record photographers’ details with fields: PhotographerID (integer), Initial (single character), Surname, Specialism, Degree (boolean), Contact (email). Write an SQL command to create this table using suitable data types.

Unit 4 Summer 2025 Databases and Distributed Systems 2m short answer Q7b(ii)

An extra record, ID 15, is to be entered into the Photographer table for Michelle Smith. Michelle has a BA(Hons) degree, is a sports photography specialist and uses Smith33mm@iCloud.com for work emails. Write an SQL command to add Michelle’s details to the table.

Unit 4 Summer 2025 Databases and Distributed Systems 4m short answer Q8a

Picsinc Ltd also operate picsinc.com, a website that sells high-resolution images to its registered customers. Its photographers specialise in landscape, seascape or wildlife photography and use a database to help organise the image library. Example records from this database are shown in the table:

Image ID Photographer ID Category Subject Download Cost Download Count Year
108 019 Landscape Rain forest 50.00 234 2015
112 012 Seascape Crashing waves 150.00 1753 2018
134 019 Landscape Rolling hills 290.00 838 2022
196 023 Wildlife Lioness with cubs 275.00 138 2024

A photographer may produce many images and images may be downloaded many times by customers.

Produce an entity relationship diagram for the image database in third normal form.

Unit 4 Summer 2025 Databases and Distributed Systems 4m short answer Q8b

Design a structure for the image database clearly identifying all primary and foreign key fields required.

Unit 4 Summer 2025 Databases and Distributed Systems 3m short answer Q8c

The database is to be designed to use restricted choice fields where possible. Describe, with reference to a field in the example records, the advantages of this form of validation.

Unit 4 Summer 2025 Data Transmission 4m short answer Q9a

Picsinc’s image library contains approximately 600,000 images, with a typical storage requirement of 4 MB per image. The cloud provider’s maximum upload speed = 500 Mbps. Calculate, to the nearest hour, the time required to upload the image library to the cloud provider’s servers. Use the binary system where 1 KB = 1024 bytes.

Unit 4 Summer 2025 Data Transmission 4m short answer Q9b

In practice the image library upload took longer than the calculations suggested. Describe two areas that Picsinc could consider to reduce the image library upload transfer time.

Unit 4 Summer 2025 Databases and Distributed Systems 6m short answer Q10a

A Database Management System (DBMS) provides tools for the administration of relational databases. Describe three administrative tasks that are carried out using a DBMS.

Unit 4 Summer 2025 Organisation and Structure of Data 6m short answer Q10b

A contemporary relational database will utilise multi-level indexes to improve data retrieval times. Explain, using a diagram, the operation and benefits of a multi-level index.

Unit 4 Summer 2025 The Operating System 4m short answer Q11

Explain the role of time-slicing and polling in CPU scheduling.

Unit 4 Summer 2025 Data Security and Integrity Processes 4m short answer Q12a

The use of biometric technologies, such as facial recognition systems, is commonplace in many areas of society. Describe the stages and complexities of using biometric systems to validate a person’s identity.

Unit 4 Summer 2025 Data Security and Integrity Processes 8m written Q12b

Discuss the benefits and concerns arising from the mass collection, storage and use of biometric data.

Unit 3 Summer 2026 Data Structures 4m short answer Q1a

Explain the difference between a one-dimensional array and a two-dimensional array and give real-world data usage for each.

Unit 3 Summer 2026 Data Structures 2m short answer Q1b

Explain how to access the ‘orange’ element in the following array.

colours[“blue”, “green”, “pink”, “orange”, “red”]

Unit 3 Summer 2026 Logical Operations 4m truth table Q2a

Draw a Truth Table to prove the following Boolean Expression can be represented as A ⊕ B, where the symbol ⊕ represents XOR.

A ⊕ B = (A.B̅) + (A̅.B)
A B (A.B̅) (A̅.B) (A.B̅)+(A̅.B) A⊕B
0 0
0 1
1 0
1 1
Unit 3 Summer 2026 Logical Operations 5m short answer Q2b(i)

Clearly showing each step, simplify the following Boolean expression using Boolean algebra identities and De Morgan’s law where appropriate.

(A̅+B̅) + (A̅ + C) + A̅.(B + C)

Unit 3 Summer 2026 Logical Operations 5m short answer Q2b(ii)

Clearly showing each step, simplify the following Boolean expression using Boolean algebra identities and De Morgan’s law where appropriate.

A.(A̅ + B) + B.(A + C) + A̅.B.(A + C)

Unit 3 Summer 2026 Logical Operations 2m short answer Q3

Show how a logical operation can be used to clear the register 1101 0110 to 0000 0000.

Unit 3 Summer 2026 Algorithms and Programs 2m short answer Q4a

A local car dealership is storing customer details into an online database system. They need to develop effective validation and verification techniques to ensure data is as accurate as possible.

Write an algorithm for a presence check for ‘name’.

Unit 3 Summer 2026 Algorithms and Programs 2m short answer Q4b

Write an algorithm for a length check for ‘mobile number’.

Unit 3 Summer 2026 Algorithms and Programs 2m short answer Q4c

Write an algorithm for a range check for ‘customer’s age’ — must be 18 or over.

Unit 3 Summer 2026 Algorithms and Programs 2m short answer Q4d

Write an algorithm for a double entry check for ‘email address’.

Unit 3 Summer 2026 Principles of Programming 6m short answer Q5a

Describe object-oriented programming (OOP) and explain the advantages of using an object-oriented approach in software development.

Unit 3 Summer 2026 Principles of Programming 4m short answer Q5b

Describe the relationship between a class and an object in OOP.

Unit 3 Summer 2026 Principles of Programming 2m short answer Q5c

Explain how inheritance relates to classes and objects in OOP.

Unit 3 Summer 2026 Systems Analysis 6m short answer Q6a

Describe the distinct phases of the Waterfall model.

Unit 3 Summer 2026 Systems Analysis 4m short answer Q6b

Explain how the sequential nature of these phases impacts on project management and completion of deadlines.

Unit 3 Summer 2026 Algorithms and Programs 4m short answer Q7a

This algorithm calculates the division of two positive integers.

1 division is integer 2 input high 3 input low 4 5 while low<=high 6 division = high DIV low 7 output division 8 low = low + 1 9 end while 10 end

Select appropriate test data to complete a trace table then use this test data to dry-run the algorithm.

Iteration low high low <= high division output
           
           
           
           
           
           
Unit 3 Summer 2026 Algorithms and Programs 1m short answer Q7b(i)

Identify what occurs if high is entered as 0.

Unit 3 Summer 2026 Algorithms and Programs 1m short answer Q7b(ii)

Identify what occurs if low is entered as 0.

Unit 3 Summer 2026 System Design 6m short answer Q8

Describe the tasks that would be carried out during a design review and explain how they contribute to the overall success of a project.

Unit 3 Summer 2026 Algorithms and Programs 3m short answer Q9a

This algorithm populates two arrays based on user input.

1 set itemA = 0 2 set itemB = 0 3 4 input ItemA 5 input ItemB 6 7 for i = 0 to n - 1 8 for j = 0 to n - 1 9 arrayA(i) = itemA 10 arrayB(j) = itemB 11 next j 12 next i

Evaluate the efficiency of the algorithm and, using Big O notation, determine the growth rate for time performance.

Unit 3 Summer 2026 Algorithms and Programs 2m short answer Q9b

Draw a graph to illustrate the order of time performance. Graph paper is not required.

Unit 3 Summer 2026 System Design 6m short answer Q10

Discuss the advantages and disadvantages of using touchscreen interfaces compared to traditional input methods.

Unit 3 Summer 2026 Principles of Programming 8m short answer Q11

A local company has a specific structure for customers’ first line of address.

The first line of address is made up of: • house number • space • street name where each word starts with a capital letter and can be more than one word • postcode that consists of three parts: ◦ Outward code – this can be in four formats: – letter letter digit digit – letter letter digit – letter digit digit – letter digit ◦ Space ◦ Inward code that is digit letter letter

Example: 104 Davies Street CF12 4TH

Produce a Backus-Naur form (BNF) definition for the first line of a customer’s address.

Unit 3 Summer 2026 Data Structures 7m short answer Q12

This is an example of a binary tree, with 10 at the root; 6 and 18 as its children; 5 and 8 below 6; 16 and 20 below 18; and 2 below 5.

flowchart TD
    N10["10"] -->|left| N6["6"]
    N10 -->|right| N18["18"]
    N6 -->|left| N5["5"]
    N6 -->|right| N8["8"]
    N18 -->|left| N16["16"]
    N18 -->|right| N20["20"]
    N5 -->|left| N2["2"]

This binary tree can be implemented using an array. Copy and complete the table with the correct left-pointer and right-pointer items within the array.

Index Data Left-pointer Right-pointer
1 10 2 3
2 6    
3 18    
4 5    
5 8    
6 16    
7 20    
8 2    

Note: the S26 Unit 3 question paper was not available; the tree above is drawn from the description and the array table from the mark scheme, so the printed layout may differ.

Unit 3 Summer 2026 Algorithms and Programs 10m written Q13

Explain data compression and how data compression algorithms are used.

Unit 4 Summer 2026 Hardware and Communication 2m short answer Q1a

Llanperry Adult Community Learning (LACL) is based at Llanperry College. It operates a “Bring Your Own Device” (BYOD) scheme allowing adult learners to connect personal devices, such as smart phones, tablets or laptops to the college network.

Describe the hardware device required in a laptop to connect it to the College network wirelessly.

Unit 4 Summer 2026 Hardware and Communication 3m short answer Q1b

Identify three network hardware devices required to provide internet access via a wireless network.

Unit 4 Summer 2026 Data Transmission 2m short answer Q2a

In a certain computer network, the protocol used to determine lowest cost routes is based on transfer rates and delays. Transfer rates are based on bandwidth of network links. Delays represent the overhead arising from the time taken for a node to process, queue and transmit a data packet.

The total route cost is calculated as the cost of each link plus the total of the delay factors of each intermediate node visited.

This is a diagram of part of a network. The delay factor at each intermediate node = 3.

flowchart LR
    A((A)) ---|2| C((C))
    A ---|2| B((B))
    B ---|2| C
    C ---|2| D((D))
    D ---|8| Q((Q))
    Q ---|2| R((R))
    R ---|2| S((S))
    R ---|6| T((T))
    S ---|2| T

Calculate the lowest cost route from node A to node T.

Unit 4 Summer 2026 Data Transmission 2m short answer Q2b(i)

In a certain computer network, the protocol used to determine lowest cost routes is based on transfer rates and delays. Transfer rates are based on bandwidth of network links. Delays represent the overhead arising from the time taken for a node to process, queue and transmit a data packet.

The total route cost is calculated as the cost of each link plus the total of the delay factors of each intermediate node visited.

This is a diagram of part of a network. The delay factor at each intermediate node = 3.

flowchart LR
    A((A)) ---|2| C((C))
    A ---|2| B((B))
    B ---|2| C
    C ---|2| D((D))
    D ---|8| Q((Q))
    Q ---|2| R((R))
    R ---|2| S((S))
    R ---|6| T((T))
    S ---|2| T

A new link of bandwidth cost = 12 is to be added from C to R. Re-calculate the lowest cost route from A to T.

Unit 4 Summer 2026 Data Transmission 2m short answer Q2b(ii)

In a certain computer network, the protocol used to determine lowest cost routes is based on transfer rates and delays. Transfer rates are based on bandwidth of network links. Delays represent the overhead arising from the time taken for a node to process, queue and transmit a data packet.

The total route cost is calculated as the cost of each link plus the total of the delay factors of each intermediate node visited.

This is a diagram of part of a network. The delay factor at each intermediate node = 3.

flowchart LR
    A((A)) ---|2| C((C))
    A ---|2| B((B))
    B ---|2| C
    C ---|2| D((D))
    D ---|8| Q((Q))
    Q ---|2| R((R))
    R ---|2| S((S))
    R ---|6| T((T))
    S ---|2| T

A new link of bandwidth cost = 12 was added from C to R. The link from node D to node Q is then upgraded to a network cost of 4. Describe the effect the upgrade will have on overall network costs.

Unit 4 Summer 2026 Hardware and Communication 6m short answer Q3

The network server room at Llanperry College has an electronic door lock that is opened by entering a code number, for example 7695, on a keypad.

A copy of the correct door entry code is stored in register R. The door is opened when the computer sends a numeric value of −1 to the electronic lock mechanism. If 3 incorrect attempts to enter the code are made, the computer will activate an alarm.

A control program for the lock and alarm is to be written in assembly language. The required algorithm is:

Repeat until output = -1
    Input a code number from the keypad
    Subtract the value stored in R from the input
    If the remainder is zero output = -1, send output to door lock
    Else count = count + 1
    If count = 3 output = -1, send output to alarm.

The assembly language used by the computer has an instruction set that includes the following commands, where Y is a register and X is a numeric value.

Assembly Language Command Description
LDY,X Load register Y with numeric value X
IN Y Input a numeric code from the keypad to register Y
OUT X Output a numeric value X
LDA Y Load the numeric value in register Y to the accumulator
INC Y Increment the numeric value in register Y
SUB Y Subtract the numeric value in location N from the accumulator, leaving the result in the accumulator
STA Y Save accumulator value in register Y
JGZ LABEL Jump to LABEL if the contents of the accumulator are greater than zero
JZE LABEL Jump to LABEL if the contents of the accumulator are equal to zero
JG LABEL Jump to LABEL if the value in Y > 3

Using the algorithm and the instruction set, write a program to control the door lock system.

Unit 4 Summer 2026 Data Representation and Data Types 2m short answer Q4a

Convert the hexadecimal numbers 7₁₆ and 2C₁₆ into two 8-bit binary numbers.

Unit 4 Summer 2026 Data Representation and Data Types 2m short answer Q4b

Calculate, using binary addition, the total that would result from adding the two binary numbers. You must show all of your working.

Unit 4 Summer 2026 Data Representation and Data Types 3m short answer Q4c

Copy the table below into your answer booklet. Complete the table to demonstrate the effect of carrying out an arithmetic shift right of two places of the 8-bit binary representation in two’s complement of −44₁₀.

                 
−44₁₀                
Shift 1                
Shift 2                
Unit 4 Summer 2026 Data Representation and Data Types 3m short answer Q5a(i)

In a certain computer system, real numbers are stored in floating point form, using 16 bits: a 10-bit mantissa in two’s complement form (the binary point immediately after the left bit) and a 6-bit exponent in two’s complement form.

Convert the number 128.5₁₀ into this floating point format.

Unit 4 Summer 2026 Data Representation and Data Types 3m short answer Q5a(ii)

An error was produced when carrying out the conversion of 128.5₁₀ using a 12-bit mantissa and a 4-bit exponent. Demonstrate why the conversion produced an error.

Unit 4 Summer 2026 Data Representation and Data Types 3m short answer Q5b

In a different computer system, real numbers are stored in floating point form using an 8-bit signed mantissa and a 4-bit signed exponent.

Calculate the decimal value of 0.1111011 0101₂.

Unit 4 Summer 2026 Databases and Distributed Systems 1m short answer Q6a

Staff working at Llanperry College can report an IT problem to reception where details are recorded in a database. A technician can then be allocated to resolve the problem.

PROBLEM table: ReportID, Date, Location, Description, TechID TECHNICIAN table: TechID, SName, Initial, TelExt

Write an SQL command to output the ReportID and Description only, for all the reported problems.

Unit 4 Summer 2026 Databases and Distributed Systems 1m short answer Q6b

Staff working at Llanperry College can report an IT problem to reception where details are recorded in a database. A technician can then be allocated to resolve the problem.

PROBLEM table: ReportID, Date, Location, Description, TechID TECHNICIAN table: TechID, SName, Initial, TelExt

Write an SQL command to re-allocate the problem with ReportID 0148 to technician ID T02.

Unit 4 Summer 2026 Databases and Distributed Systems 2m short answer Q6c

Staff working at Llanperry College can report an IT problem to reception where details are recorded in a database. A technician can then be allocated to resolve the problem.

PROBLEM table: ReportID, Date, Location, Description, TechID TECHNICIAN table: TechID, SName, Initial, TelExt

Write an SQL command to output the Date and Location for all problems allocated to the engineer Hughes D.

Unit 4 Summer 2026 Databases and Distributed Systems 2m short answer Q6d

Staff working at Llanperry College can report an IT problem to reception where details are recorded in a database. A technician can then be allocated to resolve the problem.

PROBLEM table: ReportID, Date, Location, Description, TechID TECHNICIAN table: TechID, SName, Initial, TelExt

Write an SQL command to create a new table DEVICE to contain the IPAddress and Description for each electronic device connected to the College network.

Unit 4 Summer 2026 Databases and Distributed Systems 4m short answer Q7a

Describe what is meant by the term relational database.

Unit 4 Summer 2026 Databases and Distributed Systems 4m short answer Q7b

Explain two advantages of database normalisation.

Unit 4 Summer 2026 Databases and Distributed Systems 3m short answer Q7c

LACL run courses in several subject areas, including essential skills, computer use, wellbeing, art and crafts, and Welsh, and is creating a relational database to manage the courses.

Each subject area may offer many courses; each course will be organised by a course leader and will be attended by several learners. Each course leader may be responsible for several courses.

Produce an entity relationship diagram for the system described.

Unit 4 Summer 2026 Databases and Distributed Systems 4m short answer Q7d

Design a database structure in third normal form for the system.

Unit 4 Summer 2026 Organisation and Structure of Data 1m short answer Q8a(i)

LACL staff delivering the ‘computer use’ courses have developed a digital glossary of key terms and acronyms. The index to the glossary includes 1200 entries, each with a maximum length of 64 characters and an average length of 24 characters. Each character requires 1 Byte of storage.

The index entries can be stored in files organised using either fixed length or variable length records.

Calculate, giving your answer in KiloBytes rounded to one decimal place, the size of the file required to store the index using fixed length records.

Unit 4 Summer 2026 Organisation and Structure of Data 1m short answer Q8a(ii)

Calculate, giving your answer in KiloBytes rounded to one decimal place, the size of the file required to store the index using variable length records, where each entry is terminated with the @ character, which requires one Byte of storage.

Unit 4 Summer 2026 Data Transmission 2m short answer Q8b

The size of the complete glossary file, with variable length records, is 250 MB. The College Wi-Fi network operates with a download speed of 35 Mbps. Calculate the time required to download the glossary file.

Unit 4 Summer 2026 Hardware and Communication 2m short answer Q9a(i)

An organisation needs to carry out a large and complex data processing task and is considering two possible solutions: using parallel processing on a large computer, or using distributed processing on several smaller computers.

Describe parallel processing.

Unit 4 Summer 2026 Databases and Distributed Systems 2m short answer Q9a(ii)

Describe distributed processing.

Unit 4 Summer 2026 Hardware and Communication 4m short answer Q9b

Discuss the factors that the organisation might consider when deciding whether to use parallel processing or distributed processing for the task.

Unit 4 Summer 2026 The Operating System 6m short answer Q10a

Explain the three basic states of a process scheduled for execution.

Unit 4 Summer 2026 The Operating System 2m short answer Q10b(i)

Describe the role of buffering during data transfer.

Unit 4 Summer 2026 The Operating System 3m short answer Q10b(ii)

Explain why double buffering is usually preferred.

Unit 4 Summer 2026 Data Security and Integrity Processes 6m short answer Q11a

Cryptography may be based on symmetric or asymmetric algorithms. Describe the advantages of using asymmetric encryption.

Unit 4 Summer 2026 Data Security and Integrity Processes 3m short answer Q11b(i)

The Boolean operation XOR is often used in cryptography.

In the 8-bit ASCII character set, the characters LACL are represented by the following binary numbers.

L = 01001100₂ A = 01000001₂ C = 01000011₂

Use XOR to encrypt the string LACL using the 8-bit binary key 11001011₂.

Unit 4 Summer 2026 Data Security and Integrity Processes 2m short answer Q11b(ii)

Describe two deficiencies of the key used in question 11(b)(i).

Unit 4 Summer 2026 Data Security and Integrity Processes 12m written Q12

Data stored on computer systems is vulnerable to cyberattacks involving malware and unauthorised access.

Discuss the measures that organisations should take to protect the integrity of the data stored on their computer systems.