TK Study

Software Engineering › Past questions › 2025

Past questions: 2025

82 questions.

2025 1 mark Short answer The Software Engineering Project (Year 12) Implementation methods

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: implementation methods (mapping grid: SE-12-07)]

Marking criteria

1: Identifies the correct answer.

Sample answer

Pilot

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Software development approaches

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: software development approaches, two dropdowns]

Marking criteria

1: Identifies the correct item from each dropdown.

Sample answer

Dropdown 1: Waterfall. Dropdown 2: Agile.

Question page · Practise and get marked

2025 1 mark Short answer Software Automation (Year 12) Machine learning training

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: machine learning training]

Marking criteria

1: Identifies the correct answer.

Sample answer

Supervised learning

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Optimisation

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: language-dependent optimisation]

Marking criteria

1: Identifies the correct answer.

Sample answer

Language-dependent code optimisation

Question page · Practise and get marked

2025 1 mark Short answer Secure Software Architecture (Year 12) API vulnerabilities

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: API vulnerabilities]

Marking criteria

1: Identifies the correct answer.

Sample answer

Exposure of more data than intended

Question page · Practise and get marked

2025 1 mark Short answer Programming for the Web (Year 12) Web protocols

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: web protocols (authentication)]

Marking criteria

1: Identifies the correct answer.

Sample answer

Ensuring that parties exchanging information are who they claim to be

Question page · Practise and get marked

2025 1 mark Short answer Programming for the Web (Year 12) CSS code fragment

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: a CSS code fragment (the question showed code; the code is not extractable)]

Marking criteria

1: Identifies the correct answer.

Sample answer

Blue background, white text, border around the heading

Question page · Practise and get marked

2025 1 mark Short answer Secure Software Architecture (Year 12) User action controls

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: user action controls]

Marking criteria

1: Identifies the correct answer.

Sample answer

Race conditions

Question page · Practise and get marked

2025 1 mark Short answer Programming for the Web (Year 12) ORM and SQL

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Match each characteristic to ORM, SQL, or both: (1) Code is focused on object manipulation; (2) Tables can be joined to enhance searching; (3) Programmers can choose the language used to access the database. [Characteristics as printed in the MG answer table; the question's introductory wording is not published.]

Marking criteria

1: Correctly matches each characteristic to the appropriate approach.

Sample answer

(1) ORM only. (2) Both ORM and SQL. (3) ORM only.

Question page · Practise and get marked

2025 1 mark Short answer Secure Software Architecture (Year 12) Regulatory compliance

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Identify ALL the items that are the goals of regulatory compliance in relation to software development. Options: Limiting the need for software updates; Protecting sensitive data from unauthorised access; Allowing developers to bypass security features when needed; Reducing the testing time required during software development; Ensuring software applications meet legal and industry standards.

Marking criteria

1: Identifies ALL the items that are the goals of regulatory compliance.

Sample answer

Protecting sensitive data from unauthorised access; Ensuring software applications meet legal and industry standards.

Question page · Practise and get marked

2025 1 mark Short answer Software Automation (Year 12) DevOps

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Identify ALL the items that are key principles of DevOps. Options: Rapid feedback; Freedom from bias; Procedural fairness; Automation of repetitive tasks; Collaboration and shared ownership.

Marking criteria

1: Identifies ALL the items that are key principles of DevOps.

Sample answer

Rapid feedback; Automation of repetitive tasks; Collaboration and shared ownership.

Question page · Practise and get marked

2025 2 marks Short answer Software Automation (Year 12) Logistic regression

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Six scenarios, each ticked true or false. The ticked (correct) scenarios were: Identifying whether a received email is spam; Determining the outcome of a two-party election; Working out if someone will be admitted to a university course. NOT ticked: Calculating house prices based on land size; Investigating the relationship between height and weight; Estimating the rate at which a contagious illness will spread. [Question stem not published; topic is logistic regression per the mapping grid.]

Marking criteria

2: True or false correct for all SIX check boxes. 1: Correct for FOUR of the six.

Sample answer

True: spam, two-party election outcome, university admission (all yes/no classification). False: house prices, height v weight, spread rate (continuous values: linear/polynomial regression).

Question page · Practise and get marked

2025 2 marks Short answer Secure Software Architecture (Year 12) SAST and DAST

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: identify the timing and source-code access for each of SAST and DAST]

Marking criteria

2: Correctly identifies the timing and source code access for each strategy. 1: Correct for ONE strategy, OR correct timing for each strategy.

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Data structures

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: data structures, dropdowns]

Marking criteria

1: Identifies the correct item from each dropdown.

Question page · Practise and get marked

2025 3 marks Short answer The Software Engineering Project (Year 12) Data dictionary

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: complete a data dictionary using dropdowns]

Marking criteria

3: ALL dropdowns correct. 2: FIVE correct. 1: THREE correct.

Question page · Practise and get marked

2025 3 marks Short answer The Software Engineering Project (Year 12) Testing and debugging

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: outline TWO software debugging tools (criteria wording: 'Outlines TWO relevant software debugging tools')]

Marking criteria

3: Outlines TWO relevant software debugging tools. 2: Outlines ONE tool, OR identifies TWO tools. 1: Some relevant information.

Sample answer

Breakpoints can be added to specific lines of code to halt program execution, allowing the programmer to check the value of specific variables or to step through the program line by line. Debugging output statements can be added to the code to indicate that a certain section of code has been reached or to show the contents of a variable.

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Progressive web apps

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

A weather app is to be designed to display real-time updates such as: rain commencing within the next 10 minutes; weather event warnings and warning cancellations; location specific weather conditions. (a) Compare the use of a progressive web app (PWA) with an interactive website, for delivering this weather app. (3 marks)

Marking criteria

3: Compares the use of a PWA with an interactive website for the weather app. 2: Outlines features of a PWA and/or interactive website. 1: Identifies a feature of a PWA or an interactive website.

Sample answer

Both PWAs and interactive websites are platform-independent, allowing users to access the app on any device with a browser. PWAs can pre-cache updates to enable offline updates when a stable internet connection is not available but may not provide real time updates for the most recent changes to weather or warnings. Meanwhile, interactive websites require a constant internet connection to provide any updates.

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Load times

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

(b) Outline TWO ways, other than the use of a PWA, to minimise the load time of this weather app. (3 marks)

