Year 12 Digital Solutions External Exam Revision

Revision topics

Revision topics

Pseudocode and algorithm reasoning

 

Inputs, processes and outputs

Colourful brain icon
Icon: OpenMoji, CC BY-SA 4.0

Most algorithms can be understood by identifying what data enters, what happens to it and what result is produced.

Identify the three parts

A roadside safety system receives a vehicle's speed from a sensor. It compares that speed with the road's speed limit. If the vehicle is travelling too quickly, the system displays a warning to the driver.

Copy and complete the following:

Check your answer
 

Writing clear pseudocode

Pseudocode communicates the logic of an algorithm without requiring the exact syntax of a programming language. Its steps must still be ordered, consistent and unambiguous.

Friendly robot icon
Icon: OpenMoji, CC BY-SA 4.0
BEGIN
INPUT temperature
SET status = "safe"

IF temperature > 40 THEN SET status = "warning" ENDIF

OUTPUT status END

 

Selection and iteration

Selection chooses a path

IF condition THEN
    instructions
ELSE
    alternative instructions
ENDIF

Iteration does it again

FOR EACH item IN items DO
    process item
ENDFOR

WHILE condition DO repeat instructions ENDWHILE

Use FOR EACH when processing every item in a collection. Use WHILE when repetition depends on a condition.

Check for understanding

A registration form cannot predict how many times a user will enter an invalid password. It must keep requesting another password while the entered password contains fewer than 12 characters.

Analyse the situation. Choose either a FOR EACH loop or a WHILE loop, then explain why it suits this repetition.

Check your answer

A WHILE loop is appropriate because the number of attempts is unknown. Repetition continues while the password contains fewer than 12 characters.

INPUT password
WHILE LENGTH(password) < 12 DO
    OUTPUT "Password must contain at least 12 characters"
    INPUT password
ENDWHILE
 

Translate criteria into algorithm steps

Before writing pseudocode, break the problem into smaller jobs. Every criterion must be represented by one or more working steps in the algorithm.

Example criteria

Connect each criterion to a step

  1. Input the collection of sensor records.
  2. Initialise an empty list and a counter.
  3. Iterate through every record.
  4. Select records whose reading is above 80.
  5. Store their locations and increment the counter.
  6. Output the counter and stored locations.
 

Check for understanding

A review app stores a list of numerical ratings for each product. It must calculate the product's average rating. Some new products have an empty ratings list, so the algorithm must not attempt to divide by zero.

Analyse the requirement below before writing any pseudocode:

Display the average rating, or display “No ratings” when there are no reviews.

Write:

  1. the three variables needed to total, count and average the ratings
  2. the calculation used to find the average
  3. the condition that decides whether the calculation is safe.
Check your answer
 

Lists and objects

A list is an ordered collection. An object groups related values under named keys. Digital solutions often store objects inside lists and lists inside objects.

stations = [
    {"name": "North", "readings": [24, 31, 29]},
    {"name": "South", "readings": [35, 38]}
]
 

Accessing nested data

FOR EACH station IN stations DO
    SET total = 0
FOR EACH reading IN station["readings"] DO
    SET total = total + reading
ENDFOR

SET average = total / LENGTH(station["readings"])
OUTPUT station["name"], average

ENDFOR

The outer loop picks a station. The inner loop opens that station's readings and handles them one at a time.

Check for understanding

The current algorithm divides total by LENGTH(station["readings"]). Consider what happens when a station has no readings and the list length is zero.

Identify the error that could occur. Then recommend an IF statement that prevents it and displays No readings instead.

Check your answer

The algorithm could attempt to divide by zero. A suitable refinement is:

IF LENGTH(station["readings"]) > 0 THEN
    SET average = total / LENGTH(station["readings"])
    OUTPUT station["name"], average
ELSE
    OUTPUT station["name"], "No readings"
ENDIF
 

Modularisation and library functions

Modularisation divides a larger problem into smaller, focused jobs. Library functions provide existing operations that can be reused when their documented inputs, outputs and purpose match the problem.

SET congestion = CalculateCongestion(sensorReadings)
SET safestRoute = FindSafestRoute(start, destination, hazards)

Check a function's inputs, output and purpose. A function called FindSafestRoute will not send an alert unless its description explicitly says so.

Useful comments

# Criterion: warn the user about unavailable routes
IF safestRoute = NONE THEN
    OUTPUT "No safe route is available"
ENDIF

A useful comment explains intent or connects code to a criterion. A comment such as # Add one to count only repeats the instruction and adds little value.

 

Worked example: choosing suitable rooms

A venue needs to place a group in a suitable room. The algorithm must display every room big enough for the group, then count how many of those rooms are accessible.

BEGIN
INPUT rooms
INPUT groupSize
SET accessibleCount = 0

FOR EACH room IN rooms DO IF room["capacity"] >= groupSize THEN OUTPUT room["name"]

    IF room["accessible"] = TRUE THEN
        SET accessibleCount = accessibleCount + 1
    ENDIF
ENDIF

ENDFOR

OUTPUT "Accessible suitable rooms:", accessibleCount END

 

Check for understanding

The venue algorithm is tested with a group of 18 people and the following room data:

rooms = [
    {"name": "A1", "capacity": 20, "accessible": TRUE},
    {"name": "B2", "capacity": 12, "accessible": TRUE},
    {"name": "C3", "capacity": 30, "accessible": FALSE}
]

groupSize = 18

  1. Explain why accessibleCount is initialised before the loop.
  2. Explain why the accessibility selection is nested inside the capacity selection.
  3. Determine every value displayed by the algorithm.
Check your answer
  1. The counter needs a known starting value before it can be incremented. Initialising it before the loop also prevents it from being reset for every room.
  2. Only rooms with enough capacity are suitable. Nesting ensures that accessibility is counted only for suitable rooms.
  3. The algorithm displays A1, C3 and Accessible suitable rooms: 1.
 

Desk checking an algorithm

Magnifying glass icon
Icon: OpenMoji, CC BY-SA 4.0

A desk check traces an algorithm manually using supplied test data and a table. Record every variable change, decision and output in sequence rather than jumping directly to the expected result.

Iterationroomcapacity conditionaccessible conditionaccessibleCountoutput
Initial———0—
1A1TrueTrue1A1
2B2FalseNot tested1—
3C3TrueFalse1C3
Final———1Accessible suitable rooms: 1

Key idea: The final answer is not enough. The trail of intermediate values is what exposes the bug.

 

Independent practice: event check-in

A community event uses a check-in app. Staff need to see who has arrived and receive an alert when a checked-in attendee is under 18. Attendees who have not checked in must not be displayed or included in the count.

The app receives these attendee records:

attendees = [
    {"name": "Ari", "checkedIn": TRUE, "age": 17},
    {"name": "Mika", "checkedIn": FALSE, "age": 22},
    {"name": "Sam", "checkedIn": TRUE, "age": 31}
]

Available library function: SendAlert(message) sends a message to event staff.

Criteria

Develop and symbolise a complete algorithm in pseudocode. Add comments showing where each criterion is addressed. Then desk check the variables and output using the supplied data.

Expected output

Submit:

  1. one complete pseudocode algorithm
  2. one desk-check table showing the value of under18Count during every iteration
  3. the names, alert and final count produced as output.
View a sample solution
BEGIN
INPUT attendees
SET under18Count = 0

Criterion: process every attendee

FOR EACH attendee IN attendees DO # Criterion: display each checked-in attendee IF attendee["checkedIn"] = TRUE THEN OUTPUT attendee["name"]

    # Criterion: count checked-in attendees under 18
    IF attendee["age"] &lt; 18 THEN
        SET under18Count = under18Count + 1
    ENDIF
ENDIF

ENDFOR

Criterion: alert staff when required

IF under18Count > 0 THEN SendAlert("A checked-in attendee is under 18") ENDIF

Criterion: display the final count

OUTPUT "Checked-in attendees under 18:", under18Count END

IterationnamecheckedInage < 18under18Countoutput/action
Initial———0—
1AriTrueTrue1Ari
2MikaFalseNot tested1—
3SamTrueFalse1Sam
After loop———1SendAlert(...)
Final———1Checked-in attendees under 18: 1
Revision topics

Cybersecurity and the CIA triad

 

Threats, vulnerabilities and risks

Shield representing protection of digital data
Icon: OpenMoji, CC BY-SA 4.0

Cybersecurity protects digital systems, networks and data from harm. The harm may be deliberate, such as stealing records, or accidental, such as deleting a shared file. A power failure, faulty update or overloaded server can also create a security problem.

To investigate a scenario, separate three ideas:

 

Spot the threat, weakness and risk

A club stores its membership database on one unprotected laptop. Match each item to threat, vulnerability or risk.

  1. The laptop is stolen.
  2. The laptop has no sign-in protection or encrypted storage.
  3. An unauthorised person may read members' addresses.
Check your answer
  1. Threat: theft of the laptop could cause harm.
  2. Vulnerability: the missing protections make access easier.
  3. Risk: private data may be disclosed, causing harm to members.
 

Confidentiality, integrity and availability

In cybersecurity, the CIA triad identifies three properties that data and systems should preserve.

PropertyThe question to askA compromise
ConfidentialityCan only authorised people access the data?A stranger views private medical results.
IntegrityIs the data accurate, complete and protected from unauthorised change?A price is accidentally changed from $25 to $2.
AvailabilityCan authorised users access the data or service when needed?A booking system is offline during enrolment.

Key idea: Authorised access matters. Keeping everyone out would preserve secrecy, but a system that legitimate users cannot access has poor availability.

 

Classifying a compromise

Check for understanding

Determine the main CIA property compromised in each incident.

  1. A student changes another student's attendance record.
  2. A flood damages the only server holding assessment files.
  3. A spreadsheet containing home addresses is emailed to the wrong group.
  4. A surge of traffic prevents customers from opening an online store.
Check your answer
  1. Integrity: the record has been changed without authorisation.
  2. Availability: authorised users cannot retrieve the only stored copy.
  3. Confidentiality: unauthorised recipients can view personal data.
  4. Availability: legitimate customers cannot access the service.
 

Constructing a risk analysis

Writing “confidentiality risk” names a category but does not show the reasoning. Build a short chain that connects evidence to a consequence.

Because [scenario evidence], [threat or event] could [what happens to the data or service], which compromises [CIA property] because [consequence for an authorised user, person or organisation].

Worked example

A sports club lets every volunteer use the same administrator account to view and edit member records.

Too vague: There is an integrity risk.

Analysed: Because every volunteer shares an administrator account, a volunteer could alter a member's payment status without the change being reliably attributed. This compromises integrity because staff may act on an inaccurate account balance.

 

Apply the risk-analysis structure

A school canteen app stores allergy details and account balances. At a busy event, staff record purchases on paper and update the app several hours later.

Analyse the scenario to determine one risk to data integrity. Produce one complete risk statement that includes:

View a sample solution

Because purchases are recorded on paper and entered several hours later, a transaction could be missed or entered incorrectly. This compromises integrity because the stored account balances may be inaccurate, so students could be charged the wrong amount.

 

One incident can have several effects

The triad is a thinking tool, not three sealed boxes. One incident may compromise several properties, but each claim needs its own cause and consequence.

Imagine ransomware that encrypts a medical clinic's patient files and sends a copy to an attacker:

Avoid this trap: Do not force all three properties into every scenario. Select only those supported by the evidence.

 

Identify each affected property

A malicious user deletes the only copy of a community centre's booking database after reading the contact details inside it. Analyse the incident and identify every CIA property directly compromised. Justify each choice with a different consequence.

Check your answer
 

Privacy and confidentiality are different

Privacy concerns how personal information is collected, used, disclosed and managed, including people's expectations and rights. Confidentiality concerns preventing unauthorised access or disclosure.

A confidential dataset can still create a privacy concern. For example, an organisation might securely restrict access to location data but collect far more of it than its service needs. No outsider saw the data, yet the collection may still be inappropriate.

 

Privacy, confidentiality or both?

For each scenario, identify whether the main issue is confidentiality, privacy, or both.

  1. An employee posts a customer's private support message publicly.
  2. A fitness app collects precise location every minute even when its route feature is turned off, but keeps the data securely restricted.
  3. A clinic collects relevant health data for patient care, but an unauthorised contractor reads it.
Check your answer
  1. Both: personal information has been disclosed inappropriately and confidentiality has been compromised.
  2. Privacy: the concern is excessive collection, even though access remains restricted.
  3. Both: the collection has a legitimate purpose, but unauthorised access compromises confidentiality and the handling of personal information affects privacy.
 

Independent investigation: the late-night library

A public library launches an after-hours locker service. Members reserve items in an app, then enter a six-digit collection code at a locker terminal. Consider this system:

On paper, analyse the scenario to determine one risk to each part of the CIA triad. For each risk, write:

  1. the relevant scenario evidence
  2. the event or data problem that could occur
  3. the consequence that justifies your classification.
View a sample solution
Revision topics

Security strategies and their appropriate uses

 

Start with the vulnerability

A security strategy is appropriate when it addresses a particular weakness or threat. Naming a powerful-sounding technology is not enough.

Useful reasoning chain: vulnerability or threat → possible event → affected CIA property → strategy → how the strategy reduces the risk.

For example, if anyone can edit every record after signing in, stronger encryption does not fix the permission problem. Role-based access control does.

Choose the missing link

A sports centre encrypts bookings while they travel between its app and server. However, every staff account can change payment records.

Analyse the weakness. Is the most appropriate additional strategy encryption, a checksum or role-based access control? Justify your choice.

Check your answer

Role-based access control is most appropriate. It can restrict changes to payment records to authorised finance staff, reducing unauthorised changes and protecting integrity. Encryption in transit is already present, while a checksum could detect an accidental transmission error but would not decide who may edit a record.

 

Authentication: prove who or what you are

Authentication verifies a claimed identity before access is granted. It may authenticate a person, device, application programming interface (API) or server.

FactorMeaningExample
Something you knowA secret remembered by the userPassword or PIN
Something you haveA device or token in the user's possessionAuthenticator app or security key
Something you areA biometric characteristicFingerprint or facial recognition

