Course Toolkit

The diagrams, SQL, spreadsheet functions, testing and implementation methods and software features that NESA’s Course Specifications name, explained one by one with worked examples. Notation and lists from the NESA Enterprise Computing Course Specifications (© NESA); a study aid, not a replacement.

Resources Course Specifications pp.4–21
Start here How to use this toolkit

The Course Specifications at a Glance

Course Specifications pp.4–21 Every tool, notation and list NESA names, and where it turns up in the exam

Source and acknowledgement The notation, symbol names, SQL keywords, spreadsheet function lists and method names on this page come from NESA’s Enterprise Computing Higher School Certificate Course Specifications (© NSW Education Standards Authority, 2023). We have redrawn the diagrams from NESA’s descriptions and written every explanation, example and question ourselves. This page is a study aid, not a replacement: NESA’s website holds the only official and up-to-date version, so read it for yourself and follow it if anything here differs. Open the official Course Specifications (PDF) ↗ · NESA syllabus content page ↗

Why the specifications are examinable

NESA states on page 4 that the specifications “indicate the depth of study required for some concepts” and that the syllabus “must be applied in conjunction with” them. In practice this means three things. First, the symbols are fixed: a data store is an open-ended rectangle, not a cylinder. Second, the lists are fixed: NESA names four SQL keywords, and those are the ones you are expected to know. Third, some depth is fixed: for machine learning you only need to know what it is used for, not how it works.

Where each tool sits, and what the 2025 HSC asked

Specifications sectionPageOn this pageSeen in the 2025 HSC
Data flow diagrams4–5Data flow diagramsLevel 0 versus Level 1 DFD using the correct symbols
Flowcharts; system flowcharts6–7Flowcharts, System flowchartsDrawing tasks, including DFDs and flowcharts
Decision trees; data dictionary8–9Decision trees, Data dictionary
Storyboards9StoryboardsInterface (screen) design with form controls
Network diagrams; graph and network theory10–11Network diagrams, Graph and network theory
Gantt charts; process diaries12–13Gantt charts, Process diariesA Gantt chart to schedule and track a team’s activities
Implementation and testing methods14–15Implementation, Testing
Normalisation and schemas16Relational databases
SQL syntax17SQL syntaxA query using four SQL keywords and a join
Machine learning and statistical modelling18Machine learning
Database, spreadsheet, expert system, graphics and presentation software19–21Database, Spreadsheet, Expert system, Graphics and presentationFormulas with SUM, LOOKUP and IF, checked with test data; conditional formatting, pivot tables and chart choice

The last column is our summary of NESA’s 2025 marking feedback. NESA’s own wording is on its 2025 HSC exam page ↗.

How each tool is laid out

Each section follows the same routine so you can revise quickly: what the tool is for, NESA’s notation, how to draw or use it step by step, a warning about common exam mistakes, an exam tip and a short “Try this” task with a model answer you can reveal after you have had a go. Symbol keys and worked examples are redrawn from NESA’s own; the extra examples (a school canteen, a games database) are ours.

Use it actively Cover the diagram and redraw it from the description. Draw with the notation NESA prints, on paper, with a ruler. You will not have time to work out a symbol during the exam, so make the notation automatic beforehand.
Part 1 System and data modelling tools

Data Flow Diagrams (DFDs)

Course Specifications pp.4–5 Four symbols, the voting-system example and the Level 0 diagram

What it is for

A data flow diagram shows what data moves between the people and organisations outside a system, the processes inside it and the places data is kept. It does not show when things happen or how they are coded, which makes it the standard tool for agreeing requirements with a client. In NESA’s own Gantt chart example (p.12) “Produce a data flow diagram” is a task in requirements gathering.

NESA’s symbols (p.4)

Symbol key

Data flow diagram symbols

The four symbols NESA uses, with what each one means.

What to notice
  • A process is a circle. A data store is a rectangle that is open on one side. An external entity is a closed, near-square rectangle.
  • Every data flow is a curved arrow with a label.

Try thisClose the page and draw all four symbols from memory, with a one-line meaning beside each.

SymbolShapeMeaning (in our words)Example
ProcessCircleTakes in data and turns it into different data (an output).Voting
Data storeRectangle, open on one sideAnywhere data is kept between processes: an electronic file or non-computer storage such as a filing cabinet.Electoral roll
External entityClosed, near-square rectangleAny person, organisation or element outside the system that supplies data to it or receives data from it.Voters
Data flowLabelled, curved arrowData moving between processes, data stores and external entities. The label names the data, and the arrowhead shows the direction.Confirmation

Level 0 and Level 1 (p.5)

NESA describes a Level 0 diagram as an overview of the entire system that shows no data stores and no internal processes. The diagram above it on p.5, with three processes and two stores, shows the detail behind that overview. NESA does not name it, but the 2025 HSC called it a Level 1 diagram, so we do too.

Level 0 (context diagram)Level 1
ShowsThe whole system as a single process and the data crossing its boundaryThe main processes inside the system and how data moves between them
ProcessesOne circle, named for the systemSeveral circles, one per major function
Data storesNoneShown
External entitiesAll of themThe same ones
Best forAgreeing the scope: who and what the system talks toExplaining how the system works and what it must remember

Data flow diagram

Level 0 data flow diagram: a voting system

NESA’s voting system as one process, with three external entities and no data stores.

What to notice
  • Only four flows cross the boundary: Candidates’ details, Voters’ details and vote, Confirmation, and Election results.
  • Nothing is stored here. The Electoral roll and Endorsed candidates appear only in Level 1.

Try thisList the four boundary flows, then find each one again in the Level 1 diagram below.

Data flow diagram

Data flow diagram (Level 1): a voting system

The detail inside the voting system: three processes and two data stores.

What to notice
  • Pairs of flows between the same two symbols curve to opposite sides, each with its own label.
  • Data moves between entities and processes, or between processes and stores. No flow joins two stores or two entities directly.

Try thisWhich process changes the Endorsed candidates store, and which one only reads it?

How to draw one, step by step

We will build a diagram for an online ordering system in a school canteen. Students place an order and the canteen manager sets the menu and receives the order list.

  1. List the external entities: everyone and everything outside the system that sends or receives data. Here: Student and Canteen manager.
  2. Draw Level 0. Put one circle in the centre, name it for the whole system, place the entities around it and add a labelled flow for every piece of data that crosses the boundary.
  3. Break the system into processes. Name each circle for a job the system does, with a verb: Manage menu, Take order, Prepare order list.
  4. Add data stores wherever data has to be kept for a later process to use: Menu and Orders.
  5. Connect and label every flow. Label each arrow with the data itself (Order request, not “send”).
  6. Check the balance: every flow that crosses the boundary in Level 0 must appear, with the same label, in Level 1. Every process needs at least one flow in and one flow out.

Data flow diagram

Level 0 data flow diagram: a school canteen ordering system

Step 2: the whole system as one process, with four labelled flows crossing its boundary.

What to notice
  • Two entities and one process. No stores, no internal processes.

Try thisAdd a third entity, Parents, who pay a top-up into a student’s canteen account. Which new flows would appear?

Data flow diagram

Level 1 data flow diagram: a school canteen ordering system

Steps 3 to 6: the same system opened up into three processes and two data stores.

What to notice
  • The four Level 0 flows (Order request, Order confirmation, Menu and prices, Daily order list) are all still here, unchanged.
  • The Menu and Orders stores are new: they hold data between processes.
  • Every store is joined to a process, never straight to an entity.

Try thisWhere would a Payments store fit if students paid online, and which process would write to it?

Common exam mistakes Drawing data stores or several processes on a Level 0 diagram. Using a cylinder for a store or a rounded box for a process. Labelling flows with actions (“send”, “process”) instead of the data that moves. Leaving arrowheads or labels off. Joining two external entities or two stores directly. Showing a two-way exchange with one double-headed arrow instead of two labelled flows, as NESA does.
Exam tip The 2025 question on Level 0 versus Level 1 asked for the correct symbols. Award yourself marks for each thing a marker can see: correct symbol shapes, labelled arrows with heads, one process and no stores at Level 0, several processes and at least one store at Level 1. Then add one sentence saying what each level is for. If a question says “distinguish”, name a difference for each level rather than describing only one.
Try this A gym lets members book classes online. Members send a booking request and get a confirmation. Instructors receive a class list. The system keeps a Classes store and a Bookings store. Draw the Level 0 diagram, then the Level 1 diagram with at least three processes.
Model answer

Level 0: one circle (Class booking) with entities Member and Instructor. Flows: Booking request (Member to system), Booking confirmation (system to Member), Class list (system to Instructor). If instructors also set up the timetable, add Class details from Instructor.

Level 1: processes Set up class (Instructor sends Class details, written to the Classes store), Make booking (Member sends Booking request, reads Classes for Available classes, writes to the Bookings store, returns Booking confirmation) and Produce class list (reads Bookings for Booked members, sends Class list to Instructor). Check that all Level 0 flows appear in Level 1 with the same labels.


Flowcharts

Course Specifications p.6 Four symbols, read top to bottom and left to right

What it is for

A flowchart represents logic: the steps a process follows and the decisions along the way. It is what you draw when you must show how a rule works, such as when a delivery charge applies, before writing the program or formula that carries it out.

NESA’s symbols (p.6)

Symbol key

Flowchart symbols

The four symbols in NESA’s Enterprise Computing flowcharts.

What to notice
  • There are only four symbols. Do not add others, such as a subprogram box or connector circles.
  • Arrows show the direction of flow.

Try thisName the symbol for each step: “Enter the student’s mark”, “Add 5 to the mark”, “Is the mark over 50?”, “Finish”.

SymbolUse it forText inside
Terminator (rounded ends)The start and the end. NESA’s example starts with START and ends with END.START, END
Input or output (parallelogram)Data coming in or going outEnter the delivery distance
Process (rectangle)An action or calculationNo delivery charge
Decision (diamond)A question with two possible answers, each leaving on a labelled arrowDelivery distance >10km?

NESA’s worked example

Flowchart

Flowchart: delivery charge for perishable and non-perishable items

Logic that decides whether a delivery charge applies.

