General Instructions
Reading time
There is no reading time given for viewing this past exam. You will be given 10 minutes reading time in the sample and real exams. During reading time in the sample and real exams you will not be able to answer questions, and exiting the exam at this stage is not possible. You can move freely between the questions, and you can flag questions. Highlighting of text is also permitted.
Working time
There is no time limit to viewing this past exam. You will be given 2 hours 20 minutes to attempt the questions in the sample and real exams.
Permitted equipment
You must use headphones while viewing video content or listening to audio.
Pen and paper are permitted for planning. The supervisor will provide you with paper.
The number of words that is provided for each short-answer item gives an indication of the length of response.
Total marks: 80
There are 25 questions.
Some questions have multiple parts.
Objective-response items total 18 marks.
Short-answer items total 62 marks.
Question 1 (1 mark)
Which of the following should take place during the requirements definition step when developing a software solution?
Question 2 (1 mark)
Which of the following best describes SMTP?
Question 3 (1 mark)
A company conducts all of its consultations with its clients via its website.
Which of the following is the best way for the company to maintain the security of its clients’ data?
Question 4 (1 mark)
Which of the following are benefits of collaborating with others when developing software solutions?
(More than one may be selected.)
Question 5 (1 mark)
New systems can be implemented in a number of different ways.
Match the implementation methods to their characteristics by dragging them to their corresponding boxes.
|
|
|
|
The new system runs immediately with no delay. |
|
|
The new system gradually replaces the old system. |
|
|
The new system and the old system run at the same time. |
|
|
The new system is trialled with a small group of users and then implemented entirely when ready. |
Question 6 (1 mark)
A company is creating a new online application.
Which of the following is the least important consideration when choosing an open-source front-end web framework for the new application?
Question 7 (1 mark)
Consider the following Python code:
for index in range(n):
print(index)
Select the correct option to complete the equivalent pseudocode.
Display index
NEXT index
Question 8 (2 marks)
The strategies listed below can be used to test the security of a web application that contains a database.
Classify each strategy as EITHER static application security testing (SAST) OR dynamic application security testing (DAST).
| Static Application Security Testing (SAST) | Dynamic Application Security Testing (DAST) | |
|---|---|---|
| Simulate attacks on the web application | ||
| Check the way SQL queries are constructed | ||
| Test the database’s web interface for vulnerabilities | ||
| Test the web application used to interact with the database when running | ||
| Analyse the code for connecting to the database to identify vulnerabilities |
Question 9 (2 marks)
Place the following steps of a number guessing game algorithm in the correct order by dragging the steps into position.
|
BEGIN GuessingGame | |||
| Set guess = -1 | ||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
| END GuessingGame | ||||
Question 10 (2 marks)
This structure chart describes an online ordering system for a café.