Marking criteria

3: Outlines TWO ways, other than a PWA, to minimise load time. 2: Outlines ONE way, OR identifies TWO ways. 1: Some relevant information.

Sample answer

One way would be to provide the option to select lower resolution images or text only display. Another way would be to utilise caching as this would provide high speed access to commonly requested weather data.

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Privacy by design

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

(c) Describe ONE way that the 'privacy by design' approach could be implemented in this weather app. (3 marks)

Marking criteria

3: Describes ONE way privacy by design could be implemented in the weather app. 2: Outlines ONE feature of privacy by design. 1: Identifies a feature of privacy by design.

Sample answer

Embedded within the design of the weather app would be a process for regularly deleting identifiable data. For example, the app would likely record a person's live location to deliver relevant weather details. The privacy by design approach would incorporate a regular process to delete these locations from cache.

Question page · Practise and get marked

2025 3 marks Pseudocode The Software Engineering Project (Year 12) Algorithm design

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: pseudocode RiskRating: the sample answer sums an array Risks of 10 values, then sets Rating to High if Total > 35, Low if Total < 20, otherwise Medium, and displays it]

Marking criteria

3: Substantially correct pseudocode algorithm. 2: Addresses some aspects of the problem. 1: Some understanding of the problem or pseudocode.

Sample answer

BEGIN RiskRating Total = 0 index = 0 REPEAT Total = Total + Risks[index] index = index + 1 UNTIL index = 10 IF Total > 35 THEN Rating = "High" ELSE IF Total < 20 THEN Rating = "Low" ELSE Rating = "Medium" ENDIF ENDIF Display Rating END RiskRating (NESA also accepts a CASEWHERE version: CASEWHERE Total is > 35: Rating = "High" < 20: Rating = "Low" OTHERWISE: Rating = "Medium" END CASE; and an IF / ELSEIF / ELSE version.)

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Big data and web architecture

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

A streaming service has exclusive rights to broadcast a live event each Sunday afternoon. Explain how the streaming service can use metadata and data mining to prevent technical difficulties during the broadcast of this weekly event. (3 marks)

Marking criteria

3: Explains how metadata and data mining can be used to prevent technical difficulties during the broadcast. 2: Outlines how metadata AND/OR data mining can be used. 1: Identifies a feature of metadata or data mining.

Sample answer

Metadata describes the content, structure and meaning of raw data, enabling more effective, accurate and efficient data mining. Data mining identifies user preferences and viewing patterns from large datasets, helping streaming services personalise recommendations and identify times of predicted high demand. Streaming service management uses this along with real-time user data to balance server loads and deliver smooth playback experiences.

Question page · Practise and get marked

2025 3 marks Python / code Secure Software Architecture (Year 12) Developing secure code (Python)

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

In an organisation, temporary passwords are automatically generated for new user accounts. Each password is created from the first three letters of the username followed by '123'. For example, the username 'NESA' will have the password 'NES123'. When a user logs in for the first time, they are asked for their username and password. They receive a welcome message or an error message, depending on whether the password entered follows the rules of new user accounts. Write a Python program that asks a new user for their username and password, and then checks whether the password rule has been followed. (3 marks)

Marking criteria

3: Correct code for the problem. 2: Partially correct code that includes a correct selection structure OR password creation. 1: Some understanding of the scenario and Python.

Sample answer

uName = input('What is your username?') password = input('What is your password?') passwordP1 = uName[:3] passwordP1= passwordP1 + '123' if passwordP1 == password: print ('Welcome!') else: print ('Incorrect password entered')

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Session management

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Describe how session management can affect the efficiency of code execution for the user. (3 marks)

Marking criteria

3: Describes how session management can affect code execution efficiency. 2: Identifies some features of session management. 1: Some relevant information.

Sample answer

Efficient session management limits memory consumption by restricting session data size and lifetime. Excessive reading, writing or storing large objects increases input/output operations and slows code execution for the user. Removing sessions when they are no longer required is essential to prevent unnecessary resource consumption.

Question page · Practise and get marked

2025 4 marks SQL Programming for the Web (Year 12) SQL queries

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Below is the Issues table for a technical support company. FixTime, in minutes, is the time taken to complete each job. [table image not extractable: columns include JobID, Category, Status, FixTime] Construct a SQL query that displays: the number of pending software jobs; the number of pending hardware jobs; the number of escalated software jobs; the number of escalated hardware jobs. List the results in order from the highest to lowest, based on the number of jobs. (4 marks)

Marking criteria

4: Correct SQL query that extracts 'Pending' and 'Escalated' jobs for the 'Software' and 'Hardware' categories, counts the jobs for each status in each category, and outputs results in descending order. 3: Addresses most requirements. 2: Some understanding of the problem. 1: Some understanding of SQL or the problem.

Sample answer

SELECT Category, Status, COUNT(JobID) AS Jobs FROM Issues WHERE (Status = 'Pending' OR Status = 'Escalated') GROUP BY Status, Category ORDER BY Jobs DESC

Question page · Practise and get marked

2025 3 marks Design / diagram The Software Engineering Project (Year 12) Modelling tools

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

An animal classification tool is to be developed. The classes to be used are shown below. [classes shown in an image: not extractable] Construct a class diagram that shows inheritance and removes redundant attributes for each class. Additional classes may be included if required. You do NOT need to show the nature of the relationships between the classes. (3 marks)

Marking criteria

3: Correct class diagram that shows inheritance and removes redundant attributes from each class. 2: Some understanding of the problem. 1: Some relevant information.

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Social and ethical issues

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

A food delivery service offers prepackaged meals tailored to different dietary preferences, for example, vegetarian and gluten-free. It has developed a website for customers to place orders. The website is ready for testing and feedback. The website includes: a menu that dynamically updates based on meal availability; user accounts where customers can track deliveries and manage subscriptions; a backend that processes orders and payments, updates stock and communicates with the delivery team. (a) Outline potential social and ethical issues associated with the use of this website. (3 marks)

Marking criteria

3: Outlines relevant social and ethical issues. 2: Outlines ONE social or ethical issue OR identifies relevant issues. 1: Identifies ONE relevant issue.

Sample answer