What to notice
  • Every arrow leaving a decision is labelled Yes or No.
  • Two different paths lead to the same process, Delivery charge applies, and the paths join before END.

Try thisTrace an order for non-perishable items, 12 km away, worth $150. What does the flowchart output?

To trace a flowchart, put your finger on START and follow the arrows, answering each decision with test data. The table shows four tests on NESA’s example.

Perishable?DistanceOrder valuePath takenResult
Yes(not asked)(not asked)First decision: YesDelivery charge applies
No8 km(not asked)First: No, second: NoNo delivery charge
No12 km$80No, Yes, third: YesDelivery charge applies
No12 km$150No, Yes, third: NoNo delivery charge

How to draw one, step by step

  1. Write the rule in plain words and list every input the logic needs.
  2. Draw a START terminator at the top, then an input for each value you need.
  3. For each condition, draw a decision diamond with the question inside, using the same wording and symbols as the rule (“>10km?”).
  4. Draw two exits from each diamond and label both (Yes and No). Follow each one to a process or another decision.
  5. Bring separate paths back together where the logic joins, then finish with one END terminator.
  6. Trace the chart with test data for every path, including the boundary values.
Common exam mistakes Leaving a decision exit unlabelled. Using symbols NESA does not list for flowcharts (a subprogram box, connector circles, a system flowchart cylinder). Forgetting START or END, or drawing two ENDs. Putting a question in a process rectangle. Using a process box for something entered by the user, which belongs in an input/output parallelogram. Arrows without heads, so the direction is unclear.
Exam tip Test the boundaries. NESA’s example uses “>10km” for one decision and “≤$100” for another, so an order of exactly 10 km goes down the No path and an order of exactly $100 goes down the Yes path. Markers check that your comparison matches the rule.
Try this Draw a flowchart for a school library fine. Enter the number of days a book is overdue. If it is 0 or less, there is no fine. If it is more than 10 days, the fine is $5.00. Otherwise the fine is 50 cents for each day overdue. Output the fine.
Model answer

START, then input “Enter days overdue”. Decision “Days overdue ≤ 0?”. Yes leads to the process “Fine = $0”. No leads to a second decision “Days overdue > 10?”: Yes leads to “Fine = $5.00”, and No leads to “Fine = days overdue × $0.50”. All three processes flow into one output “Display the fine”, then END. Test with 0 days (no fine), 3 days ($1.50), exactly 10 days (No path: 10 × $0.50 = $5.00) and 11 days (Yes path: $5.00). Both paths give $5.00 at the boundary, which confirms the cap is applied consistently.


System Flowcharts

Course Specifications p.7 Nine symbols for the main processes and devices in a system

What it is for

A system flowchart shows the main processes and devices in a system: what is typed in, what is stored, what is displayed or printed and where data travels over a network. Where a flowchart shows the order of decisions, a system flowchart shows where the data goes. NESA says its arrows show “the direction of data between each of the symbols”.

Flowchart (p.6)System flowchart (p.7)
ShowsLogic and decisionsProcesses, devices and storage
Arrows meanDirection of flow through the logicDirection of data between symbols
DecisionsYes/No diamondsNone: the decision-making sits inside a process
SymbolsFourNine

NESA’s symbols (p.7)

Symbol key

System flowchart symbols

The nine symbols NESA lists for system flowcharts.

What to notice
  • The telecommunications link is a zig-zag line, not a closed shape.
  • NESA prints “Online dispay” (a typing slip in the original). The symbol is the online display.

Try thisCover the labels and name each symbol from its shape alone.

SymbolTypically stands forExample
Paper documentA printed or handwritten documentPatient account
ProcessA program, procedure or operation that changes dataBilling
Direct access storageA database or disk where any record can be reached directlyPatient file
Online displayOutput shown on a screenPatient confirmation
Manual operationA step a person does by handChecking a signature
Telecommunications linkData sent over a communication linkLink to a cloud service
Online inputData entered directly, for example by keyboard or touchscreenVisit details
Magnetic tapeTape storage, often used for backupsOvernight backup
CloudStorage or a service on the internetHealth data

NESA only names each symbol. The “typically stands for” column is our explanation.

NESA’s worked example

System flowchart

System flowchart: a doctor managing patient information

Devices, storage and processes in a medical practice.

What to notice
  • The double-headed arrow between Add a new patient and Patient file means the process both reads and writes the file.
  • Consultation sends data to a second file and on to the Health data cloud through a telecommunications link. It also feeds Billing, which produces a paper Patient account.

Try thisTrace the data from “Visit details” to the paper Patient account, naming each symbol on the way.

How to draw one, step by step

  1. List the processes the system carries out, in the order the data reaches them.
  2. For each process, list where its data comes from (online input, paper document, storage) and where its results go (storage, display, printout, cloud).
  3. Choose the correct symbol for each device or store and write a short name inside it: what the data is, or what the process does.
  4. Join symbols with arrows that point the way the data moves. Use a double-headed arrow when a process reads and writes the same store.
  5. Insert the telecommunications link where data crosses a network, for example to reach a cloud service.
  6. Check that every process has an input and an output and that every store is joined to a process.
Common exam mistakes Using flowchart symbols such as the decision diamond or terminator in a system flowchart. Arrows pointing the way the process happens rather than the way data travels. Labelling a symbol with a device (“hard drive”) when the question wants the data or file (“Customer file”). Drawing a plain arrow where data crosses a network instead of the telecommunications link. Using a symbol the question did not need, such as a magnetic tape, because it looked impressive.
Exam tip Match each part of the scenario to a symbol before you draw: typed by a person (online input), kept for later lookup (direct access storage), shown to someone (online display), printed (paper document), held on the internet (cloud). A marker is looking for the right symbol for each device and arrows in the right direction.
Try this A farm co-op takes orders online. A staff member types each order into the system. The system saves it to a customer file, shows a confirmation on screen and prints a packing list. Order totals are sent over the internet to an accounting service in the cloud. Draw the system flowchart.
Model answer

Online input “Order details” → process “Record order” (double-headed arrow to direct access storage “Customer file” if it checks the customer’s details) → online display “Order confirmation”, and → paper document “Packing list”. Process “Record order” → telecommunications link → cloud “Accounting service”. Only the nine NESA symbols are used and every arrow points the way the data travels.


Decision Trees

Course Specifications p.8 All the combinations of decisions and their resulting actions, in two layouts

What it is for

A decision tree lays out every possible combination of conditions and the action that results from each. NESA adds that each decision path leads either to another decision or to a final action. It is the tool for rules with several factors, such as the settings for a smart house or whether to buy a car.

NESA’s two forms (p.8)

Decision tree

Decision tree (horizontal): comfort control in a smart house

Read left to right: three temperature ranges, two humidity ranges, then the settings.

What to notice
  • Three temperature branches each split into two humidity branches, giving 3 × 2 = 6 paths.
  • Each path ends in a set of final actions: fan, cooling, heating and window.

Try thisThe house is 22°C and 40% humidity. Read off the fan, cooling, heating and window settings.

Decision tree

Decision tree (vertical): buying a car

Read top to bottom: each rectangle is a condition or a final action, and each branch is labelled Yes or No.

What to notice
  • Rectangles, not diamonds. Every branch is labelled.
  • Different branches ask different follow-up questions: a car over 10 000 km is judged on accessories, not on colour.

Try thisA silver hatchback with 6 000 km on it: does the tree say buy or do not buy?

Try it

Follow a path through a decision tree

Answer a tree's questions and read off the path and its IF-THEN rule. Enable JavaScript to use this tool. In short: every path from the root to an action is one IF-THEN rule.

How to draw one, step by step

  1. List the conditions (inputs) and the actions (outputs) the rule involves.
  2. Choose the first condition and make it the root. Each answer becomes a labelled branch.
  3. From each branch, add the next condition that matters for that branch, or a final action if the answer is settled.
  4. Make sure the branches from any one condition cover every possible value once: no gaps and no overlaps (for example >30, 15–30 and <15).
  5. Trace at least one path to every final action to confirm the tree gives the outcome the rule requires.
Common exam mistakes Drawing diamonds (NESA’s decision trees use rectangles). Leaving branches unlabelled. Ranges that overlap or leave a value out, so a reading of exactly 15°C fits two branches or none. A path that ends on a question instead of an action. Repeating a condition on a path that has already settled it.
Exam tip Give each path a quick check by reading it aloud as a sentence: “If the temperature is over 30 and the humidity is over 50%, then the fan is high.” If it does not read as a sensible rule, redraw that branch. The same tree can be written as IF–THEN rules, which is how the expert system section uses it.
Try this A school lends laptops. A student in Year 11 or 12 who has returned a signed agreement is issued a laptop. A student in Year 11 or 12 without an agreement is asked to sign one. A student in a younger year needs a teacher’s approval first; with approval they are issued a laptop, without it they are refused. Draw a vertical decision tree.
Model answer

Root: “Year 11 or 12?”. Yes leads to “Signed agreement returned?”, where Yes gives “Issue laptop” and No gives “Ask student to sign”. No (younger year) leads to “Teacher approval?”, where Yes gives “Issue laptop” and No gives “Refuse”. There are four paths, every branch is labelled and every path ends in a final action.


Data Dictionary

Course Specifications p.9 A comprehensive description of each field in a database

What it is for

A data dictionary describes every field in a database in enough detail that a developer could build the table and a data-entry operator could fill it in correctly. NESA says it commonly includes six things, and its table has exactly these six columns: field name, data type, data format, field size, description and example.

NESA’s example (p.9)

NESA’s example data dictionary for an employee table
Field nameData typeData formatField sizeDescriptionExample
UserIDTextXXXNNNN7Unique seven-character field with 4 digitsXYZ1539
FirstNameTextXXX…XXX25First name of employeeJo
SurnameTextXXX…XXX25Surname of employeeSmith
DOBDateDD/MM/YYYY10Date of birth15/07/1982
HourlyPayRateCurrency$#####.##9Rate of pay expressed in dollars per hour$34.50
HeightReal#.##3Height in metres, with two decimal places1.58
FeesPaidBoolean1Y or N for Yes or NoY
XOne character (a letter, digit or symbol). XXXNNNN is three characters followed by four digits.
NOne digit. It must be a digit in that position.
#A numeric digit. A currency or decimal format such as $#####.## shows the symbol and the decimal point.
XXX…XXXAny text up to the field size, used when a value has no fixed pattern such as a name.