Which of the following statements are TRUE about this structure chart?
(More than one may be selected.)
Question 11 (3 marks)
Consider the following algorithm.
BEGIN responsiveScreen
Get ScreenSize
IF ScreenSize >= 1024 THEN
Viewport = ‘Desktop’
ELSEIF ScreenSize >= 768 THEN
Viewport = ‘Tablet’
ELSE
Viewport = ‘Phone’
ENDIF
Display "Display set to ", Viewport
END responsiveScreen
Provide a set of test data that will thoroughly test the algorithm. Include the expected outputs and reasons for inclusion. You may assume that all input data are valid.
| Test data (Screensize) | Expected output (Viewport) | Reason for inclusion |
|---|---|---|
Question 12 (6 marks)
Explain how a web developer could test a website for cross-platform compatibility. (3 marks)
Explain how the load time of a web page can be improved using a progressive web app (PWA). (3 marks)
Question 13 (3 marks)
Describe the function of protocols in the transfer of data. In your answer, refer to a specific web protocol.
Question 14 (3 marks)
PseudoPizza creates and sells custom-designed pizzas.
The price of a small pizza is $10. The following costs are added, depending on the size of the pizza base and the number of toppings chosen.
- Medium size: $2
- Large size: $4
- Each topping: $1.50
An algorithm is needed to calculate the cost of pizzas ordered for a customer.
The algorithm should calculate and display
- The cost of each pizza
- The total cost of the order.
Write the algorithm using pseudocode. Include at least one subroutine in your answer. You may assume that all inputs are valid.
Question 15 (3 marks)
Describe how machine learning algorithms can be used in data analysis.
Question 16 (3 marks)
A developer added a cascading style sheet (CSS) to their company's website.
The developer had expected the HTML code to display image 1, but image 2 is being displayed.
.png)
The following code was used by the developer.
index.html
.png)
main.css
.png)
Referring to the code, what is the cause of the problem? (1 mark)
Outline TWO benefits of adding CSS to the company’s website. (2 marks)
Question 17 (3 marks)
A shop uses an online database for recording its stock. The database contains a Products table and a Suppliers table. The prices are in dollars and the masses are in grams.
Products
.png)
Suppliers
.png)
The shop wants to identify all the products with a mass of at least 50 grams that are produced by Yumtreats.
Write an SQL query to display the product names and supplier names, in descending order by product name.
Question 18 (6 marks)
An online site requires its users to create accounts. These accounts are created using a 'Create Profile' web form, which includes fields such as username, password, first name, last name, mobile number, and date of birth.
Each username must satisfy the following rules:
- It must be at least 8 characters long.
- It must start with an uppercase letter.
- The second last character must be a lowercase letter.
- The last character must be numeric.
An example of a valid username is NESA24a3.
Explain how defensive data input handling practices can be implemented for this website. (3 marks)
Write a function in Python that will check whether a username satisfies the rules. (3 marks)
# Output
Question 19 (4 marks)
An app is being developed for use in a school. It will allow teachers to upload and assign work, and track student homework. Students can download work and upload their completed responses for marking.
Explain how authentication and authorisation could be applied to this app.
Question 20 (4 marks)
Consider the following decision tree of a trained machine learning model that determines whether to purchase a mobile phone.
.png)
Using the decision tree, determine the outcome of each of the following situations. (1 mark)
| Buy | Do not buy | |
|---|---|---|
| Memory = 256 GB, AI Assistant = Yes, Accessory Inclusions = No | ||
| Memory = 128 GB, AI Assistant = No, Accessory Inclusions = Yes | ||
| Foldable = Yes, AI Assistant = No, Accessory Inclusions = No |
The decision tree can be simplified without compromising its logic. Redraw the decision tree to reduce the number of branches. (3 marks)
Question 21 (6 marks)
At a school, each student studies five subjects. The school timetable has five periods each day, and each period is allocated to a different subject. The subject shifts to a different period each day so that each subject will appear in all five periods during the week.
An example of a student timetable is shown.
.png)
In this example, the student studies English, Software, Drama, Science and Sport. From Monday to Friday, English is held in Period 1, Period 2, Period 3, Period 4 and Period 5. Software is held in Period 2, Period 3, Period 4, Period 5 and then Period 1. A similar pattern can be observed for the other subjects.
You are required to write a Python program to print out the timetable in the following format:
Monday
Period 1: English
Period 2: Software
Period 3: Drama
Period 4: Science
Period 5: Sport
and so on …
Start your program with:
subjects = ["English", "Software", "Drama", "Science", "Sport"]
Different students may study different subjects.
The program will be used by different students to print out their timetable by changing the subjects listed in the first line of code
If the timetable is stored as a 2D array, what is the correct Python snippet for accessing the subject that is on Monday Period 3? (1 mark)
Write the Python program using subroutines. (5 marks)
# Output
Question 22 (5 marks)
An online relational database is used to keep track of students at a coding club. The contents of the database are shown.
Students
.png)
Complete the SQL query to generate the number of students at each level. (2 marks)
Race conditions have been identified as a potential issue for this database.
Provide an example of when a race condition may occur in this scenario and outline how secure code could be implemented to prevent it. (3 marks)
Question 23 (6 marks)
How can the effects of human bias be minimised when training machine learning algorithms? (3 marks)
Compare linear regression and K-nearest neighbour. (3 marks)
Question 24 (4 marks)
A train company wants a class diagram that models the relationship between long-distance train trips and passengers.
The long-distance train has:
- a unique trip identifier (eg AL456)
- a model code for the train engine (eg E67) and a model code (eg P9754) for each of the passenger cars
- two different areas ('Standard' and ‘Executive’). The Executive area has 20 seats and there are 400 seats in the Standard area.
Each passenger:
- has contact details including an email address and phone number
- purchases a ‘Standard’ or ‘Executive’ ticket and is given a seat number (eg 25D)
- may be a frequent traveller.
Create a class diagram for the train company.
Question 25 (8 marks)
A telecommunications company had a recent security breach which prompted a review to improve the security of its systems.
It has contracted QuidantCon to propose security enhancements.
QuidantCon's Proposal
Discuss QuidantCon’s proposal for security enhancements to the company’s systems.
.png)
.png)
.png)