General Instructions
• Reading time – 10 minutes
• Working time – 2 hours and 20 minutes
Total marks: 80
• Attempt Questions 1-32
• Allow 2 hours and 20 minutes to attempt the questions
Question 1 (1 mark)
The “Privacy by Design” approach is defined as:
Question 2 (1 mark)
A user logs into their bank’s website, which allows money transfers via a button. A hacker sends the user a malicious email containing a link. When the user clicks the link, a money transfer request is executed without their knowledge.
What type of attack is this?
Question 3 (1 mark)
Email clients send mail using which protocol?
Question 4 (1 mark)
In the context of a web application, what is the main role of client-side programming?
Question 5 (1 mark)
What is the most effective approach to ensuring that automation benefits society as a whole?
Question 6 (1 mark)
A real estate agency wants to build a model to predict whether a house is likely to be sold within 60 days based on features such as its price, location score, number of bedrooms, and age. Based on the scenario above, which regression model is most appropriate, and why?
Question 7 (1 mark)
A new software application is introduced by initially running the program with only a few of its modules active. After confirming that these modules function correctly, the remaining components are gradually activated.
What type of implementation method does this scenario describe?
Question 8 (1 mark)
Which of the following is true for the Agile Development Approach?
Question 9 (1 mark)
What are the benefits of using sandboxing in software development or deployment?
(Multiple items may be selected)
Question 10 (1 mark)
Consider the following CSS code.
body {background-color: #0000ff;
color: #00ff00;
font-family: Arial, serif;
margin: 20px;
}
h1 {color: #ff0000;
text-align: center;
}
p {color: #ffffff;
font-size: 16px;
}
Which of the following is true for pages styled using the above CSS code?
(Multiple items may be selected)
Question 11 (1 mark)
Which of the following impacts are likely to result from increased automation in the workplace?
(Multiple items may be selected)
Question 12 (1 mark)
The following context diagram describes a food ordering app.