NESA’s own examples count field size slightly differently: the pay rate counts every character including the dollar sign and point, while the height counts only the digits. Whichever you choose, apply it consistently and say what you counted.

How to build one, step by step

  1. List each table, then every field in it. Use one row per field.
  2. Choose the data type by how the field is used. Text for names and for numbers you will never calculate with (phone numbers, postcodes). Date, Currency, Real and Boolean, as in NESA’s table, for the rest. Whole numbers are usually called Integer.
  3. Write the data format with X, N and #, or DD/MM/YYYY for dates, so the layout is unambiguous.
  4. Set the field size to the longest value the field must hold.
  5. Write a description that adds information, such as units or rules, rather than repeating the name.
  6. Give a realistic example that matches the format.

If a question also asks for validation, add a column for it. It is not one of NESA’s six, so treat it as an extension, as in our canteen example below.

Our example: canteen orders, with a validation column added
Field nameData typeData formatField sizeDescriptionExampleValidation (extension)
OrderIDTextCNNNN5Unique order number: the letter C then four digitsC0417Presence check; must match format
ItemNameTextXXX…XXX30Name of the menu item orderedChicken wrapPresence check
PriceCurrency$#.##5Price of one item in dollars$5.50Range check: $0.50 to $20.00
OrderDateDateDD/MM/YYYY10Date the order was placed12/08/2026Not later than today
CollectedBoolean1Y if the student has collected the order, otherwise NNOnly Y or N
Common exam mistakes Missing columns or inventing different ones instead of NESA’s six. A description that only repeats the field name (“Surname: the surname”). An example that does not fit the stated format. Storing phone numbers as numbers, which loses the leading zero. Writing a date with no format, so 03/04 could mean either month.
Exam tip When the scenario names a field, decide its type by asking what you would do with it. A value you might add up (price) is Currency or Real. A value you only display or match (student ID, postcode) is Text. Give the format, not just the type, and choose an example that fits it exactly.
Try this Write the data dictionary rows for a Members table in a sports club: MemberID (three letters then three digits), Name, Date joined, Annual fee (in dollars and cents), Junior member (yes or no).
Model answer
Field nameData typeData formatField sizeDescriptionExample
MemberIDTextXXXNNN6Unique member code: three letters then three digitsSMI042
NameTextXXX…XXX40Member’s full nameSam Nguyen
DateJoinedDateDD/MM/YYYY10Date the member first joined the club01/02/2024
AnnualFeeCurrency$###.##7Fee for one year, in dollars$120.00
JuniorBoolean1Y if under 18, otherwise NY

Storyboards

Course Specifications p.9 The screens of an interface and the links between them

What it is for

A storyboard shows the various interfaces (screens) of a product and the links between them. You draw one before building a website or app so that the client and the team can agree on what each screen contains and how a user moves around.

NESA’s notation (p.9)

Storyboard

Storyboard: three pages promoting a school canteen

Three screens and the navigation buttons that link them.

What to notice
  • Each screen has a title, a Help button at the top right, a column of navigation buttons and a content panel.
  • The button for the screen you are on is highlighted. A dot on a button with an arrow means “this button opens that screen”.

Try thisFrom the Prices screen, list every screen you can reach in one click.

How to draw one, step by step

  1. List the screens the user needs and give each a title.
  2. Draw each screen as a rectangle with the same layout: title, Help button, navigation column, content panel.
  3. Sketch the content in each panel: headings, text lines, image boxes, tables. Detail is not needed; positions are.
  4. Show the navigation. Highlight the current screen’s button and draw an arrow from every button to the screen it opens.
  5. Number the screens and check every screen can be left: there must be a way back and an Exit.
Common exam mistakes Drawing screens with no links between them, which is a page of sketches rather than a storyboard. A different layout on each screen. No way home or to exit. Unlabelled buttons and controls. Spending the time on artwork instead of on labelled content areas and links.
Exam tip The 2025 HSC included an interface design question with form controls. Label every control by type (text box, drop-down list, check box, option buttons, button) and say what data it collects. Keep the layout consistent, and show navigation so a marker can follow the user from one screen to the next.
Try this Storyboard a three-screen app for a school library: Home, Search results and Book details. Show the buttons, which screen each one opens and where the Help button sits.
Checklist for your storyboard

Three screens with the same frame. Home has a search box and a Search button linked to Search results. Search results lists titles with a link to Book details on each. Book details shows the cover image box, the author, the availability and a Home button. Every screen has Help and Exit, and the current screen’s button is highlighted.


Network Diagrams

Course Specifications p.10 Symbols for the devices (nodes) and how they are connected

What it is for

A network diagram, also called a network map, documents a network: the devices (nodes) and how they connect. It is what you would give a technician who has to set up, extend or fix the network.

NESA’s notation (p.10)

Network diagram

Network diagram: devices joined to a router and two hubs

A router links the internet to two hubs, a wireless device and the devices behind them.

What to notice
  • Every device has a label. NESA says students should clearly label all devices, and that different software draws devices with different symbols.
  • Dotted lines show the connections. The router is the link between the internet and everything else.

Try thisWhich devices lose their connection to the internet if the left-hand hub fails?

DeviceRole in the network (our explanation)
RouterJoins networks together and passes traffic between the local network and the internet
HubA simple connection point that repeats what it receives to every device plugged into it
SwitchA connection point that sends data only to the device it is meant for. Most modern networks use switches where NESA’s example shows hubs.
Wireless deviceA device that connects without a cable, for example by Bluetooth or Wi-Fi
Computer, laptop, tablet, smart phone, printerEnd devices (nodes) that send or receive data

How to draw one, step by step

  1. List every device on the network, including the connection to the internet.
  2. Place the central device (usually the router) in the middle, and the internet above it.
  3. Add the hubs or switches, then group the end devices around the one they connect through.
  4. Draw a line for each connection. Use a different line style for wireless connections and add a small key if you use more than one line style.
  5. Label every device with its type, and its name or purpose where that helps (for example “Printer – front office”).
Common exam mistakes Icons with no labels. Devices left floating with no connection. Connecting every device straight to the router when the scenario says they share a hub or switch. Leaving out the internet connection. Mixing up wired and wireless devices with no key.
Exam tip The marker cares about correct devices, correct connections and clear labels, not about artistic icons. A labelled box for each device is fine. Draw the topology exactly as the scenario describes.
Try this A small office has a router connected to the internet. A switch connects a printer and four desktop computers. Two laptops and a phone connect to the router by Wi-Fi. Draw and label the network diagram.
Model answer

Internet at the top, joined to Router. From Router: one wired line to Switch and three dotted wireless lines to Laptop 1, Laptop 2 and Phone. From Switch: five wired lines to Printer and Computer 1 to 4. Every device is labelled and a small key shows wired (solid) and wireless (dotted) lines.


Graph and Network Theory

Course Specifications p.11 Nodes and links, applied to the design of social networks

What it is for

Graph and network theory represents things and the relationships between them. NESA says it can be applied in the design of social networks: people and groups become circles, and their connections become lines. Drawing the network makes it easy to see who or what is central and which groups cluster together.

NESA’s notation (p.11)

SymbolNameRepresents
CircleNode (vertex)An individual or a category. Its size may show the size of a dataset, where appropriate.
Straight lineLink (edge)A connection between nodes, groups of nodes or clusters. A label on the link names the relationship.

Graph

Graph: VB’s social network

Individuals and categories linked to VB, with the relationship written on each link.

What to notice
  • VB is the largest circle: size shows importance or the amount of activity in the network.
  • The link labels (Friend, Listen, Watch, Group) tell you the relationship between VB and each node.

Try thisHow many nodes are directly linked to VB, and which of them are categories rather than individuals?

Reading the graph: the number of links at a node shows how connected it is, a cluster is a group of nodes mostly linked to each other, and a node that joins two clusters is a bridge between them. NESA does not name these ideas, but they are how a graph is interpreted.

Extension: numbers on links Some graphs put a number, called a weight, on each link, such as the cable length between two sites. NESA’s symbols do not include weights, so use them only if a question asks.

How to draw one, step by step

  1. List the nodes: the individuals and the categories in the network.
  2. Decide which links exist and what each relationship is called.
  3. Place the most important node in the centre and draw it largest if size is used to show importance.
  4. Draw straight lines between related nodes and write the relationship on each line.
  5. Group related nodes near each other so clusters are visible.
Common exam mistakes Circles with no labels. Links with no relationship written on them. Varying node size without saying what it means. Using arrows, boxes or other shapes (NESA’s symbols are circles and straight lines). Confusing a network diagram of devices with a graph of relationships.
Exam tip Say what each node represents and what a link means, then interpret: name the most connected node and explain why that matters for the design of the social network, for example who to notify or which group to promote to.
Try this Draw a graph of your class group chat. Put yourself in the centre, link to four classmates and two categories (a sport and a subject) and label each link with the relationship.
What a good answer shows

Your circle is the largest. Four individual nodes and two category nodes each have a straight link to you, labelled (for example Friend, Plays, Studies). Any two classmates who also know each other are linked, forming a cluster. You can explain which node has the most links and what that tells you.

Part 2 Project management tools

Gantt Charts

Course Specifications p.12 Tasks on a dated timeline, with dependencies, milestones, resources and progress

What it is for

A Gantt chart displays each component task of a proposed system development on an estimated timeline. It answers: what has to be done, how long each task should take, which tasks depend on others, who is doing them and how far along they are. NESA says other formats are acceptable, so what matters is that the main elements are present.

The main elements (NESA example 1)

Gantt chart

Gantt chart: requirements gathering

Eight tasks on a dated timeline, with dependencies and a milestone.

What to notice
  • Task names are self-explanatory. The time scale shows months and dates, and weekends are shaded.
  • Elbow arrows show dependencies: the report cannot start until the data flow diagram is finished.
  • The hollow diamond is a milestone, a point in time rather than a task with a duration.