The website will need to ensure payment and address data is appropriately secured and accessible only to authorised personnel. It also needs to ensure that pages can be viewed in a wide variety of languages and that the information about dishes displayed is accurate and representative of the product.

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Server-side web programming

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

(b) Explain why server-side web programming would be needed to develop this website. Support your answer with examples from the website. (3 marks)

Marking criteria

3: Explains why server-side web programming is needed, with examples from the scenario. 2: Outlines some features, with examples. 1: Identifies a feature and/or relevant examples.

Sample answer

Server-side development will need to be used to provide dynamic information to the front-end (website). There are many dynamic aspects to the website, including the menu which changes along with subscription information and order tracking information. Server-side scripting will need to be written to read the relevant information from storage (most likely, a database) and then provide this information to the front-end.

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Fundamental software design security concepts

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: fundamental software design security concepts; correct response for each of several items]

Marking criteria

3: ALL items correct. 2: THREE items correct. 1: ONE item correct.

Question page · Practise and get marked

2025 5 marks Extended response Software Automation (Year 12) Safety of workers (impact of automation)

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

A construction company introduces a safety monitoring system that uses artificial intelligence. Cameras and wearable sensors track worker movements and environmental conditions. The system detects unsafe behaviours through artificial intelligence, such as: standing too close to operating machinery; entering restricted zones; failure to wear personal protective equipment (PPE). Alerts are sent in real-time to site supervisors, and long-term data is stored for further analysis. Discuss the possible impact of this monitoring system on workers. (5 marks)

Marking criteria

5: Comprehensive discussion of the impact on workers with reference to the scenario. 4: Outlines both positive AND negative ways. 3: Outlines some ways. 2: Outlines ONE way OR identifies some ways. 1: Some relevant information.

Sample answer

The AI monitoring system can improve safety on site by reducing human error through real-time alerts and remote monitoring. It can also help supervisors track workers' compliance with PPE requirements and identify risky behaviours, potentially preventing accidents. However, some workers might feel their privacy is invaded, especially if the wearables continue monitoring during breaks or in private areas like bathrooms. There's also a risk of the system misidentifying safe behaviour as unsafe, leading to unnecessary alerts or stress which could cause distractions at critical times. Additionally, the long-term data collection could be used to improve training, but workers may worry about how the data is stored or used.

Question page · Practise and get marked

2025 5 marks Extended response Software Automation (Year 12) Patterns in human behaviour; neural networks (virtual personal assistant)

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

An airline introduces a virtual personal assistant as an initial support contact point for cancelled flights, missed connections, or lost luggage. The virtual personal assistant uses a neural network to: analyse support queries to direct customers to the appropriate department; recommend appropriate tone and wording to be used by the human customer support representative; assess data such as support turnaround time, customer ratings, and repeat contacts. Explain how the neural network supports the virtual personal assistant. Include ONE positive and ONE negative impact of using the virtual personal assistant. (5 marks)

Marking criteria

5: Explains how the neural network supports the VPA AND includes one positive AND one negative impact. 4: Explains how the NN supports the VPA OR outlines how it supports the VPA and includes one positive AND one negative impact. 3: Outlines features of a neural network AND/OR impacts. 2: Outlines a feature of a neural network OR an impact, OR identifies features/impacts. 1: Some relevant information.

Sample answer

Neural networks recognise natural language patterns to categorise common support queries, such as lost luggage, and use nodes to assist with processing. They assess language tone to gauge frustration or urgency, allowing the virtual personal assistant to recommend specific phrasing for customer service staff. For instance, calming language may be suggested for distressed customers. By tracking customer ratings and turnaround times, the neural network uses weightings to refine recommendations to prioritise high-frequency queries or improve suggestions for poorly rated interactions. While this system streamlines support processes and improves response accuracy, it may also impact the role of customer service staff. As the neural network learns from interactions, staff may rely more on its recommendations, potentially reducing their familiarity with emerging query trends or response strategies. Customers may come to expect faster, more precise service, raising the standard for human interactions.

Question page · Practise and get marked

2025 5 marks Python / code The Software Engineering Project (Year 12) Design, construct and implement a solution (Python)

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

[Exact question wording is not published as a paper (online exam). Task as shown by the NESA marking guidelines/mapping grid: Python program: generate 15 unique random numbers from 1 to 25 and print a 5 by 5 grid, with an X in each grid position whose number is in the list and a blank otherwise. Task inferred from the MG sample answer; the exact stem is not published as text]

Marking criteria

5: Correct Python program that creates a list of unique randomly generated numbers; processes the list correctly; uses selection and looping structures; provides correctly formatted output; uses inbuilt Python functions. 4: Substantially correct, most requirements. 3: Some requirements. 2: One requirement. 1: Some understanding of the problem.

Sample answer

import random

randList = [] for x in range(15): nextInt = random.randint(1,25) while nextInt in randList: nextInt = random.randint(1,25) randList.append(nextInt)

pos = 0 while pos < 25: if pos in randList: print ("| X", end=" ") else: print ("| ", end=" ") pos = pos + 1 if (pos % 5 == 0): print("| \n")

Question page · Practise and get marked

2025 6 marks Extended response Software Automation (Year 12) Bias in AI (human bias and data set source bias)

NESA 2025 HSC Software Engineering exam (online) - Marking Guidelines

Watch the video and then answer the question. Explain how human bias could affect the usefulness of artificial intelligence (AI) solutions. Support your answer with reference to the video. (6 marks) [The video is the stimulus; per the sample answer it covers a photo library / male physicists example and a game where people draw shoes.]

Marking criteria

6: Explains how human bias could affect the usefulness of AI solutions AND supports with reference to the video. 5: Describes how, and refers to a scenario(s) in the video. 4: Outlines how human bias could affect AI solutions and refers to the video. 2-3: Identifies some sources/examples of human bias AND/OR effects on AI AND/OR outlines how AI learns. 1: Some relevant information.

Sample answer

AI develops its ability by analysing vast amounts of data. The quality of these data can be influenced by human bias, and in turn, affect the usefulness of AI solutions.

Human bias may be explicit or implicit. Explicit biases are intentional. For example, a researcher may favour male physicists and only collect pictures of male physicists for training an AI solution, as shown in the video. Implicit biases operate unconsciously and may be shaped by social and cultural factors. Whether the bias was explicit or implicit, the choice of male physicists would suggest to the AI solution that physicists are male.