Two-factor authentication (2FA) uses two different factor types. Multi-factor authentication (MFA) uses two or more. A password followed by a second password is two steps, but not two factors: both are something the user knows.

 

Verification codes and biometrics

A verification code from an authenticator app demonstrates possession of a registered device. A biometric comparison tests a physical or behavioural characteristic.

Avoid this trap: MFA reduces the risk of a stolen password being enough to enter an account. It does not encrypt data, remove malware or ensure that an authenticated user has appropriate permissions.

Check for understanding

Determine which sign-in process uses two different factors.

  1. Password followed by a PIN.
  2. Password followed by a code from an authenticator app.
  3. Fingerprint followed by facial recognition.
Check your answer

Option 2. The password is something the user knows and the authenticator code demonstrates something the user has. Option 1 uses two knowledge factors, while option 3 uses two biometric methods from the same factor type.

 

Authorisation: control what an identity may do

Authentication asks, “Who are you?” Authorisation asks, “What are you allowed to access or change?” Authorisation occurs after identity is established.

Role-based access control (RBAC) assigns permissions to roles rather than granting every user the same access.

RoleView bookingsEdit own bookingRefund payments
CustomerOwn onlyYesNo
ReceptionistAllAllNo
Finance managerAllAllYes

The principle of least privilege gives each identity only the access needed for its work. This limits both accidental damage and misuse of a compromised account.

Apply least privilege

A school event app has student, teacher and administrator roles. Students need to view events and save favourites. Teachers also publish notices. Only administrators approve new user accounts.

Recommend permissions for each role and justify why students should not receive administrator access.

View a sample solution

Students do not need account-approval permission. With least privilege, a mistake or compromised student account cannot create unauthorised users, protecting confidentiality and integrity.

 

Encryption: make intercepted data unreadable

Encryption transforms plaintext into ciphertext using an algorithm and key. An authorised recipient uses the required key to decrypt it.

Encryption primarily supports confidentiality. It is appropriate when an unauthorised party might intercept a transmission or access stolen storage.

Limitation: encryption does not make an authorised user's actions correct. If an attacker steals a valid account or encryption key, they may still access data. Key management and authentication matter.

 

Symmetric and asymmetric approaches

ApproachKeysUseful featureChallenge
SymmetricThe same secret key encrypts and decrypts.Efficient for larger amounts of data.The shared secret key must be exchanged securely.
AsymmetricA public and private key form a pair.The public key can be shared without revealing the private key.Generally more computationally demanding.

Real secure exchanges may combine both approaches: asymmetric techniques establish or protect a shared secret, then symmetric encryption efficiently protects the session data.

Check for understanding

A student sends assessment feedback through café Wi-Fi. Recommend a strategy for protecting the feedback while it is transmitted and explain its effect.

Check your answer

Use an encrypted connection between the student's device and the service. If network traffic is intercepted, the feedback is ciphertext rather than readable plaintext, reducing unauthorised disclosure and protecting confidentiality. The service must also authenticate the server so the student is not securely sending data to an impostor.

 

Hashing: create a one-way digest

A cryptographic hash function accepts input of any practical length and produces a fixed-length digest. A small input change should produce a very different digest.

For password verification, a system stores a salted password hash rather than a decryptable password. At sign-in, it hashes the entered password with the stored salt and compares the result with the stored digest.

Encryption and hashing are not interchangeable: encrypt when authorised users must recover the original data; hash when the system needs a one-way fingerprint for comparison or verification.

 

Hashing and integrity

A sender can calculate a digest before transfer and the receiver can recalculate it afterwards. Different digests show that the data changed. However, a plain hash alone does not prove who created the data: an attacker who can replace both file and digest could make them match.

Select encryption or hashing

For each purpose, determine whether encryption or hashing is more appropriate.

  1. A clinic must recover and display a patient's stored notes.
  2. An app must check an entered password without storing the password itself.
  3. A recipient must detect whether a downloaded file differs from the expected file.
Check your answer
  1. Encryption: authorised staff must recover the original notes.
  2. Hashing: the entered password's salted digest can be compared without decrypting a stored password.
  3. Hashing: comparing digests can reveal a change to the file.
 

Checksums: detect transmission errors

A checksum is a value calculated from a block of data. The receiver recalculates it and compares the values. A mismatch indicates that the data was altered or corrupted during storage or transmission.

Checksums are useful for detecting accidental errors, such as a damaged packet. They do not hide the data and a simple checksum is not reliable protection against a malicious attacker who can alter both the data and checksum.

TechniqueMain purposeCan recover original?Hides content?
EncryptionProtect confidentialityYes, with the required keyYes
Cryptographic hashCreate a one-way digest; help verify integrityNoIt does not transmit the original content
ChecksumDetect accidental corruptionNoNo
 

Layer strategies instead of searching for one fix

One strategy rarely addresses every risk. Defence in depth combines controls so that one failure does not expose the whole system.

For a payment exchange:

Be precise: a control usually reduces likelihood or impact; it does not guarantee that a breach is impossible.

 

Match controls to weaknesses

A community health portal has these weaknesses:

  1. Patients can sign in using only a reused password.
  2. Appointment details cross an untrusted network as readable text.
  3. Receptionists can open clinicians' private case notes even though their work does not require it.
  4. A transmitted booking sometimes arrives with digits missing.

For each weakness, recommend the most directly relevant strategy from MFA, encryption in transit, role-based access control or checksum. Justify each match.

Check your answer
  1. MFA: a stolen or reused password is not enough without a different factor, reducing unauthorised account access.
  2. Encryption in transit: intercepted appointment data is unreadable without the required key, protecting confidentiality.
  3. Role-based access control: receptionist permissions can exclude case notes, applying least privilege.
  4. Checksum: a recalculated value that does not match reveals accidental corruption during transmission.
 

Write a justified recommendation

A strong recommendation names the specific strategy, connects it to scenario evidence and explains the protective mechanism.

Recommend [specific strategy] because [evidence identifies the vulnerability]. It [explain the mechanism], which reduces [event or consequence] and protects [CIA property]. [Relevant limitation or supporting control].

Worked example

A tutoring app uses one shared staff login. Tutors need to view session times, but only the coordinator should change invoices.

Too vague: Use better security so hackers cannot enter.

Justified: Use individual accounts with role-based access control because the shared login gives every tutor the same permissions and actions cannot be reliably attributed. Give tutors read access to session times and reserve invoice changes for the coordinator. This reduces unauthorised or accidental changes and protects invoice integrity. MFA could additionally reduce account takeover, but it would not replace permission controls.

 

Independent practice: festival wallet

A school festival uses a mobile wallet. Students add funds before the event and scan a code at stalls. The proposed system has these characteristics:

On paper, analyse the system and recommend four security strategies. For each recommendation:

  1. quote or paraphrase the relevant evidence
  2. name a specific strategy
  3. explain how it works in this context
  4. justify the CIA property it helps protect.

At least one response must address authentication, one must address authorisation and one must secure data transmission.

View a sample solution
  1. Encryption in transit: Because identifiers and payment amounts cross a shared wireless network, use an authenticated encrypted connection between the app and server. Intercepted traffic would be unreadable without the required key, protecting confidentiality.
  2. MFA: Because an account currently needs only an email address and password, require a second factor such as a code from a registered authenticator app. A stolen password alone would not authenticate the attacker, reducing unauthorised access to balances and personal details.
  3. Role-based access control: Because volunteers and finance staff have identical access, give volunteers only the permissions needed to accept payments and reserve refunds and broader personal data for finance staff. This applies least privilege and protects confidentiality and integrity.
  4. Salted password hashing: Because passwords are readable in the database, store a salted cryptographic hash and compare hashes during sign-in. A database disclosure would not directly reveal the original passwords. MFA remains valuable because weak passwords may still be guessed.

A checksum is also a valid additional recommendation for detecting the described accidental packet corruption. It would support integrity by flagging a mismatch so the packet could be rejected or retransmitted, but it would not provide confidentiality.

Revision topics

Data-flow diagrams and exchange-system relationships

 

What a data-flow diagram shows

A data-flow diagram (DFD) represents where data comes from, how a system transforms it, where it is stored and where it goes. It focuses on logical data relationships rather than screen layout, program-control order or network hardware.

Ask four questions: Who supplies or receives data? What process transforms it? Where is it stored? What data crosses each connection?

A DFD can contain physical objects and manual storage as well as digital data. For example, a library process may receive a book identifier, update a digital record and release a physical book from a shelf.

DFD or flowchart?

Determine which representation best suits each purpose.

  1. Show the decisions and repetition in an account-login algorithm.
  2. Show how login credentials move from a user to a verification process and user store.
Check your answer
  1. A flowchart or pseudocode is appropriate because the purpose is to show algorithm control and decisions.
  2. A DFD is appropriate because the purpose is to show data sources, transformation, storage and movement.
 

The four Gane–Sarson elements

QCAA Digital Solutions uses Gane–Sarson notation. Copy the shapes accurately enough that their different functions are unambiguous.

Examples of an external entity, process, data store and labelled directional data flow. Student External entity 1.0 Check booking Process D1 Bookings Data store booking request Labelled data flow; arrow shows direction
ElementJobNaming convention
External entityA source or destination outside the area being studied.Noun, such as Student or Payment service.
ProcessTransforms incoming data into outgoing data.Verb or verb–object name, such as Check booking.
Data storeA repository holding data for later use.Numbered noun, such as D1 Bookings.
Data flowShows data moving in the arrow's direction.Noun describing the actual data, such as booking request.
 

Classify each system component

A canteen ordering system includes a student, a process that calculates the order total, a collection of menu records and the order details sent into that process.

Recognise each DFD element and give it a suitable label.

Check your answer
 

Name and number elements precisely

Good labels allow a reader to understand the system without guessing.

PrefixStore typeExample
DData on disk, retained when power is offD1 Accounts database
MManual data: physical files, paper records or manually processed digital dataM1 Consent forms
TTemporary or transient data, not retained long-termT1 Session cache

Avoid vague labels: data, information, do booking and system hide the relationship. Name the actual data and transformation.

 

Repair the labels

A draft DFD uses Member for an entity, Bookings for a process, Save for a data store and data for a flow containing a requested date and room identifier.

Analyse the labels and rewrite the three unsuitable ones.

View a sample solution
 

Connections must pass through a process

A process is the active element that transforms, validates, records or retrieves data. Therefore an external entity cannot exchange data directly with another external entity or a data store.

ConnectionValid?Reason
Entity → processYesThe process receives data to transform.
Process → storeYesThe process writes data to storage.
Store → processYesThe process retrieves stored data.
Entity → storeNoData must be processed first.
Entity → entityNoThat exchange is outside the represented system unless a process handles it.

Use a separate arrow for each direction. A request and reply are different flows and should be labelled separately.

Find three convention errors

A draft diagram shows a Customer entity sending details directly to D1 Orders. The store sends stuff directly to a Kitchen entity. A process between them is named Order.

Analyse the draft and describe three corrections.

Check your answer
  1. Route the customer's order details through a process before D1 Orders.
  2. Route stored order data through a process before outputting a kitchen order to Kitchen.
  3. Rename and number the process with a verb–object label, such as 1.0 Record order.
 

Worked example: equipment loans

A student submits a student ID and equipment ID. The system checks the equipment record, stores an approved loan and returns either a collection notice or an unavailable notice.

A Student entity sends student ID and equipment ID to Check availability. That process reads equipment status from D1 Equipment. Available loan details go to Record loan, which writes a loan record to D2 Loans and sends a collection notice to the Student. Check availability can also send an unavailable notice to the Student. Student 1.0 Check availability D1 Equipment 2.0 Record loan D2 Loans student ID, equipment ID equipment ID equipment status approved loan details loan record collection notice unavailable notice
 

Trace the worked example

Do not merely list connected shapes. Explain what moves, in which direction, and what each process does with it.

  1. The Student sends a student ID and equipment ID to 1.0 Check availability.
  2. The process sends the equipment ID to D1 Equipment and receives the equipment status.
  3. If unavailable, the process returns an unavailable notice to the Student.
  4. If available, approved loan details flow to 2.0 Record loan.
  5. The second process writes a loan record to D2 Loans and sends a collection notice to the Student.

Explain a relationship

Explain the relationship between the Student entity and D2 Loans. Include any process between them.

View a sample solution

The Student supplies a student ID and equipment ID to Check availability. If D1 Equipment returns an available status, approved loan details pass to Record loan. Record loan then writes a loan record to D2 Loans and returns a collection notice to the Student. The Student does not access D2 Loans directly.

 

Explain relationships, not just arrows

An explanation should connect evidence from the complete path.

[Source] sends [named data] to [process]. The process [transformation] using [data read from a store, if relevant], then sends or stores [named output] in [destination].

If the diagram mixes manual, physical and digital flows, state that distinction. A paper consent form can be an M store; a physical item can flow from a manual store through a delivery process; a digital identifier can trigger that action.

Build the explanation

A volunteer sends a ticket code to 1.0 Validate ticket. The process reads valid-code data from D1 Tickets and returns an entry decision to the volunteer.

Explain the relationship between the Volunteer and D1 Tickets in two or three sentences.

View a sample solution

The Volunteer sends a ticket code to Validate ticket. That process uses the code to retrieve valid-code data from D1 Tickets, compares the records and returns an entry decision to the Volunteer. The process mediates the relationship, so the Volunteer does not read the store directly.

 

Data flow within and between systems

A digital solution may contain a front end, back end and database while also exchanging data with external services.

Whether something is an external entity depends on the chosen system boundary. If the diagram studies a booking app, a payment service may be external. If it studies the payment provider itself, that provider contains processes and stores.

Do not draw technology for its own sake: a phone, Wi-Fi router or API is not automatically a DFD element. Represent a source, transformation, store or flow only when it helps explain the studied data process.

 

From scenario to DFD plan

A beach-safety app receives a location from a Beachgoer. Its back end sends the location to an external Weather service, receives current conditions, combines them with alert rules from a database and returns a safety message.

Before drawing, extract the elements:

Notice that conditions request and current conditions are separate arrows because they travel in opposite directions.

Check for understanding

Symbolise this scenario as a DFD on paper. Then check that every entity and store connects only through the process.