Try thisWhich task must finish before task 6, Produce a data flow diagram, can begin?

ElementWhat NESA asks forHow it appears
Task namesSelf-explanatory titles“Interview participants”, not “Phase 1”
Estimated timeThe time each task needsBar length on the timeline
Dependent tasksClearly shownAn arrow from the end of one bar to the start of the next
Time scaleClearly indicated with datesMonths and day numbers across the top
MilestonesImportant ones clearly markedA hollow diamond

Resources and percentage completion (NESA example 2)

NESA’s second example allocates team members to tasks and shows the percentage complete of each. It also says the chart should be regularly updated during development to reflect actual versus estimated times.

Gantt chart

Gantt chart: resources and percentage completion

Tasks grouped into Analysis, Design and Development, with people and progress on each bar.

What to notice
  • The darker part of each bar is the work done. The lighter part is the work still to do.
  • Summary tasks (Analysis, Design, Development) group the smaller tasks, and milestones carry dates.
  • Team members’ names sit beside the tasks they are responsible for.

Try thisWhich phase is furthest through, and which team members have work allocated to them in the Design phase?

How to build one, step by step

  1. List the tasks the project needs, with names that explain themselves. Group them into phases if there are many.
  2. Estimate a duration for each task in days or weeks.
  3. Find the dependencies: which tasks cannot start until another finishes. Tasks with no dependency between them can run in parallel.
  4. Draw the timeline with dates, then place each bar so it starts after the tasks it depends on. Add arrows for the dependencies.
  5. Mark milestones: the points that matter, such as “Requirements approved” or “Testing complete”.
  6. Allocate people to tasks and check nobody is double-booked at the same time.
  7. Track and update: shade each bar to the percentage complete and revise the plan when actual times differ from the estimates.

One useful reading skill, though NESA does not name it: the longest chain of dependent tasks decides the earliest finish date. In example 1, tasks 1, 2, 5, 6 and 7 form that chain, so a delay to any of them delays the milestone.

Common exam mistakes No dates on the time scale (only “Week 1, Week 2” is weaker than actual dates). Dependencies missing, so a task starts before the one it needs has finished. No milestone. Vague task names such as “Do the coding”. Nobody named as responsible. A chart drawn once and never updated, so it no longer shows actual against estimated time.
Exam tip The 2025 HSC asked students to use a Gantt chart to schedule and track a team’s allocated activities. A full answer names the tasks, gives durations and dates, shows dependencies, allocates each task to a team member, marks a milestone and describes how the chart is updated with percentage complete as work is done.
Try this Plan a three-week project to build a booking form for a local sports club. The tasks are: interview the club secretary (2 days), design the form (3 days, after the interview), build the form (5 days, after the design), test the form (3 days, after the build) and hand over to the club (1 day, after testing). Two team members, Ana and Ben, share the work. Show the schedule and a milestone.
Model answer

Start on Monday 3 August. Interview the club secretary (Ana): 3–4 Aug. Design the form (Ben): 5–7 Aug, starting after the interview. Build the form (Ben and Ana): 10–14 Aug. Test the form (Ana): 17–19 Aug. Milestone “Form approved” on 19 Aug. Hand over to the club (Ana): 20 Aug. Each task has an arrow from the one before it. Week-by-week you would shade each bar to the percentage complete and record any difference between the estimate and the actual time.


Process Diaries and Log Books

Course Specifications p.13 Documenting the progress of a project at regular intervals

What it is for

A process diary (or log book) documents the progress of a project as it happens. Where a Gantt chart shows the plan, the diary records what was done, what went wrong and what you learned. It is also evidence of your own work when a project is marked.

What NESA says an entry should include (p.13)

Entries are made by team members at regular intervals and should include the following eight items.

ItemWhat to writeExample
DateThe day of the entryThursday 13 August
Person making the entryYour name, so that each member’s contribution can be seenSam Nguyen
Progress since the last entryWhat has changed since you last wroteMenu screen is built and linked to the order screen
Tasks achievedThe specific tasks completedFinished the Menu and Orders tables
Stumbling blocks or issues and how they were managedWhat went wrong and what you did about itPrices displayed with one decimal place; changed the field format to $#.##
Possible approaches for upcoming tasksOptions you are considering for the next stepsEither a drop-down list or option buttons for choosing a lunch item
Reflective commentsWhat you learned and what you would changeTesting the form earlier would have caught this sooner
Resources usedTools, data, people and sources you usedSpreadsheet software; feedback from the canteen manager
A model entry 13 August – Sam Nguyen. Since Tuesday I finished the Menu and Orders tables and linked the order screen to the menu. Prices showed as $5.5, so I changed the field format to $#.## and retested. Next I will decide between a drop-down list and option buttons for choosing items. Testing earlier would have caught the price format sooner. Used: database software and the canteen manager’s feedback.

How to keep one, step by step

  1. Decide the interval (for example after every lesson or work session) and stick to it.
  2. Write the entry as soon as you finish, while the detail is fresh.
  3. Cover every item in the list, even briefly. If nothing went wrong, say so.
  4. Record problems honestly: what happened, how you found it, what you did and whether it worked.
  5. Read back over earlier entries when you plan the next one, so your reflections shape what you do.
Common exam mistakes A vague entry such as “worked on the project”. Leaving out stumbling blocks, so it reads as if nothing went wrong. Writing everything at once at the end rather than at regular intervals. No name on the entry. No reflection. No resources listed.
Exam tip If you are asked to write or evaluate a diary entry, tick off the eight items. A short entry that covers all eight is stronger than a long entry that covers three. Where a question asks how a diary supports project management, link it to the Gantt chart: the diary records why the actual times differed from the plan.
Try this Write today’s process diary entry for this study session, with all eight items. Treat your revision as the project.
What a good answer shows

Your name and today’s date. What you covered since your last session. The specific tasks you finished (for example redrew the voting Level 0 DFD). A problem you hit (mixing up the process and data store symbols) and how you fixed it. Your plan for next time. A reflection on how you learn best. The resources you used, such as this page.

Part 3 Implementing and testing a system

System Implementation Methods

Course Specifications p.14 Recognise and understand: direct, parallel, pilot and phased

NESA names, we define NESA lists these four methods by name only and gives no definitions. The definitions, comparisons and examples below are ours, written to match how the methods are normally described.

What it is for

Implementation is the step where a new or redesigned system replaces the old one, or is put into use for the first time. The method you choose decides how much risk you take, how much it costs and how long the changeover lasts.

The four methods

MethodHow it worksStrengthsWeaknesses
DirectThe old system is switched off and the new one switched on at an agreed moment.Fastest and cheapest. Everyone moves at once.Highest risk. If the new system fails there is nothing to fall back on.
ParallelOld and new systems run side by side for a period. Outputs are compared before the old system is retired.Lowest risk. The old system is a safety net and results can be checked.Costs the most and takes longer: staff enter data twice and run two systems.
PilotThe complete new system is introduced in one location or one group first. If it works, it is rolled out to everyone else.Problems are found on a small scale. Feedback shapes the wider rollout.Slower overall. The organisation runs two systems for a while, and the pilot group may not represent everyone.
PhasedThe new system is introduced one part (module or function) at a time, for everyone, until all of it is live.Spreads the risk and the training load. Each stage can be fixed before the next.Old and new must work together during the changeover, which can be complicated. Full benefits come late.

Animated diagram

Implementation methods: switching from the old system to the new

Watch the steps, or step through with the arrow keys.

What to notice
  • Direct switches every office at once, so a fault hits everyone. Parallel keeps the old system running as a fallback.
  • Pilot moves one office first. Phased moves one module at a time across all offices.

Try thisUse the tabs to compare how each method behaves when the new system has a fault.

Choosing a method for a scenario

ScenarioBest fitWhy
A regional hospital changes its patient records systemParallelFailure is unacceptable, so the old system stays as a fallback while results are compared.
A retail chain with 40 stores introduces new point-of-sale softwarePilotTrial in one store, fix the problems, then roll out to the rest.
A council adds new modules to its system: rates, then permits, then librariesPhasedEach module goes live in turn and staff are trained a module at a time.
A small sports club replaces its membership spreadsheet with a simple appDirectLow risk, cheap, and the old spreadsheet can be kept as a backup copy.

How to choose, step by step

  1. Ask how critical the system is. If failure is costly or dangerous, lean towards parallel or pilot.
  2. Ask how many users and locations are involved. Many sites suggest pilot or phased.
  3. Ask whether the system splits into independent modules. If it does, phased is possible.
  4. Weigh cost and time. Parallel is safest but most expensive, and direct is cheapest but riskiest.
  5. Justify the choice with a reason drawn from the scenario, and name the disadvantage you are accepting.
Common exam mistakes Mixing up pilot and phased. Pilot means the whole system in one place first, while phased means one part at a time everywhere. Calling parallel “cheap”. Naming a method with no reason from the scenario. Ignoring the drawback of the method you chose.
Exam tip For a “recommend” or “justify” question, name one method, give a reason from the scenario (risk, cost, number of users or whether the system is critical), and acknowledge one disadvantage. Two or three connected sentences earn more than a list of all four methods.
Try this A logistics firm with depots in five towns is replacing its parcel-tracking system. Drivers rely on it every hour, and the firm cannot afford lost parcels. Recommend an implementation method and justify it.
Model answer

A pilot in one depot, followed by a rollout, is a sound choice. It limits the damage if the system has faults, because only one depot is affected, and drivers’ feedback can be used to fix problems before the other four depots switch. The trade-off is a slower changeover and running two systems at once. Running the old system in parallel at the pilot depot would reduce the risk further, at extra cost.


Methods for Testing a System

Course Specifications p.15 Recognise and understand: functional, acceptance, live data, simulated data, beta and volume testing

NESA names, we define NESA lists these six methods by name only and gives no definitions. The definitions below are ours. Live data and simulated data describe what data is used. The other four describe what is being checked and by whom.

What it is for

Testing checks that a system does what it should before people rely on it. Different methods find different kinds of problems, so a project normally uses several.

The six methods