Human bias can occur in various stages of the development of AI solutions. As shown in the photo library example, training data needs to be diverse and representative, otherwise AI solutions may produce inaccurate or unhelpful responses. The process of labelling training data may also introduce biases as people may have different interpretations of the same data. The video shows that if most people draw shoes in particular ways, certain types of shoes will not be recognised as a shoe.

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Software development steps

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Which of the following should take place during the requirements definition step when developing a software solution? A. Identifying algorithms to be used B. Documenting security vulnerabilities C. Identifying potential security threats in the software D. Documenting the needs and constraints of the software

Marking criteria

1: Identifies the correct answer.

Sample answer

Documenting the needs and constraints of the software

Question page · Practise and get marked

2025 1 mark Short answer Programming for the Web (Year 12) Protocols

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Which of the following best describes SMTP? A protocol for email transmission / A set of rules to securely transfer files across a network / A set of rules for securing communication between computers / A protocol used for synchronising communication across networks

Marking criteria

1: Identifies the correct answer.

Sample answer

A protocol for email transmission

Question page · Practise and get marked

2025 1 mark Short answer Secure Software Architecture (Year 12) Encryption

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

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? Implement data encryption / Ensure that the software is user-friendly / Focus on software that incorporates metadata / Use software that allows for easy data integration with other platforms

Marking criteria

1: Identifies the correct answer.

Sample answer

Implement data encryption

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Collaboration

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Which of the following are benefits of collaborating with others when developing software solutions? (More than one may be selected.) Privacy is improved / Security of data is increased / Intellectual property is protected / Different points of view can be considered / Tasks can be delegated to those with expertise

Marking criteria

1: Correctly identifies the benefits.

Sample answer

Different points of view can be considered. Tasks can be delegated to those with expertise.

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Implementation methods

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

New systems can be implemented in a number of different ways. Match the implementation methods (Direct, Parallel, Phased, Pilot) to: (i) The new system runs immediately with no delay. (ii) The new system gradually replaces the old system. (iii) The new system and the old system run at the same time. (iv) The new system is trialled with a small group of users and then implemented entirely when ready.

Marking criteria

1: Correctly matches the implementation methods.

Sample answer

(i) Direct. (ii) Phased. (iii) Parallel. (iv) Pilot.

Question page · Practise and get marked

2025 1 mark Short answer Programming for the Web (Year 12) Front-end frameworks

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

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? Popularity of the framework on social media / Quality of existing framework documentation / Knowledge of the framework within the company's development team / Compatibility of the framework with the company's existing technology

Marking criteria

1: Identifies the correct answer.

Sample answer

Popularity of the framework on social media

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) Python to pseudocode

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Python: for index in range(n): print(index). Select the correct option to complete the equivalent pseudocode: FOR index = ______ / Display index / NEXT index. Options: 0 TO n; 1 TO n; 0 TO n−1; 1 TO n−1

Marking criteria

1: Identifies the correct answer.

Sample answer

0 TO n−1

Question page · Practise and get marked

2025 2 marks Short answer Secure Software Architecture (Year 12) SAST and DAST

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

The strategies below can be used to test the security of a web application that contains a database. Classify each as EITHER SAST OR DAST: (1) Simulate attacks on the web application; (2) Check the way SQL queries are constructed; (3) Test the database's web interface for vulnerabilities; (4) Test the web application used to interact with the database when it is running; (5) Analyse the code for connecting to the database to identify security vulnerabilities.

Marking criteria

2: Correctly classifies all the strategies. 1: Correctly classifies THREE strategies, which must include ONE SAST and ONE DAST.

Sample answer

SAST: (2) and (5). DAST: (1), (3) and (4).

Question page · Practise and get marked

2025 2 marks Short answer The Software Engineering Project (Year 12) Algorithm design (guessing game)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Place the steps of a number guessing game algorithm in the correct order. BEGIN GuessingGame; Set guess = -1; [steps]; END GuessingGame. Steps: Display "Guess a number between 0 and 100:"; Display "Well Done"; Set number = random integer between 0 and 100; WHILE guess <> number; Get guess; ENDWHILE.

Marking criteria

2: Correctly orders the steps. 1: Correctly orders the WHILE and ENDWHILE steps.

Sample answer

Set number = random integer between 0 and 100 WHILE guess <> number Display "Guess a number between 0 and 100:" Get guess ENDWHILE Display "Well Done"

Question page · Practise and get marked

2025 2 marks Short answer The Software Engineering Project (Year 12) Structure charts

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A structure chart (image, not extractable) describes an online ordering system for a café. Which statements are TRUE? (More than one may be selected.) Confirm cart is Boolean; Order number is a control variable; A valid loyalty account is not required for online ordering; The order cannot be displayed until the cart is confirmed; A choice is repeatedly offered between Browse menu and Add items to order

Marking criteria

2: Correctly identifies all the items that are true. 1: Identifies true or false correctly for THREE of the five check boxes.

Question page · Practise and get marked

2025 3 marks Short answer The Software Engineering Project (Year 12) Testing (test data)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

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. Provide a set of test data that will thoroughly test the algorithm. Include expected outputs and reasons for inclusion. (Table: Test data (ScreenSize), Expected output (Viewport), Reason for inclusion; 3 rows shown.)

Marking criteria

3: Test data that thoroughly tests the algorithm, with expected outputs and reasons. 2: Tests most of the boundaries and paths, with relevant outputs and reasons. 1: Some relevant information.

Sample answer

1024 -> Desktop (boundary check). 768 -> Tablet (boundary check). 100 -> Phone (below lowest screen size check). 850 -> Tablet (between Tablet and Desktop). 2000 -> Desktop (above highest screen size check).

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Cross-platform compatibility testing

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Explain how a web developer could test a website for cross-platform compatibility. (3 marks, max 75 words)

Marking criteria

3: Explains how a developer could test a website for cross-platform compatibility. 2: Outlines how, OR identifies strategies. 1: Some relevant information.

Sample answer

A web developer can use browser developer tools. These tools, built into most modern browsers, allow developers to simulate how their website looks and behaves on different devices and screen sizes. By using these tools, developers can identify and fix any issues related to cross-platform compatibility, ensuring that the website works well across a variety of devices and browsers.

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Progressive web apps and load time

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Explain how the load time of a web page can be improved using a progressive web app (PWA). (3 marks, max 75 words)