Based on the above diagram, which statements are correct?
(Multiple items may be selected)
Question 13 (2 marks)
Match each feature with its correct security testing strategy.
| Dynamic Application Security Testing (DAST) | Static Application Security Testing (SAST) | Penetration Testing | |
|---|---|---|---|
| Simulates cyber attacks to find and exploit vulnerabilities. | |||
| Requires either the source code or binary. | |||
| Checks for security vulnerabilities without executing the code. | |||
| Evaluates environment and runtime issues. | |||
| Utilises scanning tools to understand how a target responds to intrusions. | |||
| Checks for security vulnerabilities while the program is running. | |||
| A purely white box testing strategy |
Question 14 (2 marks)
Match each web development role with the W3C initiative or focus area to which it belongs.
| Web Security | Machine-readable data | Privacy | Web Accessibility Initiative (WAI) | Internationalisation | |
|---|---|---|---|---|---|
| Creates standards and working groups to protect user data and privacy | |||||
| Develops standards and guidelines for secure web applications | |||||
| Defines open formats (like XML) for data to be processed by computers | |||||
| Supports web standards for multiple languages and cultural contexts | |||||
| Ensures web content is usable by people with disabilities |
Question 15 (2 marks)
Match each application scenario to the most appropriate machine learning model.
| Semi-supervised learning | Supervised learning | Unsupervised learning | Reinforcement learning | |
|---|---|---|---|---|
| Training a robot to navigate a maze | ||||
| Labelling a small set of medical images and using them to classify a larger set | ||||
| Predicting student grades based on past results | ||||
| Teaching an AI agent to win a game through trial and error | ||||
| Classifying email as spam or not spam | ||||
| Grouping customers based on shopping habits |
Question 16 (2 marks)
Match each task with the correct software project phase.
| Identifying and defining | Researching and planning | Producing and implementing | Testing and evaluating | |
|---|---|---|---|---|
| Decide on a suitable software development approach. | ||||
| Develop, construct and document algorithms. | ||||
| Explore tools used to develop ideas and generate solutions. | ||||
| Use a language-dependent code optimisationtechnique. | ||||
| Explore social and ethical issues associatedwith project work. | ||||
| Define and analyse the requirements of aproblem. | ||||
| Compare actual with expected output | ||||
| Code the solution in a programming language |
Question 17 (2 marks)
Distinguish between authentication and authorisation.
Question 18 (3 marks)
The Python code below defines a function that allows a user to purchase an item.
import threading
lock = threading.Lock()
def purchase_item(user_id, item_id):
with lock:
if inventory[item_id] > 0:
inventory[item_id] -= 1
confirm_purchase(user_id, item_id)
Explain what a race condition is and how it could affect the purchase_item function if no lock was implemented.
Question 19 (4 marks)
A school’s online portal allows students to upload assessment files. Recently, a student discovered that by modifying the URL, they could access and download other students’ submitted files. It was also found that students could re-upload their work multiple times, overwriting previous submissions without detection even after the due date.
Describe how confidentiality, accountability and integrity has been compromised in this scenario.
Question 20 (6 marks)
Discuss the benefits of collaboration in software engineering.
In your response:
- Highlight at least three key advantages that effective collaboration can bring to a software development project.
- Provide an example of a collaboration tool and explain how it facilitates collaboration among developers.
Question 21 (2 marks)
Outline the primary function performed by the Domain Name System (DNS).
Question 22 (3 marks)
Outline the functions performed by web content management systems. Include two examples of web content management systems to assist your response.
Question 23 (4 marks)
Secure encrypted communication between browsers and web servers utilises the https protocol which includes SSL/TLS certificates.
Outline the exchange between browser and web server to:
- Confirm the identity of the web server
- Establish a secure session
- Communicate securely during the session
Question 24 (6 marks)
You have been tasked with designing and developing a Progressive Web App (PWA) aimed at enhancing the accessibility and inclusivity of educational resources for infants school students.
Outline how you would address the following key design principles when creating the user interface (UI) and user experience (UX) of your PWA.
- Font selection and typography
- Colour schemes and contrast
- The use of audio and video elements
- Navigation design
Question 25 (2 marks)
Distinguish between supervised and unsupervised learning.
Question 26 (3 marks)
Explain how weights and backpropagation allow a neural network to learn using training data.
Question 27 (4 marks)
You have been asked to create a program that predicts student test scores based on the number of hours they studied.
- Identify the most appropriate machine learning regression algorithm for this task.
- Briefly outline how you would implement this using object oriented programming (OOP).
- List two features your model would require to function effectively.
Question 28 (6 marks)
The K-Nearest Neighbours (KNN) algorithm is used to classify a new data point by comparing it to existing classified/labelled data points. It calculates the Euclidean distance between the new data point (shown as a question mark on the chart below) and every other point in the training data. It then counts the labels of the k closest points. The most common label among these neighbours is the predicted label assigned to the new point.

Write a pseudocode algorithm for a function called knn. It is passed:
- newPoint: the x and y coordinates of the point to classify as A, B, C or D
- tData: an array of x and y coordinates for all labelled points
- tLabels: an array of strings with the label A, B, C or D for each known point
- k: an integer
You may use the following pre-defined functions in your algorithm:
- distance(p1, p2): returns the Euclidian distance between two (x, y) points
- sort(pairlist): sorts an array of [distance, label] pairs in ascending order by distance
- mode(array): returns the label that occurs most frequently in an array
Your algorithm should return the predicted label for the new data point.
Question 29 (2 marks)
How can Gantt charts assist project managers ensure project deadlines are met?
Question 30 (3 marks)

Write a possible pseudocode algorithm for the FindItem routine based on the following structure chart.
Question 31 (4 marks)
Discuss the role and importance of programmed data backup and version control when producing and implementing code.
Question 32 (6 marks)
Compare the Wagile and Agile software development approaches.
In your response:
- Outline the key characteristics of each approach.
- Discuss one advantage and one disadvantage of each.
- Justify a project scenario where pure Agile would be more suitable than Wagile.