MethodWhat it checksWho and howExample
Functional testingEach function works as the requirements sayDevelopers or testers give inputs and compare results with what is expectedEnter a $150 order and check that no delivery charge is added
Acceptance testingThe finished system meets the client’s agreed needsThe client or user runs it against agreed criteria, and decides whether to accept itThe canteen manager tries her daily tasks and signs off
Live dataThe system copes with real data from the organisationReal records are used in the test, with care for privacyLast term’s actual orders are loaded into the new ordering system
Simulated dataThe system handles chosen cases, including unusual and invalid onesTesters make up data on purpose, so results can be predictedA test order with a price of $0.00 or a date in the future
Beta testingFaults that appear in real use, by real usersA near-final version is released to a limited group outside the development team for feedbackFifty students use the new app for a fortnight and report problems
Volume testingPerformance under a large amount of data or many usersTesters load the system with large quantities of data or many simultaneous usersTen thousand orders are loaded to see whether searches slow down

Testing with simulated data: a worked example

Here is a functional test plan with simulated data for NESA’s delivery charge flowchart. The expected column is worked out from the rule before the test is run. The actual column is filled in during testing.

TestPerishable?DistanceOrder valueExpected resultPurpose
1Yes2 km$40Delivery charge appliesNormal data, perishable path
2No5 km$40No delivery chargeNormal data, short distance
3No10 km$40No delivery chargeBoundary: exactly 10 km is not more than 10
4No11 km$100Delivery charge appliesBoundary: exactly $100 is not more than $100
5No11 km$101No delivery chargeBoundary: just over $100
6No−3 km$40Rejected as invalidInvalid data: a negative distance. The flowchart has no check for this, so the test would fail and reveal a missing validation step

How to plan testing, step by step

  1. List what the system must do (its functions) from the requirements.
  2. For each function, choose test data: normal values, boundary values and invalid values.
  3. Work out the expected result before testing, so you are checking the system rather than believing it.
  4. Run the tests and record the actual result, then fix and retest anything that fails.
  5. Move on to the client’s acceptance test, a beta release if the system will be used widely, and a volume test if it must handle a lot of data or users.
Common exam mistakes Saying live data is “made-up data”. It is real data, and simulated data is the made-up kind. Confusing beta testing (real users, near-final version, wide feedback) with acceptance testing (the client checks against agreed criteria). Testing only normal values and never boundaries or invalid ones. Writing tests with no expected results.
Exam tip The 2025 HSC included spreadsheet formulas checked with test data. When you produce test data, give a set that covers normal, boundary and invalid cases, and state the expected result for each. If asked why simulated data is used first, say it is safe, predictable and can include rare cases. If asked why live data is used later, say it reflects the real mix of records.
Try this A school is about to launch a new ordering app for the canteen. Match each activity to a method: (a) a group of 60 students use the app for a fortnight and send feedback; (b) testers load 20 000 orders to check that it stays fast; (c) the canteen manager completes her tasks against the agreed checklist; (d) testers enter a price of $0.00 and a date in the future to see what happens.
Model answer

(a) Beta testing. (b) Volume testing. (c) Acceptance testing. (d) Functional testing using simulated data.

Part 4 Relational databases and SQL

Relational Databases: Normalisation and Schemas

Course Specifications p.16 Minimising duplication with linked tables, and drawing the schema

Normalisation

NESA describes normalisation as a process in relational database design where data duplication is minimised by separating the database into a number of smaller, linked tables. Each table should include fields that are solely dependent on the primary key in that table. NESA gives the reason: if a database contains redundant data, the copies may not be updated consistently, which leads to a data integrity problem. NESA does not ask you to name normal forms such as 1NF, 2NF or 3NF.

The problem: one flat table

Suppose the games database began as one flat file. The publisher’s name and the developer’s name are typed again on every row.

A flat table: the publisher and developer are repeated
IDNameRelease_dateCostPublisher_nameDeveloper_first_nameDeveloper_last_name
1Reef Runner15/03/202219.95Games IncMiaNguyen
3Star Harbour21/11/202239.95Games IncPriyaPatel
6Tidal Trader05/09/202329.95Games IncTomWalker
8Night Market30/03/202334.95Games IncLiamO’Brien
4Kelp Quest10/03/202314.95Southern Cross GamesMiaNguyen

“Games Inc” is stored four times and Mia Nguyen twice. If the publisher renames itself, four rows must be edited. If one is missed, the database now holds two versions of the same publisher, and a search for “Games Inc” misses some of its games. This is the data integrity problem NESA describes.

The fix: separate, linked tables

Move each repeating group into its own table, give each table a primary key and link the tables with a foreign key. Now “Games Inc” is stored once, and each game holds only the Publisher_ID that points to it.

Primary keyA field whose value is different for every record in the table, so it identifies that record. It is marked (P) in NESA’s schema.
Foreign keyA field in one table that holds the primary key value of a record in another table, forming the link. It is marked (F).
RelationshipThe link between two tables. One publisher has many games, so the relationship is one-to-many, written 1 at the one end and ∞ at the many end.
SchemaNESA: it shows the organisational structure of a database: the entities and their attributes, the primary key in each table, and the links between tables.

NESA’s schema (p.16)

Schema

Schema: a games database

Three tables, with primary keys (P), foreign keys (F) and one-to-many relationships.

What to notice
  • Each table is a rectangle with its bold name in a header box and one field per line.
  • Games holds two foreign keys, Publisher_ID and Developer_ID, so it links to both other tables.
  • 1 sits at the Publishers and Developers ends of the lines and ∞ at the Games end: one publisher can have many games.

Try thisWhich field links a game to its publisher, and which table is that field the primary key of?

NESA says there are other acceptable ways to represent a schema, so a different notation (for example crow’s foot lines for the many end) is fine if it clearly shows the tables, the fields, the primary keys and the relationships.

The sample data we use for SQL

The queries in the next section run on this data. The tables follow NESA’s schema. The rows and the dates (day/month/year, as in NESA’s example) are ours.

Publishers
Publisher_ID (P)Name
1Games Inc
2PixelWorks
3Southern Cross Games
Developers
Developer_ID (P)First_nameLast_name
1MiaNguyen
2LiamO’Brien
3PriyaPatel
4TomWalker
Games
ID (P)NameRelease_dateCostPublisher_ID (F)Developer_ID (F)
1Reef Runner15/03/202219.9511
2Outback Dash02/06/20229.9922
3Star Harbour21/11/202239.9513
4Kelp Quest10/03/202314.9531
5Dingo Derby27/03/202324.9524
6Tidal Trader05/09/202329.9514
7Coral Code18/01/202212.5033
8Night Market30/03/202334.9512

How to normalise, step by step

  1. Start with the flat table and look for values repeated across rows (a publisher, a customer, a supplier).
  2. Move each repeating group into its own table, and give the new table a primary key.
  3. Check that every other field in a table depends only on that table’s primary key. A game’s cost belongs in Games. A publisher’s name belongs in Publishers.
  4. In the original table, replace the repeated details with a foreign key that holds the other table’s primary key value.
  5. Draw the schema: tables, fields, (P) and (F) markers and a 1 and ∞ on each relationship line.
Common exam mistakes Leaving the foreign key out, so the tables are not linked. Writing the publisher’s name in the Games table instead of its ID. Marking the wrong field as the primary key, or forgetting (P) and (F) altogether. Putting 1 and ∞ at the wrong ends of a relationship. Describing normalisation as “making the database faster”: NESA’s reason is reducing duplication and protecting data integrity.
Exam tip To explain the benefit of normalisation in a scenario, follow NESA’s chain: duplicated data means copies can be updated inconsistently, which causes a data integrity problem, and separating the data into linked tables means each fact is stored once and only needs to change in one place. Use a specific example from the question.
Try this A school canteen stores each order on one row: OrderID, Date, StudentName, StudentHomeroom, ItemName, ItemPrice. Identify the repeated data, then propose three tables with their primary and foreign keys.
Model answer

Student details repeat for every order, and item details repeat for every sale. Three tables: Students (StudentID (P), StudentName, Homeroom), Items (ItemID (P), ItemName, ItemPrice) and Orders (OrderID (P), Date, StudentID (F), ItemID (F)). One student has many orders and one item appears in many orders, so both relationships are one-to-many with the ∞ end at Orders. Changing an item’s price now means editing a single row.


SQL Syntax

Course Specifications p.17 SELECT, FROM, WHERE and ORDER BY, applied to the games schema

What it is for

NESA describes Structured Query Language (SQL) as a language used to access and manipulate data in relational databases. For the HSC Enterprise Computing course, NESA lists exactly four pieces of standard syntax:

  • SELECT (what is to be displayed)
  • FROM (the tables to be used)
  • WHERE (the search criteria which may come from multiple tables)
  • ORDER BY (the sequence in which the results are displayed)

NESA’s own examples also use AND to combine criteria, the comparison operators =, >= and <=, ASC and DESC after ORDER BY, and the Table.Field form for naming a field. The database software specification (p.19) adds the logical operators AND, OR and NOT, which you can use in a WHERE clause.

What NESA does not list The specifications do not list JOIN…ON, COUNT, SUM, AVG, GROUP BY or statements that change data such as INSERT, UPDATE and DELETE. In NESA’s examples a join is written by listing the tables in FROM and matching the linked fields in WHERE. Stick to the four keywords; anything else on this page is labelled as an extension.

The shape of a query

Pattern
SELECT   the fields to display
FROM     the table or tables that hold them
WHERE    the criteria a record must meet          (optional)
ORDER BY the field to sort on, then ASC or DESC   (optional)

The clauses always come in this order. Text and dates go inside single quotes. Numbers do not. If two tables have a field with the same name (Name appears in Games and Publishers), write Table.Field so the database knows which you mean. ASC (A to Z, smallest first) is the default, and DESC reverses it.

All the results below were checked by running the queries on the sample data, with the dates compared as real dates.

Worked queries on the games schema

1. SELECT and FROM: display chosen fields

List the name and cost of every game. With no WHERE clause, every record is returned.

SQL
SELECT Name, Cost
FROM Games

Result (8 rows)