Marking criteria

3: Explains how load time can be improved using a PWA. 2: Outlines some features of a PWA and/or issues affecting load time. 1: Some relevant information.

Sample answer

A progressive web app (PWA) can improve load times by pre-caching important resources, allowing files such as image-gallery.js and video-gallery.js to be loaded into memory or cache while the rest of the page loads. PWAs also use service workers to cache resources, ensuring faster load times on repeat visits and offline functionality. Background synchronisation and background fetching can update content in the background, so users see the latest information without slowing down the initial load.

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) Protocols

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Describe the function of protocols in the transfer of data. In your answer, refer to a specific web protocol. (3 marks, max 75 words)

Marking criteria

3: Describes the function of protocols in the transfer of data, with reference to a specific web protocol. 2: Describes the function OR provides an example of a web protocol and its use. 1: Some relevant information.

Sample answer

Protocols are important in data transfer as they establish rules for communication between devices connected to a network, such as the internet. HTTP (Hypertext Transfer Protocol) enables browsers to request web content from servers, which respond with the requested data. The protocol defines the structure of requests and the response so that data transfer can occur.

Question page · Practise and get marked

2025 3 marks Pseudocode The Software Engineering Project (Year 12) Algorithm design (subroutines)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

PseudoPizza sells custom-designed pizzas. The price of a small pizza is $10. Added costs: 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. (3 marks)

Marking criteria

3: Substantially correct pseudocode that includes at least ONE subroutine. 2: Addresses some of the requirements. 1: Some understanding of the problem.

Sample answer

BEGIN main Get num_pizzas total_cost = 0 FOR i = 1 TO num_pizzas Get pizza_size Get num_toppings cost_per_pizza = calculate_pizza_cost(pizza_size, num_toppings) DISPLAY cost_per_pizza total_cost = total_cost + cost_per_pizza NEXT i DISPLAY total_cost END main

BEGIN calculate_pizza_cost(size, num_toppings) base_price = 10 topping_price = 1.5 IF size = "Medium" THEN base_price = base_price + 2 ELSEIF size = "Large" THEN base_price = base_price + 4 ENDIF pizza_cost = base_price + num_toppings * topping_price RETURN pizza_cost END calculate_pizza_cost

Question page · Practise and get marked

2025 3 marks Short answer Software Automation (Year 12) Machine learning in data analysis

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Describe how machine learning algorithms can be used in data analysis. (3 marks, max 75 words)

Marking criteria

3: Describes how ML algorithms can be used in data analysis. 2: Outlines some features of ML algorithms relevant to data analysis. 1: Some relevant information.

Sample answer

Machine learning algorithms can be trained with a subset of the data to automatically identify patterns and trends within large datasets. The algorithms can handle complex relationships and nonlinearities present in the data allowing for efficient and comprehensive analysis. Machine learning can also be used for predictions and forecasting. These models can learn from new data over time, continuously improving their analysis and predictive accuracy and performance.

Question page · Practise and get marked

2025 1 mark Short answer Programming for the Web (Year 12) CSS (id v class)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A developer added a CSS to their company's website. The developer expected the word "Software" to be bold and italics but it looks like regular text. index.html contains

Software includes code.

; main.css contains body {font-family: Arial;}, h1 {font-weight: bold; text-align: center;} and .qe_item {font-style: italic; font-weight: bold;}. Referring to the code, what is the cause of the problem? Font family is missing / Attribute of has not been defined / main.css has not been correctly referenced / The id qe_item has not been correctly referenced

Marking criteria

1: Identifies the correct answer.

Sample answer