Check your answer

A correct diagram shows Beachgoer → location → 1.0 Generate safety message; the process → conditions request → Weather service; Weather service → current conditions → the process; D1 Alert rules → alert rules → the process; and the process → safety message → Beachgoer.

 

Develop a DFD systematically

  1. Set the system boundary: decide what is inside the area of study.
  2. Underline external sources and destinations.
  3. Circle transformations described by verbs.
  4. Identify retained, manual and temporary stores.
  5. List the actual data entering and leaving each process.
  6. Draw and number processes and stores.
  7. Add one labelled arrow for each direction.
  8. Trace every path and test the conventions.

Final convention check

 

Independent practice: community garden lockers

A community garden lends tools through secure lockers. A Member enters a membership code and tool ID at a terminal. The system must:

Use these required components:

On paper, develop a complete Gane–Sarson DFD. Number all processes and stores, identify each store type, and label every flow with the data it carries. Then explain the relationship between the Member and Loans store.

View a sample solution

Elements and flows

D1, D2 and D3 are disk stores because the scenario describes retained records.

Relationship explanation

The Member sends a membership code and tool ID to Validate request. That process checks member status from D1 Members and tool availability from D2 Tools. When both checks pass, approved loan details flow to Record loan, which writes a loan record to D3 Loans and returns a collection message. The Member therefore affects and receives confirmation of stored loan data through two processes rather than accessing the store directly.

Revision topics

User interfaces, useability and annotated mock-ups

 

User interface and user experience

A user interface (UI) is the point where a person interacts with a digital solution: screens, controls, labels, messages, sound and other inputs or outputs. User experience (UX) is the broader experience produced while using the solution, including how understandable, efficient, useful and reassuring it feels.

Key idea: An interface is not “good” in isolation. Its quality depends on the intended users, their context, the task and the success criteria.

A visually polished screen may still provide poor UX if a user cannot find the required function, understand a label, correct an error or operate a control.

Interface or experience?

A bus app contains a search field and a Find route button. A commuter completes the route search quickly and feels confident that the result is current.

Recognise the UI elements and the UX evidence.

Check your answer

The search field and button are UI elements. Completing the task quickly and feeling confident about the result are aspects of the user's experience.

 

The five useability principles

Useability describes how well users can interact with a solution. QCAA identifies five principles.

PrincipleQuestion to askPossible evidence
AccessibilityCan people with diverse abilities, needs and technologies perceive and operate it?Keyboard access, readable contrast, text alternatives, clear language.
EffectivenessCan users complete the intended task accurately and successfully?Correct output, clear task path, useful search and filters.
SafetyDoes the interface prevent harmful errors and support recovery?Validation, confirmation, undo, warnings, protected destructive actions.
UtilityDoes the solution provide the functions users actually need?Required features exist and suit the context.
LearnabilityHow easily can a new or returning user understand what to do?Familiar controls, consistent layout, descriptive labels and feedback.

Avoid one-word answers: naming “effectiveness” does not evaluate anything. Identify interface evidence and explain its effect on a user completing a task.

 

Classify the main principle

Analyse each situation and identify the main useability principle affected.

  1. A booking form has pale grey text on a white background.
  2. A user can permanently delete all records with one accidental tap.
  3. A route app has no way to request wheelchair-accessible travel.
  4. A first-time user cannot tell whether a magnifying-glass icon searches or zooms.
  5. A worker must convert coordinates in another app before locating each job.
Check your answer
  1. Accessibility: low contrast makes text difficult to perceive.
  2. Safety: the interface does not prevent or support recovery from a harmful error.
  3. Utility: a function required by part of the intended user group is absent. Accessibility may also be relevant.
  4. Learnability: the control's meaning is unclear to a new user.
  5. Effectiveness: the interface delays the task and makes successful location unnecessarily difficult.

More than one principle may apply. Select the principle best supported by the stated cause and consequence.

 

Accessibility: remove barriers

Accessibility considers the range of people and technologies that may interact with a solution. A user might navigate with a keyboard, use a screen reader, magnify content, have reduced colour perception, experience limited dexterity or need plain language.

Accessibility is not a special mode added at the end. It should shape the interface and its programmed behaviour from the beginning.

Improve an inaccessible status

A task list shows overdue work only by changing its title from black to red. Recommend one refinement and Justify how it improves accessibility.

View a sample solution

Add an Overdue text label and warning symbol beside the title while retaining strong contrast. Users who cannot distinguish the colour change can still perceive the status, so the meaning no longer depends on colour alone.

 

Effectiveness and utility

These principles are related but answer different questions.

A maintenance app might have a search feature, satisfying some utility. If it searches only meaningless file names while workers know street names, the feature is ineffective in context.

Separate the principles

A canteen app must allow students to identify meals containing allergens. It displays a list of meal names but provides no allergen information or filtering.

  1. Explain the utility problem.
  2. Explain how adding allergen labels and a filter could improve effectiveness.
Check your answer
  1. The interface lacks the required function or information for identifying allergen-safe meals, so it has poor utility for this task.
  2. Persistent allergen labels reveal relevant information and a filter reduces the list to suitable meals. Students can identify an appropriate option more accurately and directly, improving effectiveness.
 

Safety and error recovery

A safe interface reduces the chance and consequence of harmful user error. The design should help before, during and after an action.

StageInterface supportExample
PreventConstraints, clear labels and suitable defaultsDisable Submit until required fields are valid.
Detect and explainSpecific validation and feedback“Enter a date from today onwards” beside the date field.
RecoverConfirmation, cancel, undo or version historyAllow an archived record to be restored.

Confirmation is selective: asking “Are you sure?” after every harmless action creates interruption and may train users to confirm without reading. Reserve strong friction for meaningful risk.

 

Design safe feedback

A volunteer records a medication delivery. The current form clears immediately after Save, even if the network request fails.

Recommend two UI refinements that protect safety and Justify each one.

View a sample solution
 

Learnability and consistent interaction

Learnability improves when the interface makes actions predictable and reduces what users must remember.

A new user should be able to infer the next action from the interface. Instructions can support a design, but they should not compensate for unclear controls.

Check for understanding

A three-screen form places Next in the bottom right on screens one and two, but labels the same action Continue now in the top left on screen three.

Evaluate this choice using learnability and recommend a refinement.

View a sample solution

The changed wording and position break the interaction pattern, so users must search for and reinterpret the same action. Keep the label Next and its placement consistent, unless the final action has a genuinely different result such as Submit application.

 

Evaluate from evidence

A complete evaluation moves from observed evidence to a supported judgment.

Evidence: [specific interface feature or omission]. Effect: [what happens when a particular user completes a task]. Principle and judgment: therefore the interface has [strong/weak] [useability principle]. Refinement: [specific feasible change] would [expected improvement].

Worked example

A field-work app lists jobs only by internal file name and latitude/longitude. Workers know jobs by street address and often work where mobile data is unreliable.

Too vague: The app is ineffective and should have a better layout.

Evaluated: The list provides file names and coordinates rather than the street information workers use, forcing them to translate each location through another service. This causes delay and may fail without connectivity, so the interface is ineffective for locating jobs. Display a cached street address and allow searching or filtering by suburb and status so workers can find the correct job directly.

 

Evaluate two principles

A sports-centre kiosk asks users to enter a booking code. Its only instruction is a small placeholder reading code. After submission the screen does not change for ten seconds, and repeated taps create duplicate check-ins.

Evaluate the interface using two useability principles. For each, identify evidence, explain the effect and recommend a refinement.

View a sample solution
 

Low-fidelity mock-ups

A low-fidelity mock-up communicates layout, controls, content and interaction without requiring production styling. It should be quick to draw and easy to revise.

A useful mock-up shows:

Annotate decisions, not appearances: “Blue button” describes a surface. “Persistent labelled button submits the report and then displays success or a retryable error” explains purpose and interaction.

 

Worked annotated mock-up

A student needs to report a broken drinking fountain. The criteria require a location, a short description, an optional photo and clear submission feedback.

A mobile form with a screen title, location selection, issue description, optional photo, submit button and status region. Numbered callouts explain the design decisions. Report a broken fountain Location Choose a building or area ▾ What is wrong? Example: water will not stop Photo (optional) Add photo Submit report Status or field-specific error appears here 1 Screen title states the task,supporting learnability. 2 Location choices use familiarplace names, preventing invalidcoordinates. 3 Persistent label remains visible;example clarifies useful detail. 4 Action label describes the result.Disable after one press whilethe request is processed. 5 Status region confirms success orgives a specific error and retry,supporting safety and recovery.
 

Connect the mock-up to programmed behaviour

The drawn control is only the visible part of a feature. Explain what data enters, what programmed action occurs and what output returns.

UI elementProgrammed behaviourVisible response
Location listLoads valid locations and stores the selected identifier.Selected place name remains visible.
Submit reportValidates required values and sends one report request.Field error, progress state, then success or retry message.

An annotation such as “button saves data” is incomplete. Identify the data, validation, result and feedback that fulfil the criterion.

 

Design from criteria and user context

Translate every criterion into visible interface evidence or programmed behaviour.

CriterionResulting design evidence
Users can find an event by suburb.Labelled suburb filter; result count; clear-filter control.
Users can distinguish cancelled events.Text label and symbol, not colour alone.
Users can recover from an accidental cancellation.Confirmation containing the event name and a time-limited undo action.

User characteristics also change the design. An outdoor worker wearing gloves may need larger controls and offline information. A young child may need concise language, images with text, audio support and immediate feedback. Do not rely on stereotypes: use characteristics provided by the scenario.

 

Independent practice: after-school activity check-in

A school needs a tablet interface for staff checking students into after-school activities. The tablet is used outdoors, sometimes with glare and unreliable internet. Relief staff may be using it for the first time.

Criteria

On paper, Symbolise one low-fidelity tablet screen that addresses every criterion. Add at least six numbered annotations. Each annotation must explain:

  1. the interface element
  2. its programmed behaviour or information
  3. the criterion or useability principle it supports.

Then Evaluate your mock-up against two different useability principles and Recommend one refinement.

View a sample solution

Possible screen components

Example annotations

  1. The descriptive search label remains visible while typing, supporting first-time relief staff and learnability.
  2. Search accepts either name or ID, satisfying the search criterion and improving utility.
  3. The result card groups identity, activity and emergency-contact status so staff can confirm the correct student before acting, supporting safety.
  4. Large separated status controls support operation in glare and reduce accidental selection.
  5. The collected confirmation repeats the student's name before saving, reducing the consequence of selecting the wrong record.
  6. The Not synced text and symbol communicate status without colour alone, supporting accessibility.
  7. Retry sends the preserved local record when connectivity returns, supporting effectiveness rather than forcing re-entry.

Example evaluation

The design supports safety because staff confirm the named student before recording collection, reducing a high-consequence status error. It supports effectiveness because failed records remain visible and can be retried rather than lost during unreliable connectivity. A refinement would be to include a final filter showing all unsynchronised records, so staff can check that none remain before ending the session.

Revision topics

Cognitive verbs and constructing responses

 

The verb tells you what thinking to show

A cognitive verb is not an instruction about response length. It identifies the kind of thinking the response must make visible.

InstructionThinking to showUseful self-check
Recognise or identifySelect the correct feature, fact or category.Did I name the requested thing precisely?
ExplainConnect cause, mechanism and result.Did I show how or why?
DetermineReach a conclusion from supplied information.Is my conclusion supported by the scenario or calculation?
JustifyProve why a choice or conclusion suits this context.Did I connect evidence to the claimed benefit or consequence?
EvaluateJudge quality against relevant criteria.Did I make and support a judgment?
SymboliseUse the requested conventions to represent relationships.Did I use the correct form and labels?

Avoid the definition dump: a memorised definition may provide background knowledge, but it does not automatically answer the specific scenario or verb.

 

Same topic, different demand

Consider a booking system that stores passwords as readable text.

  1. Recognise the main confidentiality vulnerability.
  2. Explain how the vulnerability could affect users.
  3. Recommend and Justify a suitable refinement.
Check your answer
  1. The system stores readable passwords.
  2. If the database is accessed without authorisation, the passwords are directly exposed and may also be used to enter users' other accounts.
  3. Store a salted cryptographic hash for each password because it supports verification without retaining the original password in readable or decryptable form. This reduces direct disclosure if password records are stolen.
 

Read the whole instruction

Questions often combine a cognitive verb with a quantity, content focus, source and response form.

Evaluate the interface to identify two useability principles that may cause errors. Justify each response using evidence from the scenario.

Turn that instruction into a checklist before writing:

Completing only the first verb leaves the reasoning unfinished. “Safety and effectiveness” identifies two principles but does not evaluate or justify them.

Decompose the instruction

Analyse the following instruction and write a four-item response checklist.

Recommend one new system feature and one new hardware component that improve pedestrian safety. Justify both recommendations.

Check your answer
 

Use evidence, not invented assumptions

Scenario evidence is the bridge between knowledge and a response. Select a detail, interpret its significance and connect it to the requested concept.

A useful chain is:

Because [specific evidence], [event or mechanism] could [result], which means [consequence connected to the requested concept].

Worked example

A maintenance app lists jobs using random video file names and geographic coordinates. Workers recognise jobs by street name and report delays finding the correct record.

Weak: The app has poor effectiveness because it is confusing.

Evidence-based: Because the list uses file names and coordinates rather than the street names workers recognise, they must translate each location before selecting a record. This delays successful job identification, so the interface has poor effectiveness for the stated task.

 

Relevant inference or invention?

A community app runs on one server and must remain accessible during an emergency.

Determine which statement is supported by the scenario.

  1. The server will definitely fail because it is ten years old.
  2. A failure of the only server could make the app unavailable when residents need it.
  3. The developer forgot to install antivirus software.
Check your answer

Statement 2 is supported. The single server is evidence of a single point of failure, and emergency access establishes the consequence. The server's age and antivirus state were not supplied.

 

Explain by connecting cause and effect

An explanation reveals a relationship. It usually needs more than a description of separate facts.

Response moveExample for MFA
Name the relevant featureMFA requires evidence from more than one authentication factor.
Show the mechanismAfter a password, the user supplies a code from a registered authenticator app.
Connect to the resultA stolen password alone is insufficient, reducing unauthorised account access.

Words such as because, therefore, so and which causes can make reasoning visible, but the logic matters more than the connector.

Upgrade a description

The statement “A checksum is recalculated after transmission” describes an action. Explain how a checksum supports data integrity during transmission.

View a sample solution

The sender calculates a checksum from the data and sends it with the transmission. The receiver recalculates the checksum from the received data and compares the values. A mismatch reveals that the data changed or was corrupted, allowing it to be rejected or retransmitted rather than treated as accurate.

 

Justify a choice in context

A justification proves why a conclusion or recommendation is suitable. It should connect:

  1. the scenario need, vulnerability or criterion
  2. the specific choice
  3. how the choice works
  4. the resulting benefit, risk reduction or trade-off.

Test your justification: Could the same sentence be pasted into almost any scenario? If so, it probably needs more specific evidence.

Worked comparison

A school app gives students, visitors and administrators identical access to personal records.

Recommendation only: Use role-based access control.

Recommendation with justification: Use role-based access control because the three user groups require different functions. Restrict visitors to public information, students to their own records and administrators to authorised management tasks. This applies least privilege and reduces unauthorised disclosure or alteration of personal data.

 

Choose and justify

A clinic must send patient results across an untrusted network. Staff need to read the original results at the destination.

Recommend either encryption or hashing as the main protection for the transmitted content, then Justify your choice and explain why the other option is insufficient by itself.

View a sample solution

Use encryption in transit because authorised staff must recover the original patient results while preventing an interceptor from reading them. Encryption transforms the results into ciphertext that requires the appropriate key to decrypt, protecting confidentiality across the untrusted network. A hash can help detect a changed message but is one-way and does not hide a transmitted plaintext result.

 

Evaluate against a criterion

Evaluation requires a judgment, not merely a list of strengths and weaknesses. Name or infer the relevant criterion, test the evidence against it and reach a conclusion.

Criterion: what good performance means. Evidence: what the stimulus or result shows. Judgment: the extent to which the criterion is met. Refinement: a change that addresses the identified gap, when requested.

Worked evaluation

Criterion: A booking search should return the correct room within two seconds.

Evidence: Test 1 returned the correct room in 1.2 seconds. Test 2 returned the correct room in 3.8 seconds when 200 bookings existed.

Evaluation: The search is accurate in both tests but only partially meets the criterion because its response exceeds two seconds with the larger dataset. Indexing the searched database field should be investigated and the same large-data test repeated.

 

Make the judgment explicit

A mobile interface must allow outdoor workers to find a job without internet access. A test shows that previously opened jobs remain available offline, but unopened jobs display a blank screen.

Evaluate the interface against the criterion and Recommend a refinement.

View a sample solution

The interface only partially meets the criterion. Cached jobs can be found offline, but a worker cannot access any unopened job, so successful task completion depends on earlier use. Download the assigned job list and essential location details while connected, show when the data was last synchronised and provide a clear offline status rather than a blank screen.

 

Recommend a feasible refinement

A recommendation should address the diagnosed problem. “Make it more secure” or “improve the interface” does not say what must change.

ProblemWeak recommendationSpecific recommendation
Users accidentally delete records.Make deletion safer.Replace immediate deletion with archive and a time-limited undo action.
One server causes an availability risk.Buy better hardware.Use a replicated service with automatic failover and test recovery.
A shared administrator account hides responsibility.Add passwords.Give staff individual accounts, least-privilege roles and attributable audit logs.

Feasible does not mean perfect or unlimited. Consider the scenario's time, data, users, hardware, connectivity and existing components.

 

Symbolise in the requested form

Some responses communicate through conventions rather than prose. The verb and the named form both matter.

Correct ideas in the wrong form may remain unclear: prose describing a DFD does not symbolise one, and a polished screen without annotations may not explain how criteria are addressed.

Choose the response form

Match each demand to the main response form.

  1. Symbolise data movement between a customer, payment process and orders store.
  2. Develop an algorithm that totals valid sensor readings.
  3. Symbolise and Explain interface features for reporting an error.
Check your answer
  1. A data-flow diagram using the required notation.
  2. Pseudocode showing input, validation, iteration, total and output.
  3. An annotated interface mock-up that shows the controls and explains their behaviour and purpose.
 

Plan, write and check

Before writing

  1. Box the cognitive verb or verbs.
  2. Underline the quantity, topic and scenario limits.
  3. Circle the requested response form or convention.
  4. List the evidence and make a checklist for compound demands.

While writing

  1. Lead with the requested conclusion, feature or judgment.
  2. Use precise subject terminology.
  3. Connect evidence to a mechanism and consequence.
  4. Keep each part traceable to the instruction.

Before finishing

  1. Tick every demand, quantity and required source.
  2. Remove repetition that adds no reasoning.
  3. Check diagram, pseudocode or table conventions.
  4. Confirm that pronouns such as it have an unambiguous meaning.
 

Independent practice: event-alert system

A community event app sends severe-weather alerts. Consider this evidence:

On paper, complete all three responses.

  1. Evaluate the alert interface against accessibility and the timing criterion. Use evidence to support both judgments.
  2. Determine one confidentiality or integrity risk created by the account design and Justify your conclusion.
  3. Recommend two specific refinements: one for the alert interface and one for account access. Justify each recommendation.
View a sample solution
  1. The interface has weak accessibility because severity is communicated only with red text, which some users may not distinguish, and the bottom-screen position may be missed. It also fails the timing criterion: the warning received at 14:02 appeared at 14:28, a delay of 26 minutes rather than no more than five minutes, and was not announced.
  2. The shared administrator account creates an integrity risk because any volunteer can change alert data and the action cannot be reliably attributed to an individual. Incorrect or malicious changes may therefore be harder to detect and investigate.
  3. Use an interruptive alert containing a warning symbol, text heading and optional sound or device notification, triggered when the warning is received rather than at the next 30-minute refresh. Multiple visual and audio cues improve accessibility and allow the five-minute criterion to be met. Replace the shared account with individual authenticated accounts and role-based permissions so volunteers receive only necessary access and actions can be attributed, reducing unauthorised changes.
Revision topics

Reading criteria and interpreting unseen stimulus

 

Unseen does not mean unknowable

Unseen stimulus gives you a new context, not a new subject. Your job is to connect supplied evidence with familiar Digital Solutions concepts.

First principle: build your answer from the stimulus and the question, then apply subject knowledge. Do not replace supplied evidence with a memorised response about a similar system.

Expect useful information to be distributed across a scenario, criteria list, diagram, table, interface, pseudocode or data sample. A relationship may only become clear when two sources are combined.

Fact or assumption?

A locker app uses a six-digit code and depends on one network connection. Determine which statement is directly supported.

  1. The code is encrypted with AES.
  2. A network failure could prevent code verification.
  3. Every user has a weak password.
Check your answer

Statement 2. The single network dependency supports an availability risk. The encryption method and user passwords were not described.

 

Classify what you read

Information typeWhat it tells youExample
FactA stated feature, event or conditionThe app refreshes every 20 minutes.
RequirementWhat the solution must do or how well it must performDisplay a warning within five minutes.
CriterionObservable evidence used to judge successA test warning appears within 300 seconds.
ConstraintA limit on possible solutionsExisting school tablets must be used.
Test evidenceWhat occurred when a component was testedThe warning appeared after 18 minutes.

A test result only becomes meaningful when compared with a criterion. Eighteen minutes is neither good nor bad until the required time is known.

 

Sort a short stimulus

A school has six weeks to create a web app using its existing server. The app must return matching resources within two seconds. A test with 1000 records takes 3.4 seconds.

Recognise one time constraint, one technical constraint, one criterion and one test result.

Check your answer
 

Turn criteria into observable checks

A useful criterion states the expected behaviour, relevant condition and observable result. Vague goals such as “easy to use” are difficult to test.

Vague statementObservable criterion
Search is fast.For 5000 records, a valid search displays matching results within two seconds.
Errors are clear.Each invalid required field displays a specific message beside that field without deleting valid input.
Data is protected.A student account cannot view or change another student's private record.

Make it testable

The requirement says, “The interface must clearly show offline records.” Interpret this as one observable criterion.

View a sample solution

When the device is offline, each unsynchronised record displays an icon and the text “Not synced”, and remains available for retry when connectivity returns.

 

Read across sources

Use a reference map when evidence is spread across formats.

  1. Identify the named component in the question.
  2. Find it in each relevant source.
  3. Trace identifiers, labels and flows that connect the sources.
  4. Record only facts that help answer the question.

For example, a mock-up may show a Save report button, pseudocode may show the validation it triggers, and a data dictionary may reveal which fields are required. Together they explain the complete feature.

Match exact identifiers: an ID may connect a user-interface selection, JSON object, database record and DFD flow even when their layouts look unrelated.

 

Combine three sources

A mock-up contains a required room list and Submit button. A data specification states room_id: INTEGER, required. Pseudocode checks that room_id exists before saving.

Explain how the three components work together.

Check your answer

The user selects a room through the list, which supplies the required integer room_id. When Submit is activated, the programmed component checks that the identifier exists before writing the record. The UI, data constraint and validation therefore enforce the same requirement at different parts of the solution.

 

Annotate with a purpose

On paper, use a small set of consistent marks rather than highlighting everything.

Annotations should reduce rereading. If every sentence receives the same mark, no information has been prioritised.

Build an evidence table

A useful scratch table can keep reasoning aligned:

DemandEvidenceMeaningConclusion
Evaluate availabilityOnly server; no offline modeOne failure blocks all accessWeak availability
 

Resolve apparent contradictions

Two pieces of stimulus may describe different states or conditions rather than truly conflict.

State the distinction explicitly. For example: “The criterion requires five minutes, but the observed 18-minute result shows the current implementation does not meet it.”

 

Independent practice: library collection lockers

Read this unfamiliar system description.

On paper:

  1. Recognise one functional requirement, one criterion and two pieces of test evidence.
  2. Evaluate the system against the 20-second criterion.
  3. Determine one confidentiality, one integrity and one availability risk. Support each with different evidence.
  4. Explain why the two test results do not contradict each other.
View a sample solution
  1. Functional requirement: verify a collection code and open the correct locker. Criterion: an authorised member opens it within 20 seconds. Evidence: 12 seconds with a valid code and no opening after 90 seconds during interruption.
  2. The system meets the criterion under the connected condition in Test A but fails during the interruption in Test B. It therefore does not reliably meet the criterion across the described operating context.
  3. Confidentiality: the previous member's name and title remain visible to the next person. Integrity: manually copying locker numbers may create a wrong reservation-to-locker link. Availability: the continuous network dependency prevents authorised collection during an interruption.
  4. The tests use different network conditions. Test A demonstrates successful behaviour while connected; Test B reveals failure when the required connection is unavailable.
Revision topics

JSON and structured data

 

Structured data has an organised shape

Structured data follows a predictable organisation so programs can locate, filter and transform values. JSON (JavaScript Object Notation) is a text format commonly used to exchange data between systems and applications.

{
  "event_id": 42,
  "name": "Robotics showcase",
  "cancelled": false,
  "tags": ["technology", "community"]
}

Key idea: JSON carries data, not behaviour. A program decides how to validate, store, display or act on the values.

 

Objects, arrays, keys and values

PartPurposeNotation
ObjectGroups named key–value pairs{ }
ArrayStores an ordered collection of values[ ]
KeyNames a value within an objectDouble-quoted string followed by :
ValueHolds the dataString, number, Boolean, null, object or array

Read the structure

{
  "station": "North",
  "readings": [18, 21, 19],
  "active": true
}

Recognise the object, its three keys, the array and each value's type.

Check your answer

The outer braces contain one object. Its keys are station, readings and active. "North" is a string; [18, 21, 19] is an array containing three numbers; and true is a Boolean.

 

JSON value types

A quoted number such as "27" is a string. Its appearance does not change its type.

Choose suitable types

Determine a suitable JSON type for an attendee name, ticket price, checked-in state, optional accessibility note and list of session IDs.

Check your answer
 

Valid JSON syntax

Do not confuse a programming-language object with JSON text: some languages allow single quotes, unquoted keys or trailing commas. Standard JSON does not.

 

Repair malformed JSON

{
  event_id: 7,
  "title": 'Night market',
  "open": True,
  "stalls": [12, 15,],
}

Analyse the data and rewrite it as valid JSON.

Check your answer
{
  "event_id": 7,
  "title": "Night market",
  "open": true,
  "stalls": [12, 15]
}

The key needed quotes, the string needed double quotes, the Boolean needed lowercase, and both trailing commas were removed.

 

Nested objects and arrays

{
  "venue": {
    "name": "River Hall",
    "address": {"suburb": "West End", "postcode": "4101"}
  },
  "sessions": [
    {"session_id": 1, "places": 0},
    {"session_id": 2, "places": 8}
  ]
}

Read a path one container at a time. The postcode path is venue → address → postcode. The second session's places path is sessions → item 2 → places.

Trace the paths

Determine the suburb, the first session ID and the number of places in the second session.

Check your answer

Suburb: West End; first session ID: 1; second session places: 8.

 

Collections of records

An API response often wraps an array of consistently shaped objects.

{
  "results": [
    {"id": 101, "suburb": "Nundah", "status": "open"},
    {"id": 102, "suburb": "Nundah", "status": "closed"},
    {"id": 103, "suburb": "Milton", "status": "open"}
  ],
  "result_count": 3
}

Consistency matters. The same concept should normally use the same key name and compatible type in every record.

Filter the records

Develop language-independent pseudocode that outputs the ID of each open Nundah record.

View a sample solution
FOR EACH record IN data["results"] DO
    IF record["suburb"] = "Nundah" AND record["status"] = "open" THEN
        OUTPUT record["id"]
    ENDIF
ENDFOR

The output is 101.

 

Parse, validate, transform and serialise

  1. Receive: obtain JSON text from a file, message or API.
  2. Parse: convert the text into an internal object or collection.
  3. Validate: check required keys, types, formats and allowed values.
  4. Transform: filter, calculate, rename, group or combine data.
  5. Serialise: convert internal data back into JSON text for exchange.

Valid syntax does not guarantee valid data. {"places": -9} is syntactically valid but may break a rule that places cannot be negative.

 

Validate before use

A booking requires booking_id as a positive integer, email as a non-empty string and confirmed as a Boolean.

{"booking_id": "24", "email": "", "confirmed": "false"}

Analyse the record against the rules.

Check your answer
 

Design data for exchange

Choose keys that are meaningful, consistent and unambiguous. Avoid mixing display labels with stable identifiers.

Explain a design choice

Explain why an array is more suitable than the keys tag1, tag2 and tag3 for storing an unknown number of tags.

Check your answer

An array can contain zero, one or many tags under one predictable key. A program can iterate through it without guessing which numbered keys exist, and the structure does not need a new field when another tag is added.

 

Independent practice: community workshops

{
  "generated_at": "2026-08-05T09:30:00+10:00",
  "workshops": [
    {
      "workshop_id": 11,
      "title": "Bike repair",
      "venue": {"name": "Shed A", "accessible": true},
      "capacity": 16,
      "booked": 16,
      "tags": ["practical", "transport"]
    },
    {
      "workshop_id": 12,
      "title": "Native gardens",
      "venue": {"name": "Courtyard", "accessible": false},
      "capacity": 20,
      "booked": 13,
      "tags": ["outdoors"]
    }
  ]
}
  1. Describe the outer structure and the structure of one workshop.
  2. Determine the path to the second workshop's accessibility value.
  3. Develop pseudocode that outputs the titles of accessible workshops with at least one place remaining.
  4. Explain why workshop_id should be retained when sending a selected workshop back to the server.
View a sample solution
  1. The outer object has a timestamp and a workshops array. Each workshop is an object containing scalar values, a nested venue object and a tags array.
  2. workshops → item 2 → venue → accessible, which is false.
  3. FOR EACH workshop IN data["workshops"] DO
        SET placesRemaining = workshop["capacity"] - workshop["booked"]
        IF workshop["venue"]["accessible"] = TRUE AND placesRemaining > 0 THEN
            OUTPUT workshop["title"]
        ENDIF
    ENDFOR
    No title is output: the accessible workshop is full.
  4. The stable identifier lets the server locate the exact record even if workshop titles are duplicated or later changed.
Revision topics

Data dictionaries and specifications

 

A shared description of data

A data dictionary or specification documents what each data item means and how it must be represented. It helps user interfaces, algorithms, databases and exchanged messages agree.

Key idea: A field name and type are a start, not a complete specification. Meaning, format, requirement, allowed values and examples remove ambiguity.

FieldTypeRequiredRuleExample
booking_idINTEGERYesUnique; positive; generated by system1842
statusVARCHARYesOne of pending, confirmed, cancelledconfirmed
 

Choose data types by meaning and use

TypeSuitable forExample
INTEGERWhole-number quantities and generated identifierscapacity = 30
DECIMALValues requiring a fractional partprice = 12.50
VARCHARVariable-length text and identifier-like digits not used in arithmeticpostcode = "0400"
BOOLEANTwo-state valuesaccessible = true
DATE / DATETIMEDates and timestamps that must be sorted or compared2026-08-05T14:30:00+10:00

Digits do not guarantee a numeric type: phone numbers, postcodes and licence numbers are identifiers. Arithmetic is not meaningful, and leading zeroes may matter.

Choose types

Determine suitable types for student_name, attendee_count, paid, start_time and phone_number.

Check your answer

VARCHAR, INTEGER, BOOLEAN, DATETIME and VARCHAR respectively.

 

Names should reveal meaning

Improve the names

A sensor table contains id, value, time and ok. The value is temperature in degrees Celsius, and ok records whether calibration is valid.

Recommend clearer field names.

View a sample solution

sensor_id, temperature_celsius, recorded_at and calibration_valid.

 

Constraints and validation rules

A constraint limits stored values. Validation checks input against those rules.

Validation checks plausibility and rule compliance; it does not prove truth. A correctly formatted but mistyped email may pass validation.

 

Validation and verification

Validation tests data against rules. Verification checks that data was transferred or entered as intended, such as comparing an entry with its source.

A date picker can validate that a booking is not in the past. A confirmation screen can help the user verify that the selected venue and date match their intention.

Classify each check

  1. An email must contain a non-empty local part and domain.
  2. A staff member compares a scanned consent form with the entered record.
  3. A password is entered twice and the values must match.
Check your answer
  1. Validation: format rule.
  2. Verification: comparison with the source.
  3. Verification: matching entries reduces transcription error, although it does not prove the chosen password is appropriate.
 

Keys and relationships

A primary key uniquely identifies a record in its table. A foreign key stores the primary-key value of a related record.

VENUE(venue_id, venue_name, suburb)
BOOKING(booking_id, venue_id, booking_date, attendee_count)

VENUE.venue_id identifies a venue. BOOKING.venue_id links each booking to an existing venue without repeating the venue's name and suburb in every booking.

Referential integrity: a booking should not contain a venue_id that does not exist in VENUE.

Explain the relationship

Explain why venue_id is preferable to storing only venue_name in BOOKING.

Check your answer

A stable identifier links the booking to one exact venue even if names are duplicated or later changed. Venue details remain in one record, reducing repeated data and inconsistent updates.

 

Specifications across a solution

The same rule should remain compatible across UI, JSON, algorithms and database storage.

ComponentImplementation of status
UISelect list containing pending, confirmed and cancelled
JSON"status": "confirmed"
ValidationReject values outside the allowed set
DatabaseNon-null text field with an allowed-value constraint
 

Evaluate fitness for purpose

A specification is useful only if it stores the data required to answer questions and perform processes.

A dataset has region, licence_type, valid_licence and registration_date. It must track how one licence changes between active, suspended and expired over time.

Evaluate the specification and Recommend a refinement.

View a sample solution

The Boolean valid_licence cannot distinguish active, suspended and expired, and no stable licence identifier connects records over time. Add licence_id as a unique VARCHAR and replace the Boolean with licence_status, restricted to the required status values. This allows changes for the same licence to be grouped and compared.

 

Independent practice: equipment loans

Design a data dictionary for a school equipment-loan record. The system must identify the loan, link it to an existing student and item, record checkout and optional return times, store item condition as good, damaged or missing, and record whether staff have checked the return.

Determine a field name, data type, required state, constraint and example for each item. Then Justify the types used for the student identifier and checked state.

View a sample solution
FieldTypeRequiredRuleExample
loan_idINTEGERYesUnique, positive408
student_idVARCHARYesExisting studentS00421
item_idVARCHARYesExisting itemCAM-12
checked_out_atDATETIMEYesValid timestamp2026-08-05T09:20:00+10:00
returned_atDATETIMENoNull or not before checkoutnull
conditionVARCHARYesgood, damaged or missinggood
return_checkedBOOLEANYestrue or falsefalse

student_id is VARCHAR because it contains a letter and identifies rather than measures. return_checked is Boolean because it has exactly two states.

Revision topics

Australian Privacy Principles

 

Privacy principles govern a data lifecycle

The Privacy Act 1988 includes 13 Australian Privacy Principles (APPs). They govern standards, rights and obligations for handling personal information by organisations and agencies covered by the Act, called APP entities.

Important: The APPs are principles-based and technology neutral. Apply the relevant principle to the evidence rather than assuming that every organisation or every scenario is covered in exactly the same way.

This page supports Digital Solutions analysis, not legal advice. The Office of the Australian Information Commissioner provides the current official guidance.

 

What counts as personal information?

Personal information is information or an opinion about an identified individual, or an individual who is reasonably identifiable. Context matters: several ordinary data points may identify someone when combined.

Personal, sensitive or de-identified?

Analyse these examples.

  1. A named student's allergy record.
  2. A public count of 318 visits with no individual records.
  3. A dataset without names that contains exact birth date, postcode and rare medical condition.
Check your answer
  1. Personal and sensitive information.
  2. Aggregated data that is likely de-identified if no individual can reasonably be identified.
  3. Potentially identifiable personal and sensitive information because the combination may single out a person. Removing names alone does not guarantee de-identification.
 

The 13 APPs at a glance

StageAPPFocus
Consider privacy1Open and transparent management of personal information
2Anonymity and pseudonymity
Collect3Collection of solicited personal information
4Dealing with unsolicited personal information
5Notification of collection
Use and disclose6Use or disclosure of personal information
7Direct marketing
8Cross-border disclosure
9Government-related identifiers
Maintain integrity10Quality of personal information
11Security of personal information
Individual rights12Access to personal information
13Correction of personal information
 

APPs 1 and 2: plan and be transparent

APP 1 concerns open and transparent management, including an up-to-date privacy policy and practices for handling inquiries or complaints. APP 2 concerns giving individuals the option of anonymity or a pseudonym where practicable, subject to limited exceptions.

A public event timetable may not need a user's identity just to show session times. A personalised ticket purchase may require information to complete the transaction.

Is identity necessary?

A council feedback form requires full name, date of birth and a verified account before a person can suggest a new park bench location.

Determine the most relevant APP concern and Explain why.

View a sample solution

APP 2 is relevant because the task appears capable of accepting anonymous or pseudonymous feedback. Requiring verified identity and birth date may be unnecessary unless the council can establish a particular need or legal requirement.

 

APPs 3, 4 and 5: collect carefully

Data minimisation: collect only information reasonably needed for the purpose. “It might be useful later” is not a specific purpose.

Analyse collection

A workshop booking needs a name and contact method. The form also requires annual income, precise live location and a medical history without explaining why.

Analyse the collection using APPs 3 and 5.

View a sample solution

The name and contact method have a clear booking purpose. The other fields appear excessive for that purpose, and medical history is sensitive. The collection notice should explain the collector, purpose and handling, but notification alone does not make unnecessary collection appropriate.

 

APPs 6 to 9: control use and disclosure

Purpose is central. Information collected to deliver a service should not silently become unrestricted material for an unrelated purpose.

 

Primary and secondary purposes

A sports app collects an email to send booking confirmations. It later supplies emails and exercise histories to an unrelated advertiser.

Determine the primary and secondary purposes and the main APP concern.

Check your answer

The primary purpose is managing bookings and confirmations. Advertising is a secondary purpose, and disclosure to the unrelated advertiser raises an APP 6 concern. APP 7 may also be relevant to direct marketing. A complete legal conclusion would depend on facts such as notice, consent, expectations and applicable exceptions.

 

APPs 10 and 11: quality and security

APP 10 concerns reasonable steps to ensure personal information is accurate, up to date, complete and relevant for its use or disclosure. APP 11 concerns reasonable steps to protect information from misuse, interference, loss and unauthorised access, modification or disclosure.

APP 11 also includes considering destruction or de-identification when personal information is no longer needed, subject to exceptions such as legal retention requirements.

EvidenceMain concernPossible design response
Old emergency contact is usedAPP 10 qualityPrompt review and show last-confirmed date
All staff can export every recordAPP 11 securityLeast-privilege access, authentication and audit logs
Obsolete copies retained indefinitelyAPP 11 lifecycleDocumented retention and secure disposal process
 

APPs 12 and 13: access and correction

APP 12 concerns an individual's access to personal information held about them. APP 13 concerns reasonable steps to correct information that is inaccurate, out of date, incomplete, irrelevant or misleading for the purpose for which it is held.

Access does not mean every person can browse all records. It concerns an individual accessing information about themselves through an appropriate process, subject to applicable grounds and procedures.

Design for rights

A membership app displays a wrong date of birth but has no correction request or privacy contact.

Recommend a refinement and Justify it using APP 13.

View a sample solution

Provide an authenticated correction-request process and visible privacy contact. It should identify the field, accept supporting information where appropriate and communicate the outcome. This supports reasonable correction of inaccurate information and prevents the wrong birth date continuing to affect decisions.

 

Construct an APP analysis

Evidence: what information is handled and what happens to it. Principle: the most relevant APP and its focus. Consequence: why the handling matters to the person. Refinement: a specific change that addresses the issue.

 

Independent practice: youth activity platform

A community organisation's platform:

Analyse four different issues. For each, identify the evidence, relevant APP, possible consequence and a specific refinement.

View a sample solution
Revision topics

Data-exchange technologies

 

One exchange uses several layers

A mobile app does not reach into another system's database. It communicates through an agreed interface.

Example: An app uses an API designed with REST conventions, sends an HTTPS request and receives JSON. These terms describe different parts of one exchange.

 

Request and response

GET /api/events/42 HTTP/1.1
Host: example.org
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json

{"event_id": 42, "title": "Repair café", "places": 6}

The client identifies a resource and acceptable representation. The server processes the request and returns a status, metadata headers and optional body.

Trace the exchange

Recognise the method, resource identifier, requested format, response status and body type.

Check your answer

Method: GET; resource: /api/events/42; requested format: JSON; status: 200 OK; body: one JSON event object.

 

HTTP methods communicate intent

MethodTypical purposeExample
GETRetrieve a representation without changing the resourceGET /events/42
POSTSubmit data, often to create a resourcePOST /bookings
PUTReplace a resource representation at a known identifierPUT /bookings/81
PATCHApply a partial updatePATCH /bookings/81
DELETERequest removal of a resourceDELETE /bookings/81

The server defines the actual API contract. A method name alone does not grant permission or guarantee a particular implementation.

Choose a method

Determine a suitable method for retrieving all venues, creating a booking and changing only its status.

Check your answer

GET /venues, POST /bookings and PATCH /bookings/{id} are suitable, assuming the API contract uses these conventions.

 

Status codes describe outcomes

Authentication and authorisation differ: 401 commonly indicates missing or invalid authentication; 403 indicates the server understood the identity but refuses the action.

 

Handle more than success

A robust client checks the response before using the body.

SET response = SendRequest(request)

IF response.status = 200 THEN SET data = ParseJSON(response.body) DisplayEvents(data) ELSE IF response.status = 401 THEN OUTPUT "Sign in again" ELSE IF response.status = 503 THEN OUTPUT "Service unavailable. Try again later." ELSE OUTPUT "Request could not be completed" ENDIF

Parsing a missing or error body as if it contains valid event data can create a second error.

 

JSON and XML represent structured data

JSON

{
  "sensor_id": 7,
  "reading": 18.4
}

XML

<sensor>
  <sensor_id>7</sensor_id>
  <reading>18.4</reading>
</sensor>

Neither format encrypts data. Secure transport and access controls are separate concerns.

Compare formats

A partner's established system accepts only XML validated against its published schema. Recommend JSON or XML and Explain the decisive evidence.

Check your answer

Use XML because compatibility with the receiving system and its published validation schema is required. Choosing JSON for shorter syntax would not satisfy the exchange contract.

 

REST resources and representations

A resource is a conceptual item such as an event or booking. A URL identifies it; a representation such as JSON describes its current data.

GET /events                 # collection
GET /events/42              # one event
GET /events?suburb=Milton   # filtered collection
POST /events/42/bookings    # create a related booking

Good resource paths normally use nouns. The HTTP method communicates the action.

REST exchanges are usually stateless: each request includes the information needed to process it. The server may store resources, but it should not rely on hidden conversational state from an earlier request.

 

APIs need a contract

Documentation should specify:

A client and server can both produce valid JSON yet fail to interoperate if one sends eventDate and the other requires event_date.

Analyse a failed exchange

The contract requires POST /reports with {"location_id": INTEGER, "description": STRING}. A client sends:

POST /report
{"location": "Oval", "description": 42}

Analyse three incompatibilities.

Check your answer
 

Secure and reliable exchange

Retrying a create request blindly can produce duplicates. An idempotency key or server-side duplicate check can let a repeated request be recognised safely.

 

Independent practice: repair reports API

A mobile app sends repair reports to a council API. The contract uses JSON and includes:

POST /reports
Authorization: Bearer [token]
Content-Type: application/json

{ "location_id": 18, "category": "water_leak", "description": "Tap will not turn off" }

Possible responses are 201 with the created report, 400 with field errors, 401 when the token is invalid and 503 during an outage.

  1. Explain the role of the API, HTTP, JSON and authentication token.
  2. Determine how the app should respond to each status.
  3. Evaluate the exchange if it uses HTTP rather than HTTPS on public Wi-Fi.
  4. Recommend one strategy that reduces duplicate reports after a timeout.
View a sample solution
  1. The API defines the permitted exchange, HTTP carries the request and response, JSON structures the report, and the token presents authentication evidence used when checking access.
  2. 201: show confirmation and returned ID; 400: show specific field errors without clearing valid input; 401: require authentication again; 503: preserve the report and offer a controlled retry.
  3. HTTP provides weak confidentiality on the untrusted network because the token and report may be intercepted. HTTPS should authenticate the server and encrypt data in transit.
  4. Send a unique idempotency key with retries so the server can return the original result rather than create another record.
Revision topics

Network performance

 

Performance is more than speed

MeasureMeaningEffect
BandwidthThe theoretical capacity of a link per unit timeLimits possible transfer rate
ThroughputThe actual rate achievedDetermines how quickly useful data arrives
LatencyDelay between sending and receivingMakes interaction feel slow
JitterVariation in packet delayDisrupts real-time audio and video
Packet lossPackets fail to reach the destinationCauses gaps or retransmission

Key idea: A high-bandwidth link can still feel unresponsive when latency is high. Different applications value different performance characteristics.

Match the evidence

Determine the main issue in each case.

Check your answer
  1. Throughput is below bandwidth.
  2. Jitter.
  3. Latency.
  4. Packet loss.
 

Calculate transfer time carefully

Use compatible units and distinguish bits from bytes.

transfer time (seconds) = data size (bits) / throughput (bits per second)

A 20 megabyte file contains approximately 160 megabits. At an actual throughput of 40 megabits per second, the idealised transfer time is:

160 Mb / 40 Mb/s = 4 seconds

Real transfers may take longer because of protocol overhead, changing conditions, competing traffic and retransmissions.

Calculate a transfer

A 75 MB video transfers at 30 Mbps. Determine the idealised time.

Check your answer

75 MB × 8 = 600 Mb; 600 / 30 = 20 seconds.

 

Packet switching

Packet switching divides data into packets that can travel through a shared network. Each packet carries control information used to deliver and reassemble the data.

  1. The sender divides and labels the data.
  2. Network devices forward packets towards the destination.
  3. Packets may take different routes or arrive out of order.
  4. The receiver checks and reassembles them.
  5. Missing or damaged data may be recovered according to the protocol.
 

Routing and forwarding

A route may change when a link fails or another path becomes preferable. More hops do not automatically prove poor performance; link quality, distance, load and processing also matter.

Explain the relationship

Explain how routing and forwarding work together.

Check your answer

Routing creates or updates knowledge about reachable paths. A router then uses that knowledge when forwarding each packet to its next hop. Routing informs the decision; forwarding performs it.

 

Congestion and flow control

Congestion occurs when offered traffic exceeds the capacity of network resources. Queues grow, latency rises and buffers may discard packets.

Congestion control adjusts sending behaviour in response to network conditions. Flow control prevents a sender from overwhelming the receiving endpoint's ability to process data.

Diagnose before upgrading: adding bandwidth may help a saturated link, but it will not remove propagation delay, fix a failing server or correct an inefficient database query.

 

Read a performance pattern

TimeThroughputLatencyLoss
10:0082 Mbps24 ms0%
12:3018 Mbps310 ms6%

Analyse the likely change at 12:30.

View a sample solution

The combination of reduced throughput, sharply increased latency and packet loss is consistent with congestion or another serious link-quality problem at 12:30. More evidence is needed to locate the cause.

 

Error detection and correction

Transmission systems use error-control processes to detect corrupted or missing data and respond appropriately.

Retransmission supports reliability but consumes capacity and adds delay. Real-time media may prefer a small gap over waiting for a late packet.

 

TCP, UDP and application needs

TransportUseful characteristicsTypical priority
TCPConnection-oriented, ordered reliable byte stream with flow and congestion controlComplete, ordered delivery
UDPConnectionless datagrams with low transport overhead and no built-in delivery guaranteeTimeliness or application-controlled recovery

Applications may add their own reliability or security. “UDP is always faster” is too broad; suitability depends on implementation and purpose.

 

Quality of service

Quality of service (QoS) mechanisms classify and manage traffic so important flows receive appropriate treatment during contention.

QoS manages limited capacity; it does not create unlimited bandwidth. Prioritising one class may delay another, so priorities must reflect actual requirements.

Choose a priority

Check your answer

Prioritise the real-time consultation because latency, jitter and loss directly affect communication needed now. Shape or schedule the backup with lower priority; it may finish later but its complete data can still be transferred reliably.

 

Evaluate with application criteria

Use the required task to judge measurements.

ApplicationEspecially important
Video callLow latency, jitter and loss; adequate throughput
Large backupSustained throughput and reliable complete delivery
Emergency alertLow delay, reliable delivery and availability
Interactive gameLow latency and jitter
 

Independent practice: community event network

A temporary event network supports payment terminals, a live stream and overnight photo uploads. At peak time, measurements show 95% link utilisation, latency rising from 28 ms to 420 ms, 4% packet loss and highly variable video delay. Payments sometimes time out.

  1. Analyse the evidence to identify the likely performance condition.
  2. Explain how it affects payments and live video differently.
  3. Recommend two refinements, including one QoS decision.
  4. Evaluate the claim: “The only solution is to increase bandwidth.”
View a sample solution
  1. Very high utilisation with rising latency, loss and variable delay strongly indicates congestion.
  2. Payment requests may time out and retry, risking delay or duplicates; live video suffers from jitter, gaps and reduced quality.
  3. Prioritise small payment traffic and delay-tolerant control traffic appropriately, while shaping or scheduling photo uploads outside peak time. Additional capacity may also help if monitoring confirms sustained saturation.
  4. The claim is too absolute. More bandwidth could reduce saturation, but traffic scheduling and QoS address competing priorities, and client/server timeout or duplicate-handling problems may also need refinement.
Revision topics

Constraints, requirements and criteria

 

Four different jobs

TermQuestion answeredExample
NeedWhy is change needed?Workers lose time locating jobs.
RequirementWhat must the solution do, or how well?Allow search by street or suburb.
ConstraintWhat limits the solution space?Must run on existing tablets.
CriterionWhat observable evidence shows success?A worker finds a supplied job within 20 seconds.

Traceability: each criterion should test a requirement, and each proposed feature should address a requirement while respecting constraints.

 

Functional and non-functional requirements

“The user can submit a report” is functional. “A valid report is confirmed within two seconds” adds performance and feedback quality.

Classify requirements

  1. Store an equipment loan.
  2. Only authorised staff can issue refunds.
  3. Return search results within two seconds.
  4. Display all bookings for a selected date.
Check your answer
  1. Functional.
  2. Non-functional security requirement attached to a function.
  3. Non-functional performance requirement.
  4. Functional.
 

Find constraints in the context

Constraints can concern time, cost, technology, compatibility, data, people, law, environment or scope.

ConstraintPossible design effect
Four-week development windowPrioritise essential scope and existing libraries.
Existing low-storage serverLimit retained media, compress where appropriate and define retention.
Unreliable field connectivityCache essential data and queue updates safely.
Personal information involvedMinimise collection and implement appropriate privacy and security controls.

A constraint is not automatically a flaw. It becomes useful analysis when its effect on design, risk or testing is explained.

Explain an impact

A mobile app must use the school's existing server, which has limited storage. Explain one consequence for an image-reporting feature.

View a sample solution

Unrestricted full-resolution uploads could exhaust storage and make the service unavailable. The design should resize or compress images to an agreed quality, limit quantity and apply a justified retention rule.

 

Write strong criteria

A strong criterion is specific enough to test and relevant to the user and requirement.

Under [condition], [user or system] can [observable behaviour] with [measurable or clearly judgeable result].

WeakStronger
The app is accessible.Every interactive control can be reached and operated using keyboard navigation in a logical order.
Search works.Given a known student ID, the search displays the correct student as the first result.
Data is secure.A volunteer account cannot view health notes or perform a refund.
 

Avoid false precision

Numbers are helpful when they come from the context or a reasoned target. Do not invent “99.99% accurate” merely to sound measurable. Some qualities are tested through observable tasks and evidence rather than arbitrary percentages.

A useful set of criteria covers normal, boundary and error conditions. For a capacity rule, test one below capacity, exactly at capacity and one above it.

Refine a criterion

The requirement is “Users must recover from an accidental cancellation.” Determine a testable criterion.

View a sample solution

After cancelling a booking, a user can activate Undo from the confirmation message and restore the same booking details before leaving the screen.

 

Build a traceability table

NeedRequirementFeatureCriterion
Find nearby safe routesFilter routes by accessibilityAccessible-route filterSelecting the filter removes every route marked inaccessible
Protect private recordsLimit access by roleRBACA visitor account receives no private record data

Traceability reveals orphan features that address no need, requirements with no implementation and criteria that test the wrong behaviour.

 

Resolve competing requirements

Requirements may trade off rather than fit perfectly together.

Use the scenario's priorities and consequences to justify a balance. Do not declare one quality universally more important.

Analyse a trade-off

A field app needs recognisable damage photos but must operate on slow connections and limited storage. Recommend a balanced requirement.

View a sample solution

Resize and compress uploads to the lowest tested resolution that still lets staff classify the damage, queue them while offline, and retain originals only when a case is escalated. This protects useful visual detail while reducing routine transfer and storage demand.

 

Evaluate with test evidence

State whether each criterion is met, partially met or not met, using actual results.

CriterionResultJudgment
Search within 2 seconds for 5000 records1.4 secondsMet under tested condition
Clear field error without losing valid inputMessage displayed, but all fields clearedPartially met
 

Independent practice: emergency relief hub

A temporary relief hub needs a tablet app to record supply requests. Internet access is intermittent; existing tablets have limited storage; volunteers change each shift; and medical notes must be visible only to authorised health staff.

The app must record a request, show its status, work during short outages and synchronise safely later.

  1. Recognise three constraints and Explain one design effect of each.
  2. Determine four functional and three non-functional requirements.
  3. Write one observable criterion for offline operation, access control, synchronisation integrity and useability.
  4. Justify how each criterion traces to a requirement.
View a sample solution

Constraints: intermittent internet requires a local queue; limited storage requires minimal cached data and retention; changing volunteers requires learnable interfaces and individual or shift-appropriate access.

Functional: create request, view status, store while offline, synchronise queued records. Non-functional: role-based confidentiality, no duplicates during retry, clear first-use workflow.

Revision topics

Classical encryption algorithms

 

A shared numerical model

Use the mapping A = 0, B = 1, ..., Z = 25. Addition encrypts; subtraction decrypts. Modulo 26 wraps results into the alphabet.

encrypted = (plaintext + shift) MOD 26
plaintext = (encrypted - shift + 26) MOD 26

For a shift of 5, X = 23 encrypts to (23 + 5) MOD 26 = 2, which is C.

State your convention: Cipher questions must use one consistent letter-number mapping and direction. A different stated convention may produce different intermediate numbers.

Modulo practice

Determine the encrypted letters for A, M and Z using shift 4.

Check your answer

A → E, M → Q, Z → D.

 

Caesar cipher

A Caesar cipher applies one fixed shift to every plaintext letter.

PlaintextCODE
Number21434
+3, mod 2651767
CiphertextFRGH

The ciphertext is FRGH.

Decrypt

Determine the plaintext for KHOOR with Caesar shift 3.

Check your answer

Subtracting 3 gives HELLO.

 

Evaluate Caesar security

There are only 25 useful non-zero shifts. An attacker can try them all quickly. The same plaintext letter always becomes the same ciphertext letter, so language patterns and letter frequency remain visible.

Security judgment: Caesar is useful for learning substitution and modulo arithmetic, not for protecting modern sensitive data.

 

Vigenère cipher

Vigenère repeats a keyword. Each key letter supplies a different shift using A = 0.

PlaintextCATCH
Repeated keyDOGDO
Shift3146314
CiphertextFOZFV

CATCH with key DOG becomes FOZFV.

Encrypt with Vigenère

Use key KEY to encrypt DATA. Determine the repeated key and ciphertext.

Check your answer

Repeated key: KEYK; shifts: 10, 4, 24, 10. D(3)+K(10)=N(13), A(0)+E(4)=E(4), T(19)+Y(24)=R(17), and A(0)+K(10)=K(10). The ciphertext is NERK.

 

Evaluate repeated-key security

Vigenère hides simple single-letter frequency better than Caesar because the same plaintext letter can encrypt differently at different key positions. However, a repeated keyword creates a period. With enough ciphertext, attackers can investigate repetition, infer key length and apply frequency analysis by position.

A longer keyword increases possibilities, but a predictable word and repeated use remain weaknesses.

 

Gronsfeld cipher

Gronsfeld uses a repeating sequence of decimal digits as shifts. It works like a Vigenère cipher whose shifts are limited to 0–9.

PlaintextMAPS
Key2042
CiphertextOATU

With repeating key 204, MAPS becomes OATU.

Gronsfeld varies shifts but uses only ten possible shift values and repeats the digit key, so it remains vulnerable to period and frequency analysis.

 

One-time pad

A one-time pad uses a key that is:

Encryption can still use modular addition, but the key does not repeat. Under the required conditions, the ciphertext does not reveal a unique plaintext because every same-length plaintext has a possible key.

The conditions matter: a repeated, predictable or reused pad is not a secure one-time pad. Key generation, secure distribution and storage are major practical challenges.

Why reuse fails

Two messages use the same pad. Explain the resulting weakness.

Check your answer

Combining the two ciphertexts can cancel the shared key relationship and expose relationships between the plaintexts. Language patterns or a known part of one message can then help recover the other. Reuse removes the defining one-time condition.

 

Compare the algorithms

AlgorithmKey patternMain weakness
CaesarOne repeated shiftTiny key space and preserved frequency
VigenèreRepeated letter-key shifts 0–25Repeated period can be analysed
GronsfeldRepeated digit shifts 0–9Repeated period and restricted shifts
One-time padRandom, message-length, never reusedSecure key creation, distribution and handling
 

Develop an encryption algorithm

BEGIN
INPUT plaintext
INPUT shifts
SET ciphertext = ""
SET keyIndex = 0

FOR EACH character IN plaintext DO IF character IS A LETTER THEN SET plainNumber = LetterToNumber(UPPERCASE(character)) SET shift = shifts[keyIndex MOD LENGTH(shifts)] SET cipherNumber = (plainNumber + shift) MOD 26 SET ciphertext = ciphertext + NumberToLetter(cipherNumber) SET keyIndex = keyIndex + 1 ELSE SET ciphertext = ciphertext + character ENDIF ENDFOR

OUTPUT ciphertext END

One design choice is whether spaces and punctuation advance the key. State and apply the choice consistently. The example advances only for letters.

 

Desk check the algorithm

Use plaintext AZ! and shifts [2, 4].

CharacterKey indexShiftOutput
A02C
Z14D
!2Not used!

The output is CD!.

 

Independent practice: compare keys

Use plaintext NETWORK.

  1. Encrypt it with Caesar shift 4.
  2. Encrypt it with Vigenère key LINK.
  3. Encrypt it with Gronsfeld key 314.
  4. Analyse the repeated patterns and Evaluate relative resistance to simple brute force and frequency analysis.
View a sample solution
  1. Caesar: RIXASVO.
  2. Repeated key LINKLIN; ciphertext YMGGZZX.
  3. Repeated key 3143143; ciphertext QFXZPVN.
  4. Caesar has only 25 useful keys and one substitution alphabet, making exhaustive search and frequency analysis easy. Vigenère and Gronsfeld vary shifts, but their repeated periods can be detected. Vigenère permits 26 shift values per key position, while Gronsfeld uses only ten; actual security also depends on key length and predictability. None is appropriate for modern sensitive data.
Revision topics

Visual communication principles

 

Elements are materials; principles organise them

Visual elements are the building materials visible in a composition. Principles describe how those elements are arranged to communicate.

ElementsPrinciples
Space, line, colour, shape, texture, tone, form, proportion and scaleBalance, contrast, proximity, harmony, alignment, repetition and hierarchy

Use evidence: “Contrast is used” is incomplete. Name the elements that contrast, what becomes distinguishable and how that supports the user.

 

Visual elements

Not every interface needs every element to be visually obvious. Use them to communicate, not to fill space.

Recognise the element

A form uses blank space between address and payment sections, a thin rule beneath the heading and a much larger title. Identify the main element in each decision.

Check your answer

Space separates the sections; line divides the heading; scale and proportion distinguish the title.

 

Balance

Balance distributes visual weight so a composition feels stable. Symmetrical balance mirrors weight; asymmetrical balance uses different elements with comparable visual influence.

A large chart on the left may be balanced by a grouped summary and controls on the right. Balance does not require identical halves.

Avoid false balance: giving an infrequent destructive action the same size and position as the primary safe action may make the screen visually even but functionally unsafe.

 

Contrast

Contrast creates a noticeable difference using colour, tone, shape, size, weight or space. It helps users distinguish content and action.

Colour contrast supports accessibility, but visual communication should not rely on colour alone.

Explain the effect

A dashboard displays every label, heading and button at the same size and weight. Explain how contrast could improve it.

View a sample solution

Use stronger size and weight contrast for screen and section headings, and distinguish the primary action from secondary controls. Users can then scan the structure and locate the next action without reading every item equally.

 

Proximity and alignment

Proximity places related items closer together and separates unrelated groups. Alignment places elements along shared edges or axes to create order.

A field label should sit closer to its own input than the previous input. Form fields aligned to a consistent edge are easier to scan.

Relationship before decoration: spacing and alignment can communicate grouping even without borders or coloured panels.

Diagnose grouping

A validation message appears halfway between two fields, and buttons use unrelated left edges. Analyse the visual communication problems.

Check your answer

Ambiguous proximity makes it unclear which field caused the error. Place the message directly beside or below its field. Align related controls to consistent edges so the form has a predictable reading path.

 

Repetition and harmony

Repetition reuses visual patterns such as typography, icon style, spacing and component appearance. Harmony is the coherent overall relationship among elements.

Repetition supports learnability, but identical styling should not be applied to actions with different importance or risk.

 

Hierarchy

Hierarchy communicates order and importance. It can be produced through scale, position, contrast, spacing and grouping.

  1. Screen purpose or urgent state
  2. Section headings and primary task
  3. Supporting content and secondary actions
  4. Metadata and low-priority detail

Hierarchy should reflect user goals, not the organisation's desire to promote every feature.

Rank the content

An emergency-alert screen contains the warning type, affected location, time, safety action, app logo and settings link. Determine a useful hierarchy.

View a sample solution

Make the warning type and required safety action most prominent, followed by affected location and time. Keep the app identity visible but secondary, and place settings outside the urgent reading path.

 

Principles work together

A section heading may use larger scale and darker tone for contrast, align with its fields, repeat a type style used elsewhere and sit close to related controls. Together these choices create hierarchy and harmony.

EvidencePrincipleUser effect
Related label and value are closeProximityRelationship is interpreted correctly
All cards share structureRepetitionInformation becomes predictable
Primary action is prominentContrast and hierarchyNext action is found quickly
 

Evaluate with a cause-and-effect chain

The interface uses [element evidence] to create or weaken [principle]. This [effect on perception or grouping], helping or hindering [specific user task].

Weak: The colours have harmony and look professional.

Stronger: The interface repeats one restrained colour palette and icon style across all booking cards, creating harmony and making components feel related. A contrasting status label still distinguishes cancellations without disrupting the overall system.

 

Independent practice: repair dashboard

A repair dashboard has these features:

  1. Analyse four visual communication problems using four different principles.
  2. Recommend one specific refinement for each.
  3. Justify each refinement using a worker's task.
View a sample solution
Revision topics

Emerging technologies

 

Relationship: deep learning is a kind of machine learning; neural networks are models used in deep learning; NLP is a task area that can use several approaches.

Classify a description

A system learns to label road images using thousands of examples and a multi-layer neural network. Recognise the most specific terms that apply.

Check your answer

It is machine learning and, because it uses a multi-layer neural network, deep learning. Image classification is not NLP because the input is not human language.

 

Supervised and unsupervised learning

ApproachLearning signalExample
SupervisedExamples include target labels or valuesPredict whether a sensor record is faulty from labelled history
UnsupervisedNo supplied target label; the method seeks structureGroup similar travel patterns
ReinforcementRewards from actions in an environmentLearn a signal-control policy in a simulation

These labels describe how learning occurs, not whether a system is accurate, fair or safe.

 

Training and inference

  1. Define the task: specify input, desired output and success criteria.
  2. Collect and prepare data: clean, label, encode and split records appropriately.
  3. Train: adjust model parameters to reduce error on training examples.
  4. Validate: tune decisions using separate evidence.
  5. Test: estimate performance on unseen examples.
  6. Infer: apply the trained model to new input.
  7. Monitor: detect changing data, failures and unequal outcomes.

Do not test on training data alone: memorising examples can produce impressive training results but weak performance on unseen data.

Training or inference?

A model adjusts weights using labelled pothole images, then later assigns a severity category to a new image. Determine which event is training and which is inference.

Check your answer

Adjusting weights from labelled examples is training. Applying the resulting model to the new image is inference.

 

Data shapes model behaviour

A model learns statistical patterns present in its data. Problems include:

“More data” is not automatically better. Relevance, quality, coverage, lawful handling and representativeness matter.

 

Analyse dataset coverage

A road-damage model is trained only on clear daytime photos from one city. It will be used across Queensland at night, in rain and on unsealed roads.

Analyse the risk and Recommend a refinement.

View a sample solution

The training data does not represent lighting, weather, surface and regional variation in deployment, so test accuracy may not transfer to real use. Collect and label representative examples across those conditions, keep a separate test set and report performance by condition rather than only one overall value.

 

Neural networks and deep learning

A neural network combines inputs through weighted connections and transformations. Training changes weights to reduce a defined error. Hidden layers can learn intermediate representations useful for the output.

Deep networks can model complex image, audio and language patterns but may require substantial data and computation. Their internal reasoning can be difficult to explain, which matters in high-consequence decisions.

 

Natural language processing

NLP systems process language tasks such as classification, search, translation, summarisation, speech interaction and response generation.

Language is ambiguous and context-dependent. A support classifier may misread slang, negation, multilingual text or an uncommon request.

InputPossible NLP processOutput
“I can't access my booking”Intent classificationaccount_access
Long incident reportInformation extractionlocation, time, category

Design for uncertainty

Recommend one interface response when a chatbot has low confidence in the user's intent.

View a sample solution

State that the request was not understood, present a small set of likely options and provide a clear path to a human or standard form. Do not confidently perform a high-impact action from an uncertain classification.

 

Reinforcement learning

An agent observes a state, chooses an action, receives a reward and updates its policy to increase expected future reward.

state → policy chooses action → environment changes → reward → learning

The reward function matters. A traffic agent rewarded only for vehicle throughput might create long pedestrian waits. Simulation, safety constraints and evaluation of unintended strategies are essential.

 

Evaluate more than accuracy

An overall accuracy can hide unequal error types. In a hazard detector, a missed hazard and a false alarm have different consequences.

 

Use a confusion matrix

Predicted hazardPredicted clear
Actual hazardTrue positiveFalse negative
Actual clearFalse positiveTrue negative

Explain why false negatives may deserve special attention in a pedestrian-hazard detector.

Check your answer

A false negative labels an actual hazard as clear, so the system may fail to trigger a protective action. Its safety consequence may be greater than the inconvenience caused by some false alarms.

 

Human oversight

Human involvement should be designed, not added as a slogan.

 

Independent practice: event safety classifier

An organisation proposes an NLP system that classifies incoming event messages as routine, urgent or emergency. Historical labels were created by one team; messages in languages other than English are rare in the training set; emergency messages are only 1% of examples; and an emergency classification automatically locks venue gates.

  1. Analyse four risks in the data, output or automated action.
  2. Evaluate whether overall accuracy alone is a suitable criterion.
  3. Recommend three controls covering testing, interface design and human oversight.
View a sample solution
Revision topics

SQL in a Unit 4 context

 

SQL behind a data exchange

A client might send JSON to an API, but the back end may validate the request and use SQL to read or update a relational database.

mobile app → HTTPS/JSON → API validation → parameterised SQL → database
mobile app ← JSON response ← result transformation ← SQL result

Separation of concerns: SQL manages relational data. The API controls authentication, authorisation, validation, error handling and the representation returned to the client.

 

Use a small relational schema

VENUE(
    venue_id PRIMARY KEY,
    venue_name,
    suburb,
    accessible
)

EVENT( event_id PRIMARY KEY, venue_id FOREIGN KEY REFERENCES VENUE(venue_id), title, event_date, capacity, status )

BOOKING( booking_id PRIMARY KEY, event_id FOREIGN KEY REFERENCES EVENT(event_id), attendee_email, places, booking_status )

Keys connect records without repeating all venue and event data in every booking.

Trace a relationship

Explain how a BOOKING record is connected to a VENUE.

Check your answer

BOOKING.event_id links to EVENT.event_id. That EVENT record contains venue_id, which links to VENUE.venue_id. The relationship therefore passes through EVENT.

 

SELECT, WHERE and ORDER BY

SELECT event_id, title, event_date
FROM EVENT
WHERE status = 'open'
  AND event_date >= '2026-08-05'
ORDER BY event_date ASC, title ASC;

Text and date literals use quotes. Numeric and Boolean syntax depends on the database system and schema.

Write a query

Develop a query that returns the title and capacity of cancelled events, largest capacity first.

Check your answer
SELECT title, capacity
FROM EVENT
WHERE status = 'cancelled'
ORDER BY capacity DESC;
 

Conditions and IN

SELECT event_id, title
FROM EVENT
WHERE status IN ('open', 'full')
  AND capacity >= 20;

IN tests membership of a set. Combine conditions with AND, OR and parentheses so the intended logic is unambiguous.

NULL needs special handling: use IS NULL or IS NOT NULL, not = NULL.

 

Aggregate functions and GROUP BY

Aggregate functions summarise rows: COUNT, MIN, MAX, AVG and SUM.

SELECT event_id, SUM(places) AS booked_places
FROM BOOKING
WHERE booking_status = 'confirmed'
GROUP BY event_id;

Each output row represents one event group. Non-aggregated selected columns normally need to appear in GROUP BY.

Count by status

Develop a query that counts bookings for each booking_status.

Check your answer
SELECT booking_status, COUNT(*) AS booking_count
FROM BOOKING
GROUP BY booking_status
ORDER BY booking_status;
 

WHERE and HAVING do different jobs

SELECT event_id, SUM(places) AS booked_places
FROM BOOKING
WHERE booking_status = 'confirmed'
GROUP BY event_id
HAVING SUM(places) >= 20;

The WHERE clause excludes non-confirmed rows. HAVING keeps only event groups whose confirmed places total at least 20.

 
SELECT EVENT.title, VENUE.venue_name, VENUE.suburb
FROM EVENT
INNER JOIN VENUE
    ON EVENT.venue_id = VENUE.venue_id
WHERE EVENT.status = 'open'
ORDER BY EVENT.title;

An inner join returns only rows with a matching relationship. Qualify column names with table names when ambiguity is possible.

Join three tables

Develop a query returning booking ID, event title and venue name for confirmed bookings.

View a sample solution
SELECT BOOKING.booking_id, EVENT.title, VENUE.venue_name
FROM BOOKING
INNER JOIN EVENT
    ON BOOKING.event_id = EVENT.event_id
INNER JOIN VENUE
    ON EVENT.venue_id = VENUE.venue_id
WHERE BOOKING.booking_status = 'confirmed';
 

Subqueries

A subquery supplies a result to another query.

SELECT title, capacity
FROM EVENT
WHERE capacity > (
    SELECT AVG(capacity)
    FROM EVENT
);

The inner query calculates the average capacity. The outer query returns events above it.

Use a join when combining related columns and a subquery when one result naturally supplies a condition. Either may sometimes express the same goal; clarity and database behaviour matter.

Develop a subquery that returns event titles at accessible venues.

Check your answer
SELECT title
FROM EVENT
WHERE venue_id IN (
    SELECT venue_id
    FROM VENUE
    WHERE accessible = TRUE
);

The Boolean literal may differ across database systems.

 

CREATE and constraints

CREATE TABLE BOOKING (
    booking_id INTEGER PRIMARY KEY,
    event_id INTEGER NOT NULL,
    attendee_email VARCHAR(254) NOT NULL,
    places INTEGER NOT NULL CHECK (places > 0),
    booking_status VARCHAR(20) NOT NULL,
    FOREIGN KEY (event_id) REFERENCES EVENT(event_id)
);

Types and supported constraint syntax vary by database system. Constraints provide a final integrity layer but do not replace clear UI validation and server-side checks.

 

INSERT and UPDATE

INSERT INTO BOOKING
    (booking_id, event_id, attendee_email, places, booking_status)
VALUES
    (501, 42, 'sam@example.org', 2, 'confirmed');
UPDATE BOOKING
SET booking_status = 'cancelled'
WHERE booking_id = 501;

Check UPDATE scope: omitting or miswriting WHERE may change every row. Preview the target with an equivalent SELECT and use transactions or backups appropriate to the system.

Update a specific event

Develop an UPDATE that marks event 42 as full.

Check your answer
UPDATE EVENT
SET status = 'full'
WHERE event_id = 42;
 

ALTER and DROP

ALTER TABLE EVENT
ADD registration_url VARCHAR(500);

ALTER changes an existing structure. DROP removes a database object, such as a table, and can cause irreversible data loss.

Before structural change, consider existing data, defaults, nullability, dependent queries and exchange contracts. Adding a required field without a value for old records can break the system.

 

Secure application queries

Never build SQL by directly joining untrusted input into a query string.

# Unsafe idea
query = "SELECT * FROM BOOKING WHERE attendee_email = '" + input + "'"

Safe pattern

query = "SELECT booking_id, event_id, places FROM BOOKING WHERE attendee_email = ?" ExecuteWithParameters(query, [input])

Parameters protect values, not arbitrary table names or SQL keywords. Dynamic structure requires a controlled allow-list.

 

Independent practice: event availability

Using the VENUE, EVENT and BOOKING schema:

  1. Develop a query returning open event titles, venue names and dates in accessible venues, earliest first.
  2. Develop a query returning each event ID and confirmed booked-place total, but only totals of 10 or more.
  3. Develop a subquery returning events whose capacity is greater than the maximum capacity of events at venue 3.
  4. Explain why attendee email should not be returned by a public events endpoint.
View a sample solution
  1. SELECT EVENT.title, VENUE.venue_name, EVENT.event_date
    FROM EVENT
    INNER JOIN VENUE ON EVENT.venue_id = VENUE.venue_id
    WHERE EVENT.status = 'open'
      AND VENUE.accessible = TRUE
    ORDER BY EVENT.event_date ASC;
  2. SELECT event_id, SUM(places) AS booked_places
    FROM BOOKING
    WHERE booking_status = 'confirmed'
    GROUP BY event_id
    HAVING SUM(places) >= 10;
  3. SELECT event_id, title, capacity
    FROM EVENT
    WHERE capacity > (
        SELECT MAX(capacity)
        FROM EVENT
        WHERE venue_id = 3
    );
  4. The public endpoint needs event availability, not attendee personal information. Excluding the email minimises disclosure and enforces separation between public and authorised booking data.
Revision topics

Broader personal, social and economic impacts

 

Impact is a change with a stakeholder

An impact response should identify who experiences a change, how the solution causes it and why it matters.

PerspectiveFocusPossible example
PersonalAn individual's privacy, autonomy, safety, access, time or opportunityA false record prevents one person receiving a service
SocialGroups, relationships, participation, fairness, trust and community practicesDigital-only access excludes people without reliable connectivity
EconomicCosts, income, jobs, productivity, competition and distribution of resourcesAutomation reduces processing cost but changes staff roles

Categories overlap: one data breach may personally expose identity, socially reduce trust and economically create recovery costs.

Classify without oversimplifying

A route app reduces commuting time, but its live-location requirement prevents people with limited mobile data from participating. Determine one personal, social and economic impact.

View a sample solution
 

Map stakeholders before judging

Stakeholders may experience different outcomes.

Ask who gains, who carries cost or risk, who has decision power and who may be missing from the design process.

Stakeholder contrast

A council replaces staffed booking counters with an app. Analyse one benefit and one cost for two different stakeholders.

View a sample solution

The council may reduce routine processing cost and gain consistent records, but must fund development, security and support. Confident app users may book at any time, while people without suitable devices, connectivity or digital confidence may lose practical access unless an alternative channel remains.

 

Data exchange changes reach and risk

Exchanging data can remove duplicated entry, speed coordination and enable new services. It can also spread inaccurate or sensitive information beyond its original setting.

Interoperability can create public value, but an exchange should not be assumed ethical merely because it is technically possible.

 

Storage creates long-term consequences

Stored data can support history, accountability, personalisation and research. Retention also extends the time during which data may be misused, breached, misunderstood or applied to a new purpose.

DecisionImpact question
What is stored?Does each field have a defined need, especially sensitive data?
How long?What benefit requires retention, and when is disposal appropriate?
Who can access it?Are permissions necessary, attributable and reviewed?
Where?Which provider, location, contract and legal obligations apply?
 

Accuracy affects decisions

Data can be syntactically valid but inaccurate, incomplete, outdated or misleading. When a system scales, one error can be copied into many decisions.

Consider:

Automation can amplify, not remove, error: consistent processing of inaccurate input produces consistent but still harmful output.

Trace an accuracy impact

A relief database incorrectly records that a household has received supplies. The automated system blocks a second request.

Explain a personal, social and economic consequence.

View a sample solution

Personally, the household may miss essential supplies. Socially, repeated unexplained errors can reduce community trust and affect already vulnerable groups unevenly. Economically, staff spend time investigating and correcting the record while emergency resources may be allocated inefficiently.

 

Ownership, control and responsibility

“Who owns the data?” may hide several different questions:

A platform possessing a copy does not mean it can ethically use that data for any purpose. Analyse legal obligations, notices, expectations, contracts and power relationships separately.

 

Access and the digital divide

Digital solutions can extend services across distance and time. They can also exclude through:

Providing an app is not the same as providing equitable access. Alternatives, assisted channels and accessible design may be required.

Recommend inclusion

A health appointment system moves to smartphone-only booking with mandatory biometric authentication. Recommend two inclusion refinements.

View a sample solution

Keep an assisted phone or in-person channel, and provide a secure non-biometric authentication alternative. These refinements support people without suitable devices, connectivity or usable biometrics while retaining access controls.

 

Work, cost and productivity

Automation may reduce repetitive work, increase consistency and allow a service to scale. Economic impacts can also include:

A serious evaluation avoids “technology creates jobs” versus “technology removes jobs”. Identify which tasks change, what new capabilities are required and who bears transition costs.

 

Environmental impacts

Digital services use devices, networks, data centres and storage. Impacts include energy use, cooling, hardware manufacture, electronic waste and replacement cycles.

Possible refinements include efficient data retention, appropriately sized models and media, renewable-energy procurement, repairable devices and avoiding unnecessary computation. An environmental claim should use evidence rather than assume that paperless always means impact-free.

 

Evaluate rather than list

Stakeholder: who is affected? Mechanism: what feature or data practice causes change? Impact: what benefit or harm occurs? Extent: under which conditions and for whom? Judgment: how significant or acceptable is it? Response: what refinement changes the balance?

Weak: The app has positive and negative impacts.

Evaluated: Real-time availability reduces wasted travel for connected users, but smartphone-only access excludes residents without reliable devices or data. The benefit is therefore unevenly distributed. A public kiosk and assisted booking channel would retain efficiency while reducing exclusion.

 

Independent practice: smart community transport

A regional service proposes an app that predicts demand and changes bus routes each hour. It collects precise passenger location, payment history and accessibility needs. The model was trained mainly on weekday smartphone users. Cash booking and the staffed phone line will close. The provider promises lower operating cost and shorter average waits.

  1. Analyse two personal, two social and two economic impacts for different stakeholders.
  2. Evaluate whether shorter average waiting time is enough to establish success.
  3. Recommend four refinements covering data, access, model evaluation and accountability.
View a sample solution

Exam clinics

Exam clinics

Pseudocode and desk checking

How to use this clinic

This clinic brings together authentic QCAA external-assessment questions involving pseudocode, algorithm reasoning and desk checking.

  1. Attempt each question on paper without looking ahead.
  2. Compare your answer with the worked response and explanation.
  3. Use the QCAA marking criteria to check what earned the marks.
  4. Add anything missing to your answer in a different-coloured pen.

Download Pseudocode and desk checking (PDF)

The PDF includes the original question extracts, worked responses, explanations and marking-guide extracts.

Exam clinics

Cybersecurity and the CIA triad

How to use this clinic

This clinic brings together authentic QCAA external-assessment questions about cybersecurity and the confidentiality, integrity and availability triad.

  1. Attempt each question on paper without looking ahead.
  2. Compare your answer with the worked response and explanation.
  3. Use the complete QCAA sample response and marking criteria to check what earned the marks.
  4. Add anything missing to your answer in a different-coloured pen.

Download Cybersecurity and the CIA triad (PDF)

The PDF includes the original question extracts, worked responses, explanations and complete QCAA sample-response and marking-criteria extracts.

Exam clinics

Data-flow diagrams

How to use this clinic

This clinic brings together authentic QCAA external-assessment questions about data-flow diagrams and exchange-system relationships.

  1. Attempt each question on paper without looking ahead.
  2. Compare your answer with the worked response and explanation.
  3. Use the complete QCAA sample response and marking criteria to check what earned the marks.
  4. Add anything missing to your answer in a different-coloured pen.

Download Data-flow diagrams (PDF)

The PDF includes five QCAA questions from 2021–2025, worked responses, explanations and complete marking-guide extracts.

Practice exams

Complete 2024 and 2025 QCAA Digital Solutions practice examinations, with original stimulus and question material, official marking guides, and independent worked explanations.

Practice exams

2024 Digital Solutions practice exam

Complete 2024 practice examination with the original QCAA material and independent, student-friendly explanations.

What this booklet does: Use the original paper as a timed or untimed practice exam, check your work against the official marking guide, then use the final explanation pages to learn how each answer is constructed.

What is included

Topics covered

Visual communication and accessibility; impacts of data use; algorithms and JSON; useability; cybersecurity and data exchange; Australian Privacy Principles; data-flow diagrams; and interface design.

How to use the booklet

  1. Complete the stimulus and examination questions on paper.
  2. Compare your response with the official marking guide.
  3. Read the independent explanations at the end, including why multiple-choice distractors do not fit.
  4. Compare alternative responses and identify which marking criteria each one satisfies.

Download

Open or download the 2024 practice-exam booklet

The same PDF is also available from the Attachments panel on this page.

Original assessment material: © State of Queensland (QCAA) 2024. The original documents retain their attribution and licence notices. The added cover and explanations are independent teaching material and are not an official QCAA publication or marking decision.

Practice exams

2025 Digital Solutions practice exam

Complete 2025 practice examination with the original QCAA material and independent, student-friendly explanations.

What this booklet does: Use the original paper as a timed or untimed practice exam, check your work against the official marking guide, then use the final explanation pages to learn how each answer is constructed.

What is included

Topics covered

Encryption and hashing; programming and JSON; privacy and security; file transfer; data-flow diagrams; constraints; data dictionaries; desk checking; smart traffic systems; and useability.

How to use the booklet

  1. Complete the stimulus and examination questions on paper.
  2. Compare your response with the official marking guide.
  3. Read the independent explanations at the end, including why multiple-choice distractors do not fit.
  4. Compare alternative responses and identify which marking criteria each one satisfies.

Download

Open or download the 2025 practice-exam booklet

The same PDF is also available from the Attachments panel on this page.

Original assessment material: © State of Queensland (QCAA) 2025. The original documents retain their attribution and licence notices. The added cover and explanations are independent teaching material and are not an official QCAA publication or marking decision.