NameCost
Reef Runner19.95
Outback Dash9.99
Star Harbour39.95
Kelp Quest14.95
Dingo Derby24.95
Tidal Trader29.95
Coral Code12.50
Night Market34.95

2. WHERE: choose which records

Only records that meet the criterion appear. Here, games that cost less than $15.

SQL
SELECT Name, Cost
FROM Games
WHERE Cost < 15

Result (3 rows)

NameCost
Outback Dash9.99
Kelp Quest14.95
Coral Code12.50

3. WHERE with text

Text criteria go in quotes. Here, the developers whose last name is Patel.

SQL
SELECT First_name, Last_name
FROM Developers
WHERE Last_name = 'Patel'

Result (1 row)

First_nameLast_name
PriyaPatel

4. ORDER BY: put results in order

Sort by cost with the most expensive first. DESC reverses the default ascending order.

SQL
SELECT Name, Cost
FROM Games
ORDER BY Cost DESC

Result (8 rows)

NameCost
Star Harbour39.95
Night Market34.95
Tidal Trader29.95
Dingo Derby24.95
Reef Runner19.95
Kelp Quest14.95
Coral Code12.50
Outback Dash9.99

5. Sorting on more than one field

List games by publisher, and within each publisher alphabetically by game name. The first field decides the main order and the second breaks ties.

SQL
SELECT Publisher_ID, Name
FROM Games
ORDER BY Publisher_ID ASC, Name ASC

Result (8 rows)

Publisher_IDName
1Night Market
1Reef Runner
1Star Harbour
1Tidal Trader
2Dingo Derby
2Outback Dash
3Coral Code
3Kelp Quest

6. NESA example 1: WHERE with AND, and ORDER BY

NESA’s first example displays the name and release date of all games released from 1 March 2022 to 31 March 2023, in alphabetical order by name.

SQL
SELECT Name, Release_date
FROM Games
WHERE Release_date >= '01/03/2022' AND Release_date <= '31/03/2023'
ORDER BY Name ASC

Result (6 rows)

NameRelease_date
Dingo Derby27/03/2023
Kelp Quest10/03/2023
Night Market30/03/2023
Outback Dash02/06/2022
Reef Runner15/03/2022
Star Harbour21/11/2022

The two conditions are joined with AND, so a game must satisfy both. Tidal Trader (September 2023) and Coral Code (January 2022) fall outside the range.

7. OR and brackets

Use OR when either condition is enough. Put brackets around the OR so it is worked out before the AND. Here, games from publisher 2 or 3 that cost less than $20.

SQL
SELECT Name, Cost
FROM Games
WHERE (Publisher_ID = 2 OR Publisher_ID = 3) AND Cost < 20

Result (3 rows)

NameCost
Outback Dash9.99
Kelp Quest14.95
Coral Code12.50

Joining tables

Data about a game and its publisher are in different tables, so a query that shows both must join them. NESA’s method has two parts: list every table in FROM, separated by commas, then add a WHERE condition that makes the primary key equal the matching foreign key.

8. A join of two tables

Show each game with its publisher. The condition Games.Publisher_ID = Publishers.Publisher_ID pairs each game with only its own publisher. Both tables have a Name field, so each is written as Table.Field.

SQL
SELECT Games.Name, Publishers.Name
FROM Games, Publishers
WHERE Games.Publisher_ID = Publishers.Publisher_ID
ORDER BY Games.Name ASC

Result (8 rows)

Games.NamePublishers.Name
Coral CodeSouthern Cross Games
Dingo DerbyPixelWorks
Kelp QuestSouthern Cross Games
Night MarketGames Inc
Outback DashPixelWorks
Reef RunnerGames Inc
Star HarbourGames Inc
Tidal TraderGames Inc

9. NESA example 2: a join of three tables

NESA’s second example shows each developer’s name and the games they developed for the publisher “Games Inc”, in descending order of the developer’s last name. It needs two join conditions, one for each foreign key, plus the search criterion.

SQL
SELECT Developers.First_name, Developers.Last_name, Games.Name
FROM Games, Developers, Publishers
WHERE Publishers.Name = 'Games Inc'
AND Publishers.Publisher_ID = Games.Publisher_ID
AND Developers.Developer_ID = Games.Developer_ID
ORDER BY Developers.Last_name DESC

Result (4 rows)

Developers.First_nameDevelopers.Last_nameGames.Name
TomWalkerTidal Trader
PriyaPatelStar Harbour
LiamO'BrienNight Market
MiaNguyenReef Runner

The order is Walker, Patel, O’Brien, Nguyen: last names in reverse alphabetical order.

Try it

Run SQL on the games database

Write queries with the four keywords and have them checked. Enable JavaScript to use this tool. In short: SELECT chooses the fields, FROM names the tables, WHERE gives the criteria and joins the tables on their key fields, and ORDER BY sets the sequence.

How to write a query, step by step

  1. Underline what the question wants displayed. Those fields go after SELECT.
  2. Find which tables hold those fields and any field named in the criteria. Those tables go after FROM.
  3. If you need more than one table, add a WHERE condition for each link: the primary key of one table equals the foreign key of the other. You need one fewer join condition than tables.
  4. Add the search criteria with AND (both must be true), OR (either) or NOT, using brackets when you mix them.
  5. Add ORDER BY with the field and ASC or DESC.
  6. Read the query back in words and check it against the question.
Extension (not in NESA’s list): JOIN…ON Many database programs also accept a JOIN keyword. This query returns the same rows as query 8. You will not be required to write it, but you may meet it in real software:
SQL (extension)
SELECT Games.Name, Publishers.Name
FROM Games JOIN Publishers ON Games.Publisher_ID = Publishers.Publisher_ID
ORDER BY Games.Name ASC
Common exam mistakes Forgetting the join condition. FROM Games, Publishers on its own pairs every game with every publisher: 8 games × 3 publishers = 24 rows, most of them wrong. Writing Name when two tables have a Name field. Writing the clauses in the wrong order (WHERE must come before ORDER BY). Missing quotes around text and dates. Forgetting the AND between conditions. Leaving out brackets when mixing AND with OR. Using a date format different from the one in the question’s tables, for example “-” instead of “/”.
Exam tip The 2025 HSC asked for a query using four SQL keywords and a join. Marks were for: the four keywords SELECT, FROM, WHERE and ORDER BY in the right order; a correct join condition linking related fields in the tables; the correct search criteria; and the correct sort order. Copy the table and field names and date format exactly as they appear in the question.

Exam-style practice

Use the games tables above. Write each query first, then check your answer.

Question 1 (four keywords and a join) Display the name of each game that costs more than $20 and the name of its publisher, with the most expensive game first.
Model answer and result
SQL
SELECT Games.Name, Publishers.Name
FROM Games, Publishers
WHERE Games.Publisher_ID = Publishers.Publisher_ID
AND Games.Cost > 20
ORDER BY Games.Cost DESC
Games.NamePublishers.Name
Star HarbourGames Inc
Night MarketGames Inc
Tidal TraderGames Inc
Dingo DerbyPixelWorks

Award yourself a mark for each of: SELECT with both fields, FROM with both tables, the join condition, the cost criterion, and ORDER BY with DESC.

Question 2 (three tables) Display each developer’s first and last names and the games they developed for the publisher “Southern Cross Games”, in ascending order of the developer’s last name.
Model answer and result
SQL
SELECT Developers.First_name, Developers.Last_name, Games.Name
FROM Games, Developers, Publishers
WHERE Publishers.Name = 'Southern Cross Games'
AND Publishers.Publisher_ID = Games.Publisher_ID
AND Developers.Developer_ID = Games.Developer_ID
ORDER BY Developers.Last_name ASC
Developers.First_nameDevelopers.Last_nameGames.Name
MiaNguyenKelp Quest
PriyaPatelCoral Code
Question 3 (a range) Display the name and cost of every game that costs from $10 to $30 inclusive, in alphabetical order by name.
Model answer and result
SQL
SELECT Name, Cost
FROM Games
WHERE Cost >= 10 AND Cost <= 30
ORDER BY Name ASC
NameCost
Coral Code12.50
Dingo Derby24.95
Kelp Quest14.95
Reef Runner19.95
Tidal Trader29.95

“Inclusive” means the end values count, so use >= and <= rather than > and <.

Question 4 (find the errors) A student wrote this query to list game names with their publishers for games costing over $20. Find two mistakes.
SQL
SELECT Name, Name
FROM Games, Publishers
WHERE Cost > 20
ORDER BY Cost
Model answer

First, Name exists in both Games and Publishers and is not qualified, so the database cannot tell which is meant: write Games.Name, Publishers.Name. Second, there is no join condition, so every game is paired with every publisher: add WHERE Games.Publisher_ID = Publishers.Publisher_ID AND Games.Cost > 20. Also, the sort should be written ORDER BY Games.Cost DESC if the most expensive is to come first, because ASC is the default.

Part 5 Machine learning and application software

Machine Learning and Statistical Modelling

Course Specifications p.18 Know what they are used for; the underlying logic is not required

What NESA expects

NESA says that machine learning and statistical modelling can be used independently or together to analyse datasets and make predictions. Students are not required to understand the underlying logic of either, but should be aware of their use in real-world scenarios. So the exam tests whether you can recognise a suitable use and describe it, not whether you can calculate a model.

NESA names, we describe NESA gives no definitions here. The descriptions below are ours, kept to the depth NESA asks for.
Statistical modellingMachine learning
IdeaFit a chosen mathematical model to data to describe the relationship between variables and to estimate or predict a value.A program learns patterns from example data, then uses them to predict or classify new cases.
Typical useEstimating how one thing changes with another, with a measure of uncertainty.Sorting or predicting from many inputs, especially when the patterns are hard to write as rules.
ExampleA council predicts next month’s water use from temperature and rainfall.A bank system flags card transactions that look unusual compared with past ones.
Used togetherA hospital could use a statistical model to estimate a patient’s risk from age and test results, and a machine learning model to spot patterns in scans, then combine both to support a clinician’s decision.

Both depend on the quality of the data they are given. Poor, biased or out-of-date data leads to poor predictions, which is why the ethical use of these tools is covered under Intelligent Systems and data quality under Data Science.