The id qe_item has not been correctly referenced. (The HTML uses id="qe_item" but the CSS selector is .qe_item, which targets a CLASS. An id selector is #qe_item.)

Question page · Practise and get marked

2025 2 marks Short answer Programming for the Web (Year 12) CSS benefits

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Outline TWO benefits of adding CSS to the company's website. (2 marks)

Marking criteria

2: Outlines TWO benefits. 1: Some relevant information.

Sample answer

It can provide the same look and feel across the company's websites for consistency and ease of use. Separate html and CSS code can allow developers to work independently on files.

Question page · Practise and get marked

2025 3 marks SQL Programming for the Web (Year 12) SQL (join, filter, order)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A shop uses an online database with a Products table (ProductID, Name, Price, Mass, Producer, Quantity, SupplierID) and a Suppliers table (SupplierID, Name). The prices are in dollars and the masses are in grams. 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. (3 marks)

Marking criteria

3: Correct SQL query. 2: Addresses some of the requirements. 1: Some understanding of SQL.

Sample answer

SELECT Products.Name AS 'Product', Suppliers.Name AS 'Supplier' FROM Products, Suppliers WHERE Products.SupplierID = Suppliers.SupplierID AND Products.Producer = 'Yumtreats' AND Products.Mass >= 50 ORDER BY Products.Name DESC

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Defensive data input handling

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

An online site requires users to create accounts using a 'Create Profile' web form (username, password, first name, last name, mobile number, date of birth). Each username must: 1. be at least 8 characters long; 2. start with an uppercase letter; 3. have a lowercase letter as the second last character; 4. have a numeric last character. Valid example: NESA24a3. (a) Explain how defensive data input handling practices can be implemented for this website. (3 marks, max 75 words)

Marking criteria

3: Explains how defensive data input handling practices can be implemented for the website. 2: Outlines some features of data input handling practices. 1: Some relevant information.

Sample answer

Data sanitisation using client-side scripting can clean the data and remove dangerous input. Input validation on the client-side can check that entered data meets all of the requirements before getting processed by the server. Errors generated by data not meeting rules can be shown to the user.

Question page · Practise and get marked

2025 3 marks Python / code Secure Software Architecture (Year 12) Developing secure code (Python input validation)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

(b) Write a function in Python that will check whether a username satisfies the rules (the four username rules in 18a). (3 marks)

Marking criteria

3: Correct function in Python to check whether a username satisfies the rules. 2: Partially correct function. 1: Some understanding of the problem and Python.

Sample answer

def validate_username(username): valid = True

 # length check
 if len(username) < 8:
      valid = False
 elif (not username[0].isupper()):
      valid = False
 elif (not username[-2].islower()):
      valid = False
 elif (not username[-1].isdigit()):
      valid = False

 return valid

Question page · Practise and get marked

2025 4 marks Short answer Secure Software Architecture (Year 12) Authentication and authorisation

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

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. (4 marks, max 75 words)

Marking criteria

4: Explains how authentication AND authorisation could be applied. 3: Explains how authentication OR authorisation could be applied, OR outlines how both could be applied. 2: Outlines some features of authentication and/or authorisation. 1: Some relevant information.

Sample answer

Authentication ensures that only staff and students with valid usernames and passwords, which should be encrypted in storage (eg using hashing), can access the app. Authorisation controls access to specific features of the app based on user roles or groups. Teachers may have permissions to upload, assign and track homework, while students can only download tasks and upload completed work. By organising users into specific roles or groups, the app restricts access to appropriate functionality, ensuring that each user can only perform actions relevant to their role or group.

Question page · Practise and get marked

2025 1 mark Short answer Software Automation (Year 12) Decision trees

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A decision tree (image, not extractable) of a trained ML model determines whether to purchase a mobile phone. Using the decision tree, determine the outcome (Buy? Y/N) for: (i) Memory = 256 GB, AI Assistant = Yes, Accessory Inclusions = No; (ii) Memory = 128 GB, AI Assistant = No, Accessory Inclusions = Yes; (iii) Foldable = Yes, AI Assistant = No, Accessory Inclusions = No.

Marking criteria

1: Correctly determines the outcomes.

Question page · Practise and get marked

2025 3 marks Design / diagram Software Automation (Year 12) Decision trees

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

The decision tree can be simplified without compromising its logic. Redraw the decision tree to reduce the number of branches. (3 marks)

Marking criteria

3: Draws a correctly simplified decision tree. 2: Simplified tree with most of the logic. 1: Some understanding of the requirement.

Question page · Practise and get marked

2025 1 mark Short answer The Software Engineering Project (Year 12) 2D arrays (Python)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A school timetable has five periods each day (Monday to Friday). If the timetable is stored as a 2D array, what is the correct Python snippet for accessing the subject on Monday Period 3? Timetable[2] / Timetable[1,4] / Timetable[0][2] / Timetable[1].Subject

Marking criteria

1: Identifies the correct answer.

Sample answer

Timetable[0][2] (day index 0 = Monday, period index 2 = Period 3).

Question page · Practise and get marked

2025 5 marks Python / code The Software Engineering Project (Year 12) Python: subroutines, lists, loops

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

At a school each student studies five subjects; five periods each day; each period is a different subject; the subject shifts to a different period each day so each subject appears in all five periods during the week. Example: Monday P1 English, P2 Software, P3 Drama, P4 Science, P5 Sport; Tuesday P1 Sport, P2 English, ... Write a Python program (using subroutines) that prints the timetable as: Monday / Period 1: English / Period 2: Software ... for all five days. Start with: subjects = ["English", "Software", "Drama", "Science", "Sport"]. Different students may study different subjects; the program will be used by changing the first line only. (5 marks)

Marking criteria

5: Substantially correct Python program that places each subject in the correct period; displays all 5 days; provides appropriate subroutines; programmatically builds the timetable. 4: Most requirements. 3: Some requirements. 2: One requirement. 1: Some understanding.

Sample answer

subjects = ["English", "Software", "Drama", "Science", "Art"] NUM_DAYS = 5 NUM_PERIODS = 5 DAYS_OF_WEEK = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]

def create_timetable(subjects): timetable = [] for day in range(NUM_DAYS): periods = [] for period in range(NUM_PERIODS): periods.append(subjects[(period - day) % NUM_PERIODS]) timetable.append(periods) return timetable

def print_timetable(timetable): print() for day in range(NUM_DAYS): print(f"{DAYS_OF_WEEK[day]}") for period in range(NUM_PERIODS): print(f"\tPeriod {period+1}: {timetable[day][period]}") print()

timetable = create_timetable(subjects) print_timetable(timetable)

Question page · Practise and get marked

2025 2 marks SQL Programming for the Web (Year 12) SQL (GROUP BY)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A table Students(StudentID, FirstName, Surname, Attended, Level) tracks students at a coding club (12 rows; levels Beginner, Intermediate, Expert). Complete the SQL query to generate the number of students at each level: SELECT Level, ??? FROM Students ??? BY Level;

Marking criteria

2: Correctly completes the SQL query. 1: Correctly selects at least TWO correct options.

Sample answer

SELECT Level, COUNT(StudentID) FROM Students GROUP BY Level;

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Race conditions

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

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, max 75 words)

Marking criteria

3: Provides an example of when a race condition may occur AND outlines how secure code could prevent it. 2: Outlines some features of race conditions. 1: Some relevant information.

Sample answer

With multiple teachers potentially accessing the database at the same time, race conditions can allow malicious users to gain unauthorised access. Authentication could be used to restrict access to the database, and code can be written to use atomic transactions and database locks to time the reading and writing of data.

Question page · Practise and get marked

2025 3 marks Short answer Software Automation (Year 12) Bias in machine learning

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

How can the effects of human bias be minimised when training machine learning algorithms? (3 marks, max 75 words)

Marking criteria

3: Shows thorough understanding of how the effects of human bias on training can be minimised. 2: Outlines some effects of human bias on ML OR features of training. 1: Some relevant information.

Sample answer

Training data is initially selected by humans, who may unintentionally introduce their own biases. To minimise this, ensure that training data is representative of the problem the ML model will address. Reviewing data by individuals from diverse backgrounds could identify and reduce potential biases, ensuring fairer and accurate model performance.

Question page · Practise and get marked

2025 3 marks Short answer Software Automation (Year 12) Linear regression v K-nearest neighbour

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

Compare linear regression and K-nearest neighbour. (3 marks, max 75 words)

Marking criteria

3: Compares linear regression and KNN. 2: Outlines features of one or both. 1: Some relevant information.

Sample answer

Linear regression and K-nearest neighbours (KNN) are both supervised learning algorithms that make predictions from labelled data. The key difference is how they handle data: linear regression assumes a linear relationship between input features and the target variable, while KNN makes predictions based on the closest 'K' training examples, allowing it to handle more complex, non-linear patterns. However, KNN can be more computationally expensive than linear regression and is usually slower.