Common exam mistakes Writing about how the algorithms work when the question only asks for a use. Saying machine learning “thinks” or is always correct. Treating a prediction as a certainty. Forgetting that the two can be used independently or together.
Exam tip For a scenario question, name the technique (statistical modelling, machine learning or both), say what data it analyses, and say what it predicts and who uses the prediction. One sentence for each is enough.
Try this A farm co-op wants to predict next season’s wheat yield from rainfall records, and also to sort photos of grain samples by quality. Which task suits statistical modelling, which suits machine learning, and could the two be combined?
Model answer

Predicting yield from rainfall suits statistical modelling: it estimates how yield changes with rainfall. Sorting photos by quality suits machine learning, because a model can learn from labelled examples. They can be combined: the predicted yield and the quality mix together help plan sales.


Database Software

Course Specifications p.19 What database software should allow you to do

What NESA lists

NESA says database software should allow you to do the following. The right-hand column is our explanation.

NESA featureWhat it means in practice
Create flat file databases and relational databasesA flat file keeps everything in one table. A relational database splits data into linked tables with primary and foreign keys (see normalisation).
Use relational operatorsCompare a field with a value in a search. See the table below.
Use logical operators (AND, OR and NOT)Combine several criteria into one search. See the table below.
Create queries and use a query language to search on single and multiple fields across one or more tablesAsk the database a question, using SQL or the software’s query designer, with criteria on one field or several, and data from one table or joined tables.
Sort data using multiple fields to specify the sequenceOrder by one field, then a second to break ties: by publisher, then by name.
Design forms and reportsA form is a screen for entering, viewing or editing records. A report is a formatted output of data or query results, for reading or printing, often with headings and totals.
Implement and display a schemaBuild the tables, fields, keys and relationships, and show them as a diagram of the structure.
Import and export dataBring data in from, or send data out to, other files such as a CSV file or a spreadsheet.
Apply security to the databaseControl who can see or change data: user accounts and passwords, permissions (for example read-only), encryption and backups.

Operators, with the games table

Relational operator (NESA)SymbolExample criterionRecords returned
EQUALS=Publisher_ID = 3Kelp Quest, Coral Code
NOT EQUAL TO<>Publisher_ID <> 1Outback Dash, Kelp Quest, Dingo Derby, Coral Code
GREATER THAN>Cost > 34.95Star Harbour
GREATER THAN OR EQUAL TO>=Cost >= 34.95Star Harbour, Night Market
LESS THAN<Cost < 12.50Outback Dash
LESS THAN OR EQUAL TO<=Cost <= 12.50Outback Dash, Coral Code
CONTAINS(text search)Name CONTAINS “Run”Reef Runner
DOES NOT CONTAIN(text search)Publishers.Name DOES NOT CONTAIN “Inc”PixelWorks, Southern Cross Games
Logical operatorMeaningExampleRecords returned
ANDBoth conditions must be truePublisher_ID = 1 AND Cost < 30Reef Runner, Tidal Trader
OREither condition may be trueCost < 10 OR Cost > 35Outback Dash, Star Harbour
NOTReverses a conditionNOT Publisher_ID = 1Outback Dash, Kelp Quest, Dingo Derby, Coral Code

NESA gives CONTAINS and DOES NOT CONTAIN as operators in the database software list but does not include them in its SQL syntax. In many products they are written as a pattern search, for example LIKE '%Run%'. Treat that spelling as an extension.

Common exam mistakes Mixing up flat file and relational databases. Describing a form as a report (a form is for entering and viewing data, a report is for presenting results). Using OR when both conditions must be true. Saying “apply security” without naming a measure such as passwords, permissions or backups. Forgetting that a search across tables needs the tables to be linked.
Exam tip In a scenario question, say which feature solves the problem and why. “A report grouped by publisher with a total for each” is stronger than “use a report”. For security questions, pair each measure with the risk it reduces: passwords stop unauthorised access and read-only permissions stop accidental changes.
Try this A school stores library loans in a database. Explain how you would (a) find every overdue book borrowed by Year 9 students, (b) print a list for each teacher, and (c) stop students from editing records.
Model answer

(a) Create a query with criteria on multiple fields joined with AND: Due date less than today AND Year equals 9, across the Loans and Students tables linked by StudentID. (b) Design a report from that query, sorted or grouped by teacher. (c) Apply security: give students accounts with read-only permissions, and give only library staff permission to edit.


Spreadsheet Software

Course Specifications p.20 Formulas, functions, referencing, charts and the other features spreadsheet software should provide

Our worked spreadsheet

All the examples use a school canteen’s sales sheet. Column D holds revenue, which is price times quantity, and the loyalty table in J1:K5 gives a discount by points. The GST rate sits in its own cell, H1.

Sheet “Sales” (column letters and row numbers shown so cell references can be read)
ABCDEFGHIJK
1ItemPriceQty soldRevenueGSTGST rate10%PointsDiscount
2Sandwich5.5042231.0023.1000%
3Pie4.8035168.0016.80505%
4Juice3.2060192.0019.2010010%
5Salad6.5018117.0011.7020015%
6Fruit cup2.502562.506.25

Entering formulas and copying them

A formula starts with =. NESA lists these skills: enter text, numeric values and formulas; copy cells using both absolute and relative referencing; and fill down and across.

CellFormulaWhat happens when you fill down
D2=B2*C2Relative references move with the row: D3 becomes =B3*C3, D4 becomes =B4*C4.
E2=D2*$H$1D2 is relative and moves to D3, D4…. $H$1 is absolute, so it stays locked on the GST rate. E3 becomes =D3*$H$1.

The dollar signs lock a reference. $H$1 locks column and row, H$1 locks only the row and $H1 locks only the column. Without the dollar signs, the GST reference would slide to H2, H3… when copied, and the results would be wrong.

The functions NESA lists

NESA names, we show the syntax NESA writes the function names as descriptions (MAXIMUM, SQUARE ROOT, MEAN) and does not give product syntax. The syntax below is the form used by common spreadsheet software (Excel and Google Sheets). The examples use the sheet above. Use whichever spelling your software uses: the idea is what is marked.
NESA nameSyntaxWhat it doesWorked example on the sheet
Arithmetic
SUMSUM(range)Adds the numbers=SUM(D2:D6) gives 770.50
MAXIMUMMAX(range)Largest value=MAX(B2:B6) gives 6.50
MINIMUMMIN(range)Smallest value=MIN(B2:B6) gives 2.50
COUNTCOUNT(range)How many cells hold numbers=COUNT(B2:B6) gives 5
ABSOLUTE VALUEABS(number)The value without its sign, so the size of a difference=ABS(C3-40) gives 5 (pies sold compared with a target of 40)
SQUARE ROOTSQRT(number)The number that multiplied by itself gives the value=SQRT(144) gives 12 (side of a square sign with area 144 cm²)
INTEGERINT(number)Rounds down to a whole number=INT(D2/5) gives 46 (whole $5 vouchers that $231 buys)
PARTLEFT(text, n) RIGHT(text, n) MID(text, start, n)Takes part of a text value=LEFT(A2,3) gives San; =MID(A2,2,3) gives and
Statistical
MEANAVERAGE(range)The sum divided by the count=AVERAGE(C2:C6) gives 36
STANDARD DEVIATIONSTDEV.S(range) STDEV.P(range)How spread out values are around the mean (a sample, or the whole population)=STDEV.S(C2:C6) gives 16.26; =STDEV.P(C2:C6) gives 14.55
Logical
IFIF(condition, value_if_true, value_if_false)Chooses a value depending on whether the condition is TRUE or FALSE=IF(C2>=40,"Best seller","Standard") gives Best seller
Other
LOOKUPLOOKUP(value, search_range, result_range)Finds the value in one range and returns the matching entry from another=LOOKUP(120,J2:J5,K2:K5) gives 10%
VLOOKUPVLOOKUP(value, table, column, match)Looks down the first column of a table and returns a value from a column across=VLOOKUP("Pie",A2:D6,2,FALSE) gives 4.80; =VLOOKUP(120,J2:K5,2,TRUE) gives 10%
HLOOKUPHLOOKUP(value, table, row, match)The same, for a table laid out across rows=HLOOKUP("Pie",B1:F2,2,FALSE) if item names run across B1:F1 and prices are in row 2: gives the price under Pie
Uncertain: what NESA means by PART NESA lists “PART” among the arithmetic functions without defining it. Our reading is that it means taking part of a value, the way LEFT, RIGHT and MID take part of a piece of text. If your teacher reads it differently, follow your teacher.

Relational operators and IF

NESA lists the relational operators less than or equal to (<=), equal to (=), not equal to (<>), greater than (>) and greater than or equal to (>=). Less than (<) works the same way. They give TRUE or FALSE, which is what IF tests. IF can be nested to handle more than two outcomes, and it can be combined with the other functions:

FormulaReads asResult
=IF(B2<>5.5,"Changed","Same")If the price is not 5.50, show ChangedSame
=IF(D2>=200,"High",IF(D2>=100,"Medium","Low"))Nested IF: 200 or more is High, otherwise 100 or more is Medium, otherwise LowD2 (231.00) gives High; D6 (62.50) gives Low
=SUM(D2:D6)*(1-VLOOKUP(120,J2:K5,2,TRUE))Total revenue after the discount for 120 points (10%)693.45

Two things to remember about lookups. With FALSE as the last input, VLOOKUP needs an exact match and gives an error if there is none. With TRUE, the first column must be sorted in ascending order, and it returns the row for the largest value that is not more than the one you are looking up. That is why 120 points falls in the 100-point band.

The other features NESA lists