Question page · Practise and get marked

2025 4 marks Design / diagram The Software Engineering Project (Year 12) Modelling tools (class diagram)

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

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 (e.g. AL456); a model code for the engine (e.g. E67) and a model code (e.g. P9754) for each passenger car; two different areas ("Standard" and "Executive"): Executive 20 seats, Standard 400 seats. Each passenger: has contact details (email + phone number); purchases a ticket ("Standard" or "Executive") and is given a seat number (e.g. 25D); may be a frequent traveller. Create a class diagram for the train company (drawing tool). (4 marks)

Marking criteria

4: Substantially correct class diagram with suitable classes, attributes and methods, showing inheritance, relationships and multiplicity. 3: Represents most features. 2: Some features. 1: Some understanding of the scenario.

Question page · Practise and get marked

2025 8 marks Extended response Software Automation (Year 12) ML, DevOps, RPA, BPA in security

NESA HSC Software Engineering Sample Examination + Marking Guidelines (official, 2025)

A telecommunications company had a recent security breach which prompted a review of its systems. It has contracted QuidantCon, whose proposal includes: 1. Business Process Automation (BPA) Security: predictive analysis (identify vulnerabilities in business processes and automate risk mitigation); automated compliance monitoring (continuous compliance with security regulations through ML). 2. DevOps Integration: automated security testing (ML-powered code scanning and vulnerability testing); anomaly detection (monitor logs and traffic using ML). 3. Robotic Process Automation (RPA) Enhancement: intelligent task automation (optimise workflows using ML); threat prediction (predict and prevent security threats with ML). Discuss QuidantCon's proposal for security enhancements to the company's systems. (8 marks, max 300 words)

Marking criteria

8: Discusses the proposal with reference to ML in DevOps, RPA and BPA from the slideshow. 6-7: Outlines advantages AND disadvantages with reference to at least TWO of these areas. 4-5: Outlines some advantages and/or disadvantages with reference to ML in DevOps and/or RPA and/or BPA. 2-3: Some understanding of the features of the proposal. 1: Some relevant information.

Sample answer

QuidantCon's proposal for the company suggests leveraging machine learning (ML) and automation to bolster security measures. One key benefit is the automation of security testing and vulnerability scanning, facilitated by integrating ML-powered tools into the DevOps pipeline. This approach ensures continuous security testing and provides rapid feedback to developers, allowing for early detection of security issues and reducing the risk of vulnerabilities being exploited. The frequent and automated testing improves the overall security position and enhances compliance with industry standards. Additionally, ML algorithms can analyse vast amounts of data to detect patterns and anomalies, which is crucial for proactive threat identification. This capability enables the company to identify security risks proactively, learn from past incidents, and predict future attacks, thereby enhancing their overall security measures.

QuidantCon's proposal for the company also raises some concerns. One key issue is the need for high-quality data for ML algorithms to work effectively. If the data is inconsistent or incomplete, the ML models may not perform well, leading to false positives or missed threats. Another concern is the complexity of implementing ML solutions, which can be challenging and may require specialised skills and training. This complexity could result in integration challenges, higher costs, and delays. Additionally, ML systems can be biased, potentially affecting security decisions. Security and privacy are also critical, as handling sensitive data requires protection against unauthorised access and breaches. These concerns emphasise the need for a careful and balanced approach when considering ML and automation in security practices.

Question page · Practise and get marked

2025 1 mark Short answer Secure Software Architecture (Year 12) Development steps

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: development steps]

Marking criteria

1: Correctly orders the steps.

Question page · Practise and get marked

2025 3 marks Short answer Programming for the Web (Year 12) SQL

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: SQL]

Marking criteria

3: Correctly selects ALL options. 2: At least FIVE options correct. 1: At least TWO options correct.

Question page · Practise and get marked

2025 2 marks Short answer Programming for the Web (Year 12) Mail protocols

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: mail protocols: match features to the relevant protocols]

Marking criteria

2: Correctly matches the features to the relevant protocols. 1: At least TWO features correct.

Question page · Practise and get marked

2025 2 marks Short answer The Software Engineering Project (Year 12) Structure charts

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: structure chart true/false check boxes]

Marking criteria

2: Correctly identifies all the true items. 1: True/false correct for at least FIVE check boxes.

Question page · Practise and get marked

2025 3 marks Short answer The Software Engineering Project (Year 12) Testing (test data)

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: test data for an algorithm that converts a Mark to a Grade (H, P, N) using the boundaries 80 and 50, per the sample answer]

Marking criteria

3: Test data that thoroughly tests the algorithm, with expected outputs and reasons for inclusion. 2: Tests most boundaries and/or paths, with most expected outputs and reasons. 1: Some relevant information.

Sample answer

85 -> H (testing greater than 80). 80 -> H (boundary value 80). 60 -> P (between 50 and 80). 50 -> P (boundary value 50). 45 -> N (testing 'otherwise', below 50).

Question page · Practise and get marked

2025 3 marks Short answer Secure Software Architecture (Year 12) Sandboxing

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: a discussion of the use of sandboxing in the operating system]

Marking criteria

3: Thorough discussion of the use of sandboxing in the operating system. 2: Some understanding of the advantages and/or disadvantages. 1: Identifies a feature of sandboxing.

Sample answer

Sandboxing allows each application to be isolated so that it cannot pose a security risk by accessing system resources or other applications. However, it requires more resources as each application requires its own container. It may also be less convenient for users to access resources such as the device's camera or files as the sandbox will either prevent access or make it more difficult.

Question page · Practise and get marked

2025 1 mark Short answer Software Automation (Year 12) Decision trees

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: decision tree: Buy/Not Buy for three scenarios about a car (mileage, colour, optional accessories, type)]

Marking criteria

1: Correctly determines the outcomes.

Question page · Practise and get marked

2025 3 marks Design / diagram Software Automation (Year 12) Decision trees

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: redraw/simplify the decision tree]

Marking criteria

3: Correctly simplified decision tree. 2: Simplified tree with most of the logic. 1: Some understanding of the requirement.

Question page · Practise and get marked

2025 3 marks Pseudocode The Software Engineering Project (Year 12) Algorithm design (linear search)

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: modify a search algorithm so it achieves its intended purpose (find SearchItem in ItemArray and display its position, otherwise 'Not found')]

Marking criteria

3: Correctly modifies the algorithm to achieve its intended purpose. 2: Corrects some mistakes. 1: Some understanding of the problem.

Sample answer

BEGIN Search (SearchItem) Set LastIndex to the number of elements in ItemArray Found = FALSE Index = 1 WHILE Found = FALSE AND Index < LastIndex + 1 IF ItemArray(Index) = SearchItem THEN Found = TRUE ENDIF Index = Index + 1 ENDWHILE IF Found = TRUE THEN Display 'Position', Index - 1 ELSE Display 'Not found' ENDIF END Search

Question page · Practise and get marked

2025 3 marks Design / diagram The Software Engineering Project (Year 12) Prototype and user interface design

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: design a user interface for users to register an account, with features labelled]

Marking criteria

3: UI suitable for users to register an account, with features labelled. 2: UI with some relevant features. 1: Some understanding of the problem.

Question page · Practise and get marked

2025 3 marks Python / code Secure Software Architecture (Year 12) Developing secure code (Python input validation)

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: a Python function that checks whether a username satisfies given rules (stem not available)]

Marking criteria

3: Correct function in Python that checks whether a username satisfies the rules. 2: Partially correct function. 1: Some understanding of the problem and Python.

Sample answer

def validateUsername(username):

  # Length check
  if len(username) > 8:
      return False

  # Alpha character only check
  elif username.isalpha() == False:
      return False

  # < character check
  elif "<" in username:
      return False

  # If we reach here then the username meets the requirements
  return True

Question page · Practise and get marked

2025 4 marks Short answer Programming for the Web (Year 12) Load time

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: how the load time of a web page can be improved (stimulus: page source with large images, multiple CSS files and a JavaScript file image-gallery.js at the top)]

Marking criteria

4: Explains how the load time of the web page can be improved. 3: Outlines how some issues affecting load time can be resolved. 2: Identifies issues affecting load time OR outlines how to resolve ONE. 1: Some relevant information.

Sample answer

The images can be resized to 640 x 480 beforehand so that the webpage does not need to load the large 4000 x 3000 images. The multiple CSS style sheets could be converted into a single .css file, reducing the number of HTTP requests the browser needs to send. If the "image-gallery.js" JavaScript file at the top of the source code loads slowly, it can be moved to the bottom just above so that it will not block the rest of the page from loading.

Question page · Practise and get marked

2025 1 mark Short answer Secure Software Architecture (Year 12) Cross-site scripting

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: identify a vulnerability from a scenario (stem not available)]

Marking criteria

1: Identifies the correct answer.

Sample answer

Cross site scripting

Question page · Practise and get marked

2025 2 marks Short answer Secure Software Architecture (Year 12) Cross-site scripting

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: explain ONE way to minimise the XSS vulnerability]

Marking criteria

2: Explains ONE way to minimise the vulnerability. 1: Some relevant information.

Sample answer

The website could check and change user input so that markup and script become plain text. This will still allow the page to display the information but will prevent it from executing script code.

Question page · Practise and get marked

2025 2 marks SQL Programming for the Web (Year 12) SQL

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: give the output of an SQL query on a product table, including correct ordering of rows]

Marking criteria

2: Correct output for the SQL query, including the correct ordering of the rows. 1: Some relevant information.

Sample answer

ProductName / ProductPrice: Discovery 1 & 2 (DVD) 26.98; The Plant (DVD) 28.00

Question page · Practise and get marked

2025 3 marks SQL Programming for the Web (Year 12) SQL (joins, AS)

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: write a SQL query over Customers, Products and Orders showing customer, product and quantity with renamed columns, ordered by OrderID]

Marking criteria

3: Correct SQL query. 2: Substantially correct query with at least TWO of: renaming the columns; selecting the three tables; joining the tables. 1: Some understanding of renaming the columns or joining the tables.

Sample answer

SELECT Customers.CustName as 'Customer', Products.ProductName as 'Product', Orders.OrderQuantity as 'Quantity' FROM Products, Customers, Orders WHERE Orders.ProductID = Products.ProductID AND Orders.CustID = Customers.CustID ORDER BY Orders.OrderID ASC

Question page · Practise and get marked

2025 6 marks Python / code The Software Engineering Project (Year 12) Python: lists, loops, selection

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: Python program to display a player's scores and points per round from a list of 10 scores, with bonus points when a round scores 5 (add the next round's score) and a final-round rule (10 points), then the total]

Marking criteria

6: Substantially correct solution with ALL of: looping correctly; referring to the contents of the data structure correctly; displaying the player's scores and corresponding points as shown; calculating the total points; taking bonus points into account; handling the final round correctly. 5: Most features. 3-4: Some features. 2: One feature. 1: Some understanding.

Sample answer

Input code

scores = [3,5,5,2,1,4,0,1,4,5]

Display the scores and points

Header row

print("Round\tScore\tPoints") totalPoints = 0

Calculate the points and print

for i in range(len(scores)): roundNumber = i + 1 score = scores[i] points = score

# Check if any bonuses apply and NOT the final round
if points == 5 and i != 9:
    # Add the points from the next round as bonus points
    points += scores[i + 1]

# Check if the final round bonus applies
if points == 5 and i == 9:
    # Give the bonus points of 10
    points = 10

# Add to the total points tally
totalPoints += points

# Print the results
print(str(roundNumber) + "\t" + str(score) + "\t" + str(points))

print("\nTOTAL POINTS: " + str(totalPoints))

Question page · Practise and get marked

2025 8 marks Extended response Software Automation (Year 12) AI and ML in society; privacy

NESA 2025 HSC Software Engineering Familiarisation Questions - Marking Guidelines (official, 12 June 2025)

[Question stem not available as text (it is on the interactive NESA familiarisation site). Task per the NESA mapping grid: make an informed judgement about the use of artificial intelligence in our society, supporting the answer with information from the slideshow]

Marking criteria

8: Informed judgement about the use of AI in our society, comprehensive understanding of its use and effects, supported by information from the slideshow. 6-7: Broad understanding of the use of AI and its advantages and disadvantages, with some slideshow information. 4-5: Sound understanding; outlines some advantages and/or disadvantages. 2-3: Some understanding of AI. 1: Some relevant information.

Question page · Practise and get marked