FeatureWhat it doesExample
Print all or parts of a spreadsheetSet a print area, add headings and print only what is neededPrint just the Revenue column for the manager
Import and export dataBring data in from files, databases or the web, and save it in other formats such as CSVImport last term’s sales from a CSV file
Manipulate rows and columns; apply formatsInsert, delete, hide, resize, and format numbers, dates and cellsShow prices as currency
Record, run and edit macrosRecord a series of actions, replay them to automate a task and edit the recorded stepsA macro that formats and prints the weekly report
Sort selected areasReorder the rows of a chosen range by one or more columnsSort items by revenue, largest first
Configure page layouts; manipulate page breaksSet orientation, margins and where a page endsLandscape, with a page break before each category
Work with data across multiple sheetsRefer to cells on other sheets in formulas=Prices!B2*C2 uses a price stored on a sheet named Prices
Conditional formattingAutomatically changes a cell’s appearance when its value meets a ruleShade the cell red when stock is below 10
FiltersHide rows that do not meet a condition, without deleting themShow only items with revenue over $150
Pivot tablesSummarise a large table by grouping and totalling, for example total revenue by categoryRevenue for Drinks against Food, by month
Generate and configure chartsTurn ranges into a chart, then set its title, axis labels, scale and coloursSee the chart choices below
Save a chart to a file formatExport a chart as an image or PDF for use in other softwareA PNG chart placed in a presentation

Choosing a chart (NESA lists five)

ChartBest forCanteen example
Bar chartComparing categories, especially with long labelsRevenue by item
Column chartComparing categories or a few time periods, drawn verticallyQuantity sold per item
Line chartShowing a trend over timeWeekly sales across a term
Scatter graphShowing whether two numeric variables are relatedDaily temperature against cold-drink sales
Pie chartShowing parts of a whole, with only a few categoriesShare of total revenue by item

How to build a formula, step by step

  1. Say in words what the cell must show, for example “total revenue after the loyalty discount”.
  2. Choose the function or operator that does each part: SUM for the total, VLOOKUP for the discount, IF for any condition.
  3. Decide which references must stay fixed when copied. Put dollar signs on those (an absolute reference) and leave the rest relative.
  4. Type the formula, then check it on test data whose answer you already know.
  5. Fill down or across, then spot-check the last row to confirm the references moved as intended.
Common exam mistakes Forgetting the =. Using a relative reference for a fixed value such as a rate, so the answer changes as you fill down. Range typos such as SUM(D2:D5) that miss the last row. Using COUNT on text (it counts numbers only). A lookup with the wrong match type: FALSE for an exact match, TRUE for a band. Putting text in a formula without quotation marks. Typing a value into a formula instead of referring to its cell.
Exam tip The 2025 HSC asked for formulas using SUM, LOOKUP and IF, and tested them with test data, and it asked about conditional formatting, pivot tables and choice of chart. Write the formula exactly, with the cell references from the question. Then show the value it would produce for a row of test data to prove it works. For chart questions, match the chart to the data: trend over time is a line, parts of a whole is a pie.

Exam-style practice

Use the sales sheet above.

Question 1 Write a formula for E2 that calculates the GST on the sandwich revenue, so that it can be filled down to E6. Explain why one of the references needs dollar signs.
Model answer

=D2*$H$1. The revenue reference D2 must be relative so it moves to D3, D4… as the formula is filled down. The GST rate is in one cell, H1, so its reference must be absolute ($H$1), otherwise it would slide down to H2, H3…. Check: E2 = 231.00 × 10% = 23.10.

Question 2 Write a formula for F2 that shows “Reorder” if fewer than 30 have been sold and “OK” otherwise. Give the results for the sandwich (42 sold) and the salad (18 sold).
Model answer

=IF(C2<30,"Reorder","OK"). Sandwich: 42 is not less than 30, so OK. Salad: 18 is less than 30, so Reorder.

Question 3 A student has 120 loyalty points. Write a single formula that displays the discount from the table in J1:K5, and another that gives the total revenue after that discount.
Model answer

=VLOOKUP(120,J2:K5,2,TRUE) returns 10%, because 120 points falls in the band that starts at 100. Total after discount: =SUM(D2:D6)*(1-VLOOKUP(120,J2:K5,2,TRUE)), which is 770.50 × 0.90 = 693.45. (A formula using LOOKUP(120,J2:J5,K2:K5) also works.)


Expert System Software

Course Specifications p.20 Develop IF–THEN rules, change them, and display the rules used as text and as a decision tree

What NESA lists

Expert system software should allow you to develop a set of IF–THEN rules, add, remove and edit rules and display the rules the system has used to reach a conclusion, both in a text format and as a decision tree. An expert system stores the knowledge of a human specialist as rules and applies them to the facts a user provides, so a non-expert can get expert-style advice. The rules and the reasoning make it different from a database: it draws a conclusion, it does not just retrieve a record.

Rules, and the tree they make

Here are five IF–THEN rules for a laptop help-desk expert system:

RuleIFTHEN
R1Power light is on AND screen shows a picture AND Wi-Fi is connectedNo fault found
R2Power light is on AND screen shows a picture AND Wi-Fi is not connectedRestart the Wi-Fi adapter
R3Power light is on AND screen does not show a pictureConnect to an external screen
R4Power light is off AND charger is plugged inTry a different charger
R5Power light is off AND charger is not plugged inPlug in the charger

Decision tree

Decision tree: diagnosing a laptop fault

The same five rules, drawn as a decision tree in NESA’s style.

What to notice
  • Each path from the top to an action is one rule: the questions on the path are the IF part, and the action at the end is the THEN part.
  • The tree has five paths and there are five rules. None is missing and none overlaps.

Try thisThe laptop’s power light is on and the screen is blank. Which rule fires, and what does the tree advise?

When the user answers the questions, the system can show why it reached its conclusion. In text: “Power light on = Yes. Screen shows a picture = Yes. Wi-Fi connected = No. Rule R2 fired: restart the Wi-Fi adapter.” As a decision tree, it highlights the path that was followed.

How to build and maintain a rule set, step by step

  1. Identify the decision the system must support and the questions the user can answer.
  2. Write each rule as IF conditions THEN conclusion, with one rule for each possible outcome.
  3. Check that every combination of answers fires exactly one rule: no gaps and no conflicts.
  4. Test with real cases and compare the system’s advice with what an expert would say.
  5. Edit as needed: add a rule for a new case, edit a rule whose advice is wrong and remove a rule that no longer applies. For example, add R6: IF the battery is swollen THEN stop using the laptop and take it to IT.
Common exam mistakes Rules with the same conditions but different conclusions, so the system contradicts itself. Gaps where a combination of answers matches no rule. Writing conclusions as questions. A displayed explanation that does not match the rules used. Forgetting to check the whole rule set after an edit.
Exam tip If a question gives you a decision tree, you can write the rules by reading each path. If it gives you rules, you can draw the tree. Show both forms when asked to “display” how a conclusion was reached, and mention that being able to add, remove and edit rules keeps the system up to date. See Intelligent Systems for how expert systems fit into decision-making.
Try this A farm co-op wants an irrigation adviser. Write four IF–THEN rules using soil moisture (dry or moist) and rain forecast (rain or no rain). Then add a rule for very high temperatures.
Model answer

R1: IF soil is dry AND rain is forecast THEN wait and re-check tomorrow. R2: IF soil is dry AND no rain is forecast THEN irrigate. R3: IF soil is moist AND rain is forecast THEN do not irrigate. R4: IF soil is moist AND no rain is forecast THEN check again in two days. New rule R5: IF temperature is above 35°C AND soil is dry THEN irrigate even if rain is forecast. Because R1 and R5 now overlap, edit R1 to say AND temperature is 35°C or lower, so the rules do not conflict.


Graphics and Presentation Software

Course Specifications p.21 Bitmap and vector images, and the features of presentation software

Graphics software: what NESA lists

NESA featureWhat it means in practice
Create and manipulate bitmapped imagesWork with images made of a grid of pixels, such as photos. Editing changes the colour of individual pixels.
Create and manipulate vector graphics as geometric shapesWork with images built from shapes (lines, curves, rectangles) described by mathematics. Each shape can be selected and edited on its own.
Rotate, crop, resize and distort imagesTurn an image, cut away the parts you do not want, change its size and stretch or skew it out of proportion.
Import and export graphic data in a variety of formatsOpen images from other software and save them in formats that suit their use, for example PNG or JPEG for bitmaps and SVG for vectors.
Apply textures, patterns and a transparent backgroundFill shapes with a texture or pattern, and remove the background so that what is behind shows through (PNG and SVG support this, JPEG does not).
Use templates, colour themes and animationsStart from a ready-made layout, apply a consistent colour scheme and add movement.
BitmapVector
Made ofA grid of pixelsGeometric shapes and paths
EnlargingBecomes blocky and blurredStays sharp at any size
Best forPhotographs and detailed imagesLogos, icons and diagrams
File sizeGrows with the number of pixelsUsually small for simple images

Presentation software: what NESA lists

NESA featureWhat it means in practice
Create and manipulate text; apply editing and formatting featuresType text, then change font, size, colour, alignment and spacing consistently.
Insert and display text, images, audio, video and animationsAdd media to slides and control how it appears, plays or moves.
Import and export dataBring in content from other files and save the presentation as PDF, video or other formats.
Embed objects such as charts and tables from other applicationsPlace a chart or table made in a spreadsheet inside a slide.
Use hyperlinks within and outside the presentationA link that jumps to another slide (for example a menu slide) or to a web page or file.
Use templates and themesA master layout and colour scheme so every slide looks consistent.
Common exam mistakes Saying vector images are made of pixels. Choosing JPEG when a transparent background is needed. Enlarging a small bitmap and being surprised when it blurs. Writing a slide full of text instead of key points. Using hyperlinks with no way back to the menu. Colours and fonts that change from slide to slide because no theme was applied.
Exam tip When a question asks you to choose an image type or format, give the property that matters (scalable, transparent, photographic) and link it to the scenario: a logo that must print on both a badge and a banner suits vector; a photo of the school suits a bitmap. For presentations, link each feature to the audience: templates give consistency, and embedding a chart keeps the data connected to its source.
Try this A sports club needs a logo that works on a small membership card and a large banner, with a transparent background. It also needs a photo gallery in a presentation for parents. Choose an image type and format for each, and say how you would link the gallery to a menu slide.
Model answer

The logo should be a vector graphic, saved as SVG (or exported as PNG with a transparent background), because it can be enlarged for the banner without losing sharpness. The photos should be bitmaps, saved as JPEG for small file sizes. On the menu slide, insert a hyperlink on each gallery name to the matching slide, and put a Back to menu hyperlink on each gallery slide.