# NSW HSC Software Engineering: Flashcards and where to use each term

448 cards across 10 sections. Exam: Tuesday 27 October 2026, 9:50 am (Sydney time), 80 marks, online.

Every card has the definition, a one-line example and a "Where you would use it in the test" line. A flag (⚠) marks anything that is not word-for-word in the supplied syllabus, specification or marking guidelines.

## Programming Fundamentals (Year 11)

### Software development steps

**Software development steps (the order)**  *(process)*

- Definition: The fixed sequence of the development cycle: requirements definition, determining specifications, design, development, integration, testing and debugging, installation, maintenance.
- Example: Order to memorise: Requirements, Specifications, Design, Development, Integration, Testing and debugging, Installation, Maintenance.
- Where you would use it in the test:
  - Drag into order: Drag the steps into the correct order (this is exactly what the familiarisation paper asked)
  - Multiple choice: Which step comes before design?
  - Fill in the blanks: Choose the missing step from a dropdown
  - Short answer: Outline what happens in a named step
- Seen in: Familiarisation Q1 (1 mark): Development steps; Sample exam Q1 (1 mark): Software development steps

**Requirements definition**  *(process)*

- Definition: Finding out what the client needs: gathering and documenting the problem, users, functional and non-functional requirements and constraints (client scenario, environment, objectives).
- Example: Outline pattern: 'Meet the client and document what the software must do, such as login and data storage.'
- Where you would use it in the test:
  - Multiple choice: Which task belongs to requirements definition?
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Outline the purpose of this step
- Seen in: Sample exam Q1 (1 mark): Software development steps; Familiarisation Q1 (1 mark): Development steps

**Determining specifications**  *(process)*

- Definition: Turning requirements into a detailed description of what the software will do: inputs, processes, outputs, data, performance, technical needs and compliance. Tools include IPO charts, data dictionaries and Gantt charts.
- Example: Requirements say WHAT the client wants; specifications say exactly HOW WELL and in WHAT FORM the software will deliver it.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Describe how specifications differ from requirements
- Seen in: Familiarisation Q1 (1 mark): Development steps

**Design**  *(process)*

- Definition: Planning the solution before coding using modelling tools: algorithms (pseudocode, flowcharts), structure charts, DFDs, class diagrams, storyboards, decision trees and data dictionaries.
- Example: Link each design tool to its purpose: DFD = data movement; structure chart = module hierarchy; class diagram = classes and relationships.
- Where you would use it in the test:
  - Drawing: Draw a DFD, structure chart, flowchart, storyboard or class diagram
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Outline how a named tool helps design
- Seen in: Sample exam Q24 (4 marks): Modelling tools (class diagram); 2022 Software Design and Development HSC Q27 (10 marks): Modelling and design (IPO, data structure, Gantt)

**Development**  *(process)*

- Definition: Writing the code that implements the design in the chosen language, following the algorithms and good coding practice (comments, naming, modular subroutines).
- Example: Development turns the design into working code.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Python: Write the code from a design
  - Pseudocode: Write the algorithm
- Seen in: Sample exam Q21b (5 marks): Python: subroutines, lists, loops; 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Integration**  *(process)*

- Definition: Combining separately built modules or subsystems into one working system and checking they communicate correctly through their interfaces.
- Example: Integration comes AFTER development and BEFORE system testing.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drag into order: Drag into order: know where it sits in the sequence.
  - Short answer: Explain why integration testing is needed
- Seen in: Familiarisation Q1 (1 mark): Development steps

**Testing and debugging**  *(process)*

- Definition: Testing runs the software with chosen data to find errors; debugging finds the cause of each error and fixes it.
- Example: Testing finds that something is wrong; debugging finds out why and fixes it.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drag into order: Drag into order: know where it sits in the sequence.
  - Short answer: Outline a test method or a debugging tool
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging; Familiarisation Q5 (3 marks): Testing (test data)

**Installation**  *(process)*

- Definition: Putting the finished system into use in the client's environment (direct, phased, parallel or pilot method) including setup and training.
- Example: Installation comes after testing and before maintenance.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Compare two installation methods
- Seen in: 2025 HSC Q1 (1 mark): Implementation methods; Sample exam Q5 (1 mark): Implementation methods

**Maintenance**  *(process)*

- Definition: Changes made after release to keep software working and useful: corrective (fix errors), adaptive (new environment) and perfective (improve or add features).
- Example: 'A patch to fix a crash is corrective maintenance.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Match each type of maintenance to an example
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2022 Software Design and Development HSC Q22 (6 marks): Maintenance

**Online code collaboration tools**  *(process)*

- Definition: Web platforms where developers store, share, review and co-edit code with version control and issue tracking, for example GitHub, GitLab or Bitbucket.
- Example: 'GitHub lets team members branch, merge and review each other's changes without overwriting work.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Outline how one supports a team
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

### Designing algorithms

**Computational thinking**  *(term)*

- Definition: A problem-solving approach: decompose a problem, spot patterns, abstract away detail and design an algorithm.
- Example: Use it to justify breaking a large task into subroutines.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Describe how it helps design a solution
- ⚠ Check: The syllabus asks you to apply computational thinking and algorithmic design but does not list its four parts; the breakdown given here is the standard definition.

**Algorithm**  *(term)*

- Definition: A finite, ordered set of clear steps that solves a problem or completes a task, with defined inputs and outputs.
- Example: An algorithm can be shown as pseudocode or a flowchart.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Drawing: flowchart
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q14 (3 marks): Algorithm design (subroutines); 2025 HSC Q17 (3 marks): Algorithm design

**Sequence**  *(term)*

- Definition: A control structure where statements run one after another in the order written.
- Example: Every program uses sequence; selection and iteration change the order.
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Python: Python question: write or complete it in the online Python tool.
  - Drawing: flowchart
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design

**Selection**  *(term)*

- Definition: A control structure that chooses which path to run depending on a condition: binary selection (IF ... ELSE), multi-way selection (CASEWHERE) or nested IF.
- Example: 'Use IF/ELSE selection to output Pass when mark >= 50.'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Python: if / elif / else
  - Drawing: flowchart decision diamond
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python); 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)

**Iteration (repetition)**  *(term)*

- Definition: A control structure that repeats statements while or until a condition: pre-test loop (WHILE ... ENDWHILE), post-test loop (REPEAT ... UNTIL) or counted loop (FOR ... NEXT).
- Example: 'FOR each item in the array: total = total + item.'
- Where you would use it in the test:
  - Pseudocode: Iterate through an array and sum it (2025)
  - Python: for / while loops
  - Drawing: flowchart loop
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design; 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)

**Divide and conquer**  *(term)*

- Definition: Breaking a large problem into smaller sub-problems, solving each one and combining the results (for example binary search or splitting a program into subroutines).
- Example: Use it to explain why a program is split into subroutines.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Describe the technique
- Seen in: 2021 Software Design and Development HSC Q28 (5 marks): Debugging an algorithm (binary search)

**Backtracking**  *(term)*

- Definition: Trying one choice and, if it reaches a dead end, undoing it and trying the next, as in maze solving or Sudoku.
- Example: 'A maze solver backtracks to the last junction when it hits a wall.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Top-down design**  *(term)*

- Definition: Starting with the whole problem (the mainline) and refining it step by step into smaller subroutines.
- Example: A structure chart shows top-down design.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Drawing: structure chart
- Seen in: Familiarisation Q4 (2 marks): Structure charts

**Bottom-up design**  *(term)*

- Definition: Building and testing small low-level modules first, then combining them into larger parts of the system.
- Example: Contrast: top-down starts with the mainline; bottom-up starts with the lowest-level modules.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Compare top-down with bottom-up

**Abstraction**  *(term)*

- Definition: Hiding unnecessary detail so you focus on what matters, such as calling a subroutine without knowing how it works.
- Example: Also an OOP principle (see Object-oriented card).
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Drawing: class diagram

**Refinement**  *(term)*

- Definition: Adding successively more detail: a subroutine is expanded into its own algorithm or structure chart, named the same as the subroutine.
- Example: 'Show the refinement of the Validate subroutine in a separate chart.'
- Where you would use it in the test:
  - Drawing: structure chart
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Seen in: Familiarisation Q4 (2 marks): Structure charts

**Pseudocode**  *(term)*

- Definition: Structured, language-independent English-like code: keywords in capitals (IF, ELSE, WHILE, ENDWHILE, FOR, NEXT, SET, GET, DISPLAY), paired structures and consistent indentation.
- Example: Always write a mainline plus subroutines, use indentation and close every structure (ENDIF, ENDWHILE).
- Where you would use it in the test:
  - Pseudocode: Write an algorithm in the exam pseudocode editor
  - Code reading: Read pseudocode and give the output
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design; Sample exam Q14 (3 marks): Algorithm design (subroutines); Familiarisation Q8 (3 marks): Algorithm design (linear search)

**Flowchart**  *(term)*

- Definition: A diagram of an algorithm drawn with standard symbols (terminator, process, input/output, decision) joined by arrows, read top to bottom and left to right. Decision arrows must be labelled (Yes/No).
- Example: Check there is one Start, one End, labelled decision branches and arrowheads on every line.
- Where you would use it in the test:
  - Drawing: Draw or complete a flowchart in the drawing tool
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Subroutine (module, subprogram, procedure)**  *(term)*

- Definition: A named block of statements that performs one specific task and can be called many times; the terms subroutine, module, subprogram and procedure are used interchangeably in the course.
- Example: 'One logical task per subroutine makes code reusable and easier to maintain.'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Python: Python question: write or complete it in the online Python tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q14 (3 marks): Algorithm design (subroutines); Sample exam Q21b (5 marks): Python: subroutines, lists, loops

**Function v procedure**  *(term)*

- Definition: A function returns a value to the caller (RETURN); a procedure carries out a task and does not return a value.
- Example: 'def calc_total(a, b): return a + b' is a function.
- Where you would use it in the test:
  - Python: def with return
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q21b (5 marks): Python: subroutines, lists, loops; Familiarisation Q13 (6 marks): Python: lists, loops, selection

**Parameter and argument**  *(term)*

- Definition: A parameter is a variable in the subroutine's definition that receives data; an argument is the actual value passed when the subroutine is called.
- Example: 'def greet(name)' has parameter name; 'greet("Sam")' passes argument "Sam".
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q18b (3 marks): Developing secure code (Python input validation)

**Mainline**  *(term)*

- Definition: The main algorithm that controls the program by calling subroutines in order. Good mainlines are clear and uncluttered.
- Example: Put calls to your subroutines in the mainline, and call functions after they are defined (2025 Q19 marker note).
- Where you would use it in the test:
  - Pseudocode: Write mainline then subroutines (exam process)
  - Python: Python question: write or complete it in the online Python tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python); Sample exam Q14 (3 marks): Algorithm design (subroutines)

**Desk checking**  *(term)*

- Definition: Manually stepping through an algorithm with sample data and recording variable values (a trace table) to check it works before coding.
- Example: A trace table has a column for each variable and a row for each step.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Outline desk checking
  - Code reading: Trace pseudocode
- Seen in: 2022 Software Design and Development HSC Q28 (6 marks): Desk check and debugging an algorithm; 2023 Software Design and Development HSC Q28 (6 marks): Desk check and debugging (validation)

**Peer checking**  *(term)*

- Definition: Another person reviews the algorithm or code to find errors you may have missed.
- Example: Contrast: desk checking is by the author; peer checking is by someone else.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Compare desk checking with peer checking

**Inputs, outputs and purpose of an algorithm**  *(term)*

- Definition: When analysing an algorithm, identify the data it takes in (inputs), the results it produces (outputs), what it is designed to do (purpose) and how it connects to other subroutines.
- Example: 'Inputs: array of marks. Output: the average. Purpose: calculate the class mean.'
- Where you would use it in the test:
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Short answer: State what the algorithm does
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**IPO chart (Input, Process, Output)**  *(term)*

- Definition: A table listing the inputs, the processes applied and the outputs of a system or subroutine; used when determining specifications.
- Example: 'IPO: Input username and password, Process compare with stored hash, Output access granted or denied.'
- Where you would use it in the test:
  - Drawing: table
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2022 Software Design and Development HSC Q27 (10 marks): Modelling and design (IPO, data structure, Gantt); 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues
- ⚠ Check: Not named in the 2022 syllabus text; taught in the school notes and used in past SDD papers.

**Linear search**  *(term)*

- Definition: A search that checks each item in order until the target is found or the list ends. Works on unsorted data; slow for large lists.
- Example: 'FOR i = 0 TO length-1: IF list[i] == target THEN found.'
- Where you would use it in the test:
  - Pseudocode: Search an array for a value
  - Python: Python question: write or complete it in the online Python tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: Familiarisation Q8 (3 marks): Algorithm design (linear search); 2021 Software Design and Development HSC Q29 (3 marks): Tracing an algorithm (linear search)
- ⚠ Check: Not named in the syllabus; it appears in past questions and the school notes.

**Binary search**  *(term)*

- Definition: A search on a SORTED list that checks the middle item and discards half the list each time (a divide and conquer method).
- Example: 'Binary search needs sorted data; each step halves the search space.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2021 Software Design and Development HSC Q28 (5 marks): Debugging an algorithm (binary search)
- ⚠ Check: Not named in the syllabus; it appears in past SDD questions.

**Recursion**  *(term)*

- Definition: A subroutine that calls itself on a smaller version of the problem until it reaches a base case that stops it.
- Example: 'Factorial: n * factorial(n-1) with base case n = 0.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Python: Python question: write or complete it in the online Python tool.
- ⚠ Check: Not named in the 2022 syllabus text; included because of the functional paradigm and past SDD coding questions.

**Imperative paradigm**  *(term)*

- Definition: A programming style that gives the computer an ordered list of commands that change program state (for example Python procedural code).
- Example: Paradigm cards: object-oriented, imperative, logic, functional.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Match each paradigm to its description
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Logic paradigm**  *(term)*

- Definition: A programming style that states facts and rules and lets the system answer queries by logical inference (for example Prolog).
- Example: 'Facts and rules, not step-by-step commands.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Functional paradigm**  *(term)*

- Definition: A programming style that builds programs from functions, avoids changing state, and treats functions as values that can be passed around.
- Example: 'Computation is the evaluation of functions.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

### Data representation and structures

**Binary (base 2)**  *(term)*

- Definition: A number system using only the digits 0 and 1. Computers store all data in binary; each digit is one bit and 8 bits make a byte.
- Example: 1011 in binary = 8 + 2 + 1 = 11 in decimal.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Convert between binary and decimal
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Decimal (base 10)**  *(term)*

- Definition: The everyday number system using digits 0 to 9.
- Example: Use place values (1, 10, 100) when converting.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Hexadecimal (base 16)**  *(term)*

- Definition: A base-16 system using 0 to 9 and A to F (A = 10 ... F = 15). One hex digit stands for exactly 4 bits, so it is a compact way to write binary.
- Example: 2F in hex = 0010 1111 in binary = 47 in decimal.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Convert hex to binary or decimal
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Two's complement**  *(term)*

- Definition: A way of storing signed (positive and negative) integers in binary: write the positive number, invert every bit, then add 1 to get the negative. The left-most bit is the sign bit (1 = negative).
- Example: 8-bit: +5 = 00000101; invert = 11111010; add 1 = 11111011 = -5.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Find the 8-bit form of a negative number
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Character representation (ASCII, Unicode)**  *(term)*

- Definition: Characters are stored as numeric codes. ASCII uses 7 or 8 bits for basic English characters; Unicode uses more bits so it can represent characters from all languages and symbols.
- Example: Say Unicode supports many languages; ASCII is limited.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Explain why Unicode is used

**Data types**  *(term)*

- Definition: The kind of value a variable holds: character, string, Boolean, integer, real (single-precision floating point) and date/time. The type decides how much memory it uses and what operations are allowed.
- Example: 'Age = integer; price = real; isMember = Boolean; name = string.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Pick the data type for a field in a data dictionary or ERD
  - Python: Python question: write or complete it in the online Python tool.
  - SQL: SQL question: write or read it in the SQL query tool.
- Seen in: Sample exam Q9 (2 marks): Algorithm design (guessing game)

**Integer**  *(term)*

- Definition: A whole number, positive or negative, with no fractional part.
- Example: Use int for counts and array indexes.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Python: Python question: write or complete it in the online Python tool.

**Real (floating point)**  *(term)*

- Definition: A number with a fractional part. Single-precision floating point stores a real in 32 bits (4 bytes).
- Example: 'price = 19.95' is a real.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Boolean**  *(term)*

- Definition: A data type with only two values, True or False, used in conditions.
- Example: 'isLoggedIn = True' controls a selection.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Python: Python question: write or complete it in the online Python tool.

**Character and string**  *(term)*

- Definition: A character is a single symbol; a string is a sequence of characters (text) such as a name.
- Example: 'name = "Sam"' is a string; 'S' is a character.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Date and time**  *(term)*

- Definition: A data type for calendar dates and clock times, stored as a single value (32 bits in the course data dictionary examples).
- Example: Use date/time for an order date in a data dictionary.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Array**  *(term)*

- Definition: A data structure holding a fixed number of items of the same type, accessed by index; can be single or multi-dimensional (rows and columns).
- Example: 'marks[0]' is the first item.
- Where you would use it in the test:
  - Pseudocode: Iterate and sum an array
  - Python: 2D list
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design; Sample exam Q21a (1 mark): 2D arrays (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops

**Multi-dimensional array**  *(term)*

- Definition: An array of arrays, used for grids or tables and accessed by row and column index, such as grid[row][col].
- Example: 'grid[2][3]' is row 2, column 3.
- Where you would use it in the test:
  - Python: 2D list
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q21a (1 mark): 2D arrays (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops; 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)

**Record**  *(term)*

- Definition: A data structure that groups related fields of different types into one item, such as a student with name, age and mark.
- Example: 'One record per row of a table.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Drawing: data dictionary

**List**  *(term)*

- Definition: An ordered, changeable collection of items (Python list) that can grow and shrink and can hold mixed types.
- Example: 'scores = [3, 5]; scores.append(8)'
- Where you would use it in the test:
  - Python: append, index, loop
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops

**Tree**  *(term)*

- Definition: A hierarchical data structure of nodes: one root, each node having child nodes and leaves at the bottom (for example folder structures or decision trees).
- Example: 'A file system is a tree.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Drawing: decision tree

**Stack**  *(term)*

- Definition: A last-in, first-out (LIFO) structure where items are added (push) and removed (pop) at the top.
- Example: 'Undo uses a stack.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

**Hash table**  *(term)*

- Definition: A structure that stores key and value pairs, using a hash function on the key to find the storage location, so lookups are very fast (a Python dictionary).
- Example: 'Fast lookup: ages["Sam"].'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Python: Python question: write or complete it in the online Python tool.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Sequential file**  *(term)*

- Definition: A file of data stored and read one item or line after another, such as a text or CSV file.
- Example: 'Open, read line by line, close.'
- Where you would use it in the test:
  - Python: read and write files
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

### Developing and testing code

**Quality criteria for evaluating code**  *(term)*

- Definition: The syllabus tests solutions against four qualities: functionality, performance, readability of code and quality of documentation.
- Example: Mention all four when asked how you would evaluate or test code.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Evaluate a solution
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2023 Software Design and Development HSC Q26 (9 marks): Code reading, maintainability and testing; 2023 Software Design and Development HSC Q27 (10 marks): User interface, structure chart, quality assurance

**Syntax error**  *(term)*

- Definition: A mistake that breaks the language rules (missing colon, bracket or misspelt keyword), so the program will not run.
- Example: 'print("hi" with no closing bracket.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Python: Spot and fix the error
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging

**Logic error**  *(term)*

- Definition: The program runs but gives the wrong result because the algorithm is wrong, for example using > instead of >=. 2025 markers said students confused these with syntax errors.
- Example: 'Average = total / 2 instead of total / count.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Outline how a debugging tool finds logic errors
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging

**Runtime error**  *(term)*

- Definition: An error that appears while the program is running and stops it, such as dividing by zero or an index outside the array.
- Example: 'Dividing by zero crashes at runtime.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Debugging tools**  *(process)*

- Definition: Software features that help find and fix errors: breakpoints, single line stepping, watch windows, checking interfaces between functions and debugging output statements.
- Example: 2025 Q15b: name two tools and say how each shows where a logic error occurs.
- Where you would use it in the test:
  - Short answer: Outline TWO software debugging tools (2025 Q15b, 3 marks)
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging; 2024 Software Design and Development HSC Q28 (3 marks): Debugging output statements v breakpoints

**Breakpoint**  *(term)*

- Definition: A marker on a line of code where execution pauses so you can inspect variable values.
- Example: 'A breakpoint halts the program so the programmer can check variables.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging

**Single line stepping**  *(term)*

- Definition: Running a program one line at a time in the debugger to watch how it flows and how values change.
- Example: Use with breakpoints to locate a logic error.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging

**Watch window (variable watch)**  *(term)*

- Definition: A debugger feature that shows the live value of chosen variables as the program runs.
- Example: 'Watch total change each loop to see where the sum goes wrong.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Debugging output statements**  *(term)*

- Definition: Print statements added to show that a section was reached or the value of a variable.
- Example: 'print("total =", total)'
- Where you would use it in the test:
  - Short answer: Name one software debugging tool
  - Python: Python question: write or complete it in the online Python tool.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging

**Boundary values**  *(term)*

- Definition: Test data at and either side of a limit of the valid range. For a valid range of 1 to 10: 0, 1, 10, 11.
- Example: Valid range 18 to 65 means test 17, 18, 65, 66.
- Where you would use it in the test:
  - Short answer: Select test data
  - Matching or table: Complete a test data table (familiarisation Q5)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Familiarisation Q5 (3 marks): Testing (test data); Sample exam Q11 (3 marks): Testing (test data)

**Path coverage**  *(term)*

- Definition: Choosing test data so every path through the code (each branch and loop) runs at least once.
- Example: 'Include one value that makes the IF true and one that makes it false.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Familiarisation Q5 (3 marks): Testing (test data)

**Faulty and abnormal data**  *(term)*

- Definition: Data that is the wrong type, empty, too large or small or has odd characters, used to check the program rejects it or handles it without crashing.
- Example: 'Enter "abc" where a number is expected.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Familiarisation Q5 (3 marks): Testing (test data)

**Code optimisation**  *(term)*

- Definition: Improving the speed or memory use of working code (better algorithm, fewer repeated calculations, built-in functions).
- Example: See language-dependent and language-independent optimisation.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q4 (1 mark): Optimisation

## The Object-Oriented Paradigm (Year 11)

### Key OOP features

**Object-oriented programming (OOP)**  *(term)*

- Definition: A paradigm that organises a program as objects, created from classes, that hold data (attributes) and behaviour (methods) and communicate by passing messages.
- Example: Contrast: procedural = a list of subroutines acting on separate data; OOP = objects that own their data and methods.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Match OOP features to descriptions
  - Short answer: Compare procedural programming with OOP
- Seen in: Sample exam Q24 (4 marks): Modelling tools (class diagram); 2025 HSC Q22 (3 marks): Modelling tools

**Class**  *(term)*

- Definition: A blueprint or template that defines the attributes and methods shared by all objects of one kind.
- Example: 'class Student:' defines the template; each student is an object.
- Where you would use it in the test:
  - Drawing: class diagram box (name, attributes, methods)
  - Python: class definition
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Object**  *(term)*

- Definition: A single instance of a class with its own attribute values and the ability to run the class's methods.
- Example: 's1 = Student("Ava")' creates an object.
- Where you would use it in the test:
  - Python: create an object
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools

**Attribute**  *(term)*

- Definition: A variable that belongs to an object and stores its data or state (name, age, balance).
- Example: 'self.balance = 0' stores an attribute.
- Where you would use it in the test:
  - Drawing: middle section of the class box
  - Python: Python question: write or complete it in the online Python tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Method**  *(term)*

- Definition: A subroutine that belongs to a class and defines what its objects can do (deposit, display, calculate).
- Example: 'def deposit(self, amount):' is a method.
- Where you would use it in the test:
  - Drawing: bottom section of the class box
  - Python: Python question: write or complete it in the online Python tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Constructor (__init__)**  *(term)*

- Definition: A special method that runs when an object is created and sets its starting attribute values (in Python it is __init__).
- Example: 'def __init__(self, name): self.name = name'
- Where you would use it in the test:
  - Python: Write a class with __init__
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- ⚠ Check: The syllabus says implement OOP code but does not name constructors; Python classes need __init__ so it is a safe code-pattern card.

**Encapsulation**  *(term)*

- Definition: Bundling an object's data and the methods that use it together in a class and restricting direct access to the data (private attributes, accessed through methods) so it stays valid and secure.
- Example: 'Make balance private and change it only through deposit() so it cannot be set to a negative number directly.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Explain how encapsulation protects data
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Abstraction (in OOP)**  *(term)*

- Definition: Hiding complex implementation detail and exposing only what is needed, so a user calls account.deposit() without knowing how it works.
- Example: 'The class hides how interest is calculated; the user just calls addInterest().'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Inheritance**  *(term)*

- Definition: A subclass (child) automatically gets the attributes and methods of a superclass (parent) and can add or change its own, giving code reuse. It models an 'is-a' relationship.
- Example: 'Student inherits name and age from Person; the arrow points from Student to Person.'
- Where you would use it in the test:
  - Drawing: inheritance arrow on a class diagram
  - Python: class Child(Parent)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Generalisation**  *(term)*

- Definition: Moving the features shared by several classes up into a common superclass (Student and Teacher generalised as Person). The 2025 marker note: refine attributes into separate inherited classes.
- Example: 'Common attributes go in the superclass; unique ones stay in each subclass.'
- Where you would use it in the test:
  - Drawing: class diagram (2025 Q22 and sample Q24)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Superclass and subclass**  *(term)*

- Definition: A superclass is the parent class that supplies shared features; a subclass is a child class that inherits them and adds its own.
- Example: 'Dog is a subclass of Animal.'
- Where you would use it in the test:
  - Drawing: class diagram
  - Python: class Child(Parent)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Polymorphism**  *(term)*

- Definition: Different classes provide their own version of the same method name, so one call behaves differently depending on the object.
- Example: 'speak() prints Woof for Dog and Meow for Cat.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Python: override a method
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Method overriding**  *(term)*

- Definition: A subclass supplies its own version of a method it inherited, replacing the parent's version; the way polymorphism is coded.
- Example: 'Cat.speak() overrides Animal.speak().'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- ⚠ Check: Not named in the syllabus; it is how polymorphism is shown in Python code.

**Message passing**  *(term)*

- Definition: Objects communicate by calling each other's methods (sending a message with parameters and receiving a return value).
- Example: 'order.addItem(item) sends the message addItem to the order object.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Investigate how OOP languages handle message passing
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

**Procedural programming v OOP**  *(term)*

- Definition: Procedural: a program is a sequence of subroutines working on shared data. OOP: data and the methods that act on it are grouped into objects, giving encapsulation, reuse through inheritance and easier maintenance.
- Example: Compare pattern: 'Procedural uses functions on separate data whereas OOP keeps the data and methods together in objects.'
- Where you would use it in the test:
  - Short answer: Compare procedural programming with OOP
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.

### Design process and collaboration

**Task definition**  *(term)*

- Definition: The first design step: clearly stating the problem to be solved, its purpose, inputs and outputs, before planning the code.
- Example: 'Task definition: the program must accept three marks and display the average.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Facade pattern**  *(term)*

- Definition: A design pattern where a simple class provides one easy interface that hides a complex set of subsystem classes behind it.
- Example: 'A OrderFacade class calls the Stock, Payment and Delivery classes for the user.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Describe the facade pattern
  - Drawing: class diagram

**Agility**  *(term)*

- Definition: The ability to respond quickly to changing requirements by working in short iterations with frequent feedback (the Agile approach).
- Example: 'An agile team delivers a working feature each sprint.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches

**Consistency (collaboration)**  *(term)*

- Definition: Using the same naming, layout and coding standards across the team so everyone can read and change the code.
- Example: 'Use snake_case for every variable.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Multi-select: Features that support collaborative development
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Code commenting**  *(term)*

- Definition: Short explanations in the code that say what it does and why, so other developers and your future self can understand and maintain it.
- Example: '# calculate GST for each item'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Version control**  *(term)*

- Definition: A system (such as Git) that records every change to the code with who and when, supports branches and merging and allows rollback, so teams can work together safely.
- Example: 'Git history lets the team revert to the last working version.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Multi-select: Collaboration features (sample Q4)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Feedback (code review)**  *(term)*

- Definition: Colleagues or testers review code and comment so errors are found early and quality improves.
- Example: 'A pull request review catches a logic error.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q4 (1 mark): Collaboration

### Writing and testing OOP code

**Clear and uncluttered mainline**  *(term)*

- Definition: A mainline that only calls well-named subroutines or methods in order, so the overall flow is easy to follow.
- Example: Keep the mainline to a few calls; put detail in subroutines.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: Sample exam Q14 (3 marks): Algorithm design (subroutines)

**One logical task per subroutine**  *(term)*

- Definition: Each subroutine does a single clear job, which makes it reusable, testable and easier to fix.
- Example: 'calculateTotal() only calculates; displayTotal() only displays.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: Sample exam Q14 (3 marks): Algorithm design (subroutines); Sample exam Q21b (5 marks): Python: subroutines, lists, loops

**Stub**  *(term)*

- Definition: A simple placeholder subroutine, which usually returns a fixed value, standing in for code not yet written so the rest of the program can be tested.
- Example: 'getRate() returns 0.1 until the real rate lookup is finished.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Ease of maintenance**  *(term)*

- Definition: How simply code can be corrected or updated later; helped by comments, meaningful names, modular subroutines and version control.
- Example: Use it to justify modular code in an evaluate or justify answer.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2023 Software Design and Development HSC Q26 (9 marks): Code reading, maintainability and testing

**Regular backup**  *(term)*

- Definition: Making frequent copies of code and data (ideally off-site or in the cloud) so work can be restored after loss or corruption.
- Example: 'Push the code to a repository each day.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Unit testing**  *(term)*

- Definition: Testing one subroutine, method or class on its own to check it works as intended.
- Example: 'Test calculateGST() with several inputs.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Subsystem testing**  *(term)*

- Definition: Testing a group of modules that work together as a subsystem, checking their interfaces and data passing.
- Example: Between unit and system testing.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**System testing**  *(term)*

- Definition: Testing the complete, integrated system against the requirements.
- Example: 'System test: the whole app runs end to end.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Black box testing**  *(term)*

- Definition: Testing inputs against expected outputs with no knowledge of the internal code.
- Example: 'The tester only sees what goes in and what comes out.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Compare black box and white box

**White box testing**  *(term)*

- Definition: Testing with full knowledge of the internal code, designing tests to run every path, branch and loop.
- Example: 'The developer checks every branch of the IF statement.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Grey box testing**  *(term)*

- Definition: Testing with partial knowledge of the internals, a mix of black box and white box.
- Example: 'The tester knows the database design but not the code.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Quality assurance**  *(term)*

- Definition: Planned processes that check the software meets quality criteria (functionality, performance, readability, documentation) during development, not just at the end.
- Example: 'QA includes code review, testing and standards.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2023 Software Design and Development HSC Q27 (10 marks): User interface, structure chart, quality assurance

## Programming Mechatronics (Year 11)

### Hardware and parts

**Mechatronic system**  *(term)*

- Definition: A system that combines mechanical engineering, electronics and software control, such as a robot arm, automatic door, drone, 3D printer or cruise control.
- Example: 'A robotic arm in a car factory is a mechatronic system.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Outline an application of mechatronics
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Microcontroller**  *(term)*

- Definition: A small computer on a single chip with a CPU, memory and input/output pins that runs the program controlling a device.
- Example: 'The microcontroller reads the sensor and drives the motor.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Assess the relationship of microcontrollers and the CPU

**CPU (central processing unit)**  *(term)*

- Definition: The part that fetches, decodes and executes program instructions. In a microcontroller it is built into the chip.
- Example: Link: the CPU executes the instructions; the microcontroller packages the CPU with memory and I/O.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Instruction set**  *(term)*

- Definition: The list of machine instructions a CPU can carry out. It limits what code can do and how efficiently it runs.
- Example: 'A smaller instruction set means simpler chips but more instructions per task.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Outline the influence of the instruction set on code
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Opcode**  *(term)*

- Definition: The part of a machine instruction that says which operation to perform; the rest of the instruction holds the operands.
- Example: 'ADD R1, R2: ADD is the opcode.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Address register**  *(term)*

- Definition: A CPU register that holds the memory address of the data or instruction to be accessed.
- Example: 'The address register points to where the sensor value is stored.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Data register**  *(term)*

- Definition: A CPU register that holds the data being processed (the operands and results).
- Example: 'The data register holds the sensor reading while it is compared.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Sensor**  *(term)*

- Definition: An input device that detects something in the environment and sends the data to the controller, such as motion, light level, temperature or distance sensors.
- Example: 'A light level sensor detects darkness so the lamp turns on.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Classify as sensor or actuator
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Motion sensor**  *(term)*

- Definition: A sensor that detects movement nearby, for example infrared or ultrasonic, used in alarms and automatic doors.
- Example: 'A motion sensor opens an automatic door.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Light level sensor**  *(term)*

- Definition: A sensor that measures brightness, used in line-following robots and automatic lighting.
- Example: 'A light sensor lets a robot follow a dark line.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Actuator**  *(term)*

- Definition: An output device that turns the controller's signal into movement or action, such as a motor, servo or hydraulic cylinder.
- Example: 'The servo moves the arm.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Hydraulic actuator**  *(term)*

- Definition: An actuator that uses pressurised fluid to move a piston, giving large force, as in excavators and heavy robot arms.
- Example: 'Hydraulic actuators lift the excavator arm.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**End effector (manipulator)**  *(term)*

- Definition: The tool at the end of a robotic arm that interacts with the environment, such as a gripper, welder or suction cup.
- Example: 'The robotic gripper picks up the part.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Robotic gripper**  *(term)*

- Definition: An end effector with fingers or jaws that grasps and releases objects.
- Example: 'A gripper picks and places items on a conveyor.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

### Control, data and design

**Diagnostic data**  *(term)*

- Definition: Data about the health and operation of a mechatronic system (temperatures, error codes, motor current) used to find faults.
- Example: 'Logging motor current to detect a jam.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Optimisation data**  *(term)*

- Definition: Data collected so the system's performance can be improved or tuned (cycle times, energy use, error rates).
- Example: 'Speed readings help tune the control algorithm.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Degrees of freedom**  *(term)*

- Definition: The number of independent directions or axes in which a part can move (a robot arm with 3 joints has 3).
- Example: 'A 6-axis arm has six degrees of freedom.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Motion constraints**  *(term)*

- Definition: Limits on movement such as range, speed, obstacles or joint angles that the control code must respect.
- Example: 'Stop the arm before it reaches the maximum joint angle.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Subsystem (combination of sensors, actuators and effectors)**  *(term)*

- Definition: A group of sensors, actuators and end effectors that work together as one working part of the system (for example the gripper subsystem).
- Example: 'The vision sensor and gripper form the pick-up subsystem.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Power, battery and material requirements**  *(term)*

- Definition: Choosing power supplies and batteries that match each component's voltage and current, and materials suited to the load, weight and environment.
- Example: 'A motor that draws 2 A needs a supply that can provide it.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Wiring diagram**  *(diagram)*

- Definition: A diagram of the electrical connections between components using standard symbols (resistor, capacitor, diode, LED, switch, motor, voltage source), showing both power and data connections.
- Example: Show power and data connections and label any component you add.
- Where you would use it in the test:
  - Drawing: Draw or complete a wiring diagram
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.

**Specialist requirements for people with disability**  *(term)*

- Definition: Needs that shape design for assistive devices or prosthetics, such as comfort, safety, intuitive control, adjustability and reliability.
- Example: 'A prosthetic hand needs an adjustable grip force.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Open-loop control**  *(term)*

- Definition: A control system that sets its output without checking the result (a timer-based sprinkler). It is simple but cannot correct errors.
- Example: 'Open: the motor runs for 5 seconds regardless of distance travelled.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Compare open and closed loop
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Closed-loop control**  *(term)*

- Definition: A control system where sensors feed the result back and the algorithm adjusts the output to reach a target (thermostat, cruise control).
- Example: 'Closed: read the sensor, compare with the target, adjust the motor.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Pseudocode: Control loop with feedback

**Feedback**  *(term)*

- Definition: Sensor information about the actual output that is returned to the controller to correct the output in a closed loop system.
- Example: 'The thermostat feeds temperature back to the heater controller.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Autonomous control**  *(term)*

- Definition: A system that senses, decides and acts without human input, using sensor data and decision algorithms (self-driving car, robot vacuum).
- Example: 'Obstacle sensed, so decide to turn, then act.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Outline an algorithm used for autonomous control
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Control algorithm pattern (line follower)**  *(code)*

- Definition: A closed-loop loop: WHILE the robot is running, read the sensor, IF the sensor sees dark THEN turn one way ELSE turn the other, ENDIF, ENDWHILE.
- Example: 'WHILE on: read light; IF dark THEN turn left ELSE turn right.'
- Where you would use it in the test:
  - Pseudocode: Write a control loop
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Simulation and prototype**  *(term)*

- Definition: A simulation tests the control code on a software model; a prototype is an early physical build. Both reduce cost and risk before the final system.
- Example: 'Test the arm algorithm in simulation before building.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Unit tests for control algorithms**  *(term)*

- Definition: Tests that check each component's control algorithm works and gives the same result every time (effectiveness and repeatability).
- Example: 'Run the gripper test 10 times to prove repeatability.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**User interface for a mechatronic system**  *(term)*

- Definition: A screen, panel or app that lets a person control and monitor the system (start, stop, set a target, see status).
- Example: 'A touchscreen with start and emergency stop buttons.'
- Where you would use it in the test:
  - Drawing: user interface
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Familiarisation Q9a (3 marks): Prototype and user interface design

## Secure Software Architecture (Year 12)

### Benefits and the development steps

**Secure software**  *(term)*

- Definition: Software designed and built to protect data and resist attack, with security considered at every development step; benefits are data protection and fewer cyber attacks and vulnerabilities.
- Example: 'Secure software protects customer data and builds trust in the product.'
- Where you would use it in the test:
  - Short answer: Describe the benefits of developing secure software
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2023 Software Design and Development HSC Q23 (5 marks): Security and authentication

**Data protection**  *(term)*

- Definition: Keeping data safe from unauthorised access, change or loss using measures such as encryption, access control and backups.
- Example: 'Encrypt stored card numbers to protect data.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q10 (1 mark): Regulatory compliance

**Cyber attack**  *(term)*

- Definition: A deliberate attempt to steal, damage or disrupt data or systems (for example phishing, malware, SQL injection, denial of service).
- Example: 'Validation reduces the risk of injection attacks.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Vulnerability**  *(term)*

- Definition: A weakness in software, hardware or process that an attacker could exploit.
- Example: 'An unpatched library is a vulnerability.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q8 (2 marks): SAST and DAST; 2025 HSC Q13 (2 marks): SAST and DAST

**Capabilities and experience of end users**  *(term)*

- Definition: Users' skills and experience shape secure design: less experienced users need simple, guided and forgiving interfaces (clear prompts, default safe settings), while experts can use advanced options.
- Example: 'Novice users need clear warnings before deleting data.'
- Where you would use it in the test:
  - Short answer: Describe how user experience influences secure design features
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

### Security concepts (CIA and more)

**Confidentiality**  *(term)*

- Definition: Only authorised people can read the data; achieved with encryption and access controls.
- Example: 'Encrypting medical records keeps them confidential.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Match each concept to an example (2025 Q23c)
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q23c (3 marks): Fundamental software design security concepts

**Integrity**  *(term)*

- Definition: Data stays accurate and unchanged unless an authorised change is made; supported by hashes, validation and checksums.
- Example: 'A hash value shows a file has not been altered.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q23c (3 marks): Fundamental software design security concepts

**Availability**  *(term)*

- Definition: Authorised users can access the data and system when needed; supported by backups, redundancy and protection against denial of service.
- Example: 'A backup server keeps the site available if the main one fails.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q23c (3 marks): Fundamental software design security concepts

**Authentication**  *(term)*

- Definition: Proving that a user, device or system is who it claims to be (passwords, multi-factor, certificates).
- Example: 'Login with a password and a one-time code is authentication.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q6: 'Ensuring that parties exchanging information are who they claim to be'
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols; 2025 HSC Q23c (3 marks): Fundamental software design security concepts; Sample exam Q19 (4 marks): Authentication and authorisation

**Authorisation**  *(term)*

- Definition: Deciding what an authenticated user is allowed to access or do (roles and permissions).
- Example: 'A student can view marks but only a teacher can edit them.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q19 (4 marks): Authentication and authorisation; 2025 HSC Q23c (3 marks): Fundamental software design security concepts

**Accountability**  *(term)*

- Definition: Being able to trace actions to a user or system through logs and audit trails, so people answer for what they did.
- Example: 'An audit log records who changed a record.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q23c (3 marks): Fundamental software design security concepts

**Privacy**  *(term)*

- Definition: The right of people to control how their personal information is collected, used and shared.
- Example: 'Collect only the data needed.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q16c (3 marks): Privacy by design

**Regulatory compliance**  *(term)*

- Definition: Meeting the laws, regulations and industry standards that apply to software and data (for example Privacy Act or GDPR). Goals include protecting sensitive data and meeting legal and industry standards.
- Example: Correct 2025 Q10 ticks: protecting sensitive data; meeting legal and industry standards.
- Where you would use it in the test:
  - Multi-select: 2025 Q10: pick ALL the goals of regulatory compliance
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q10 (1 mark): Regulatory compliance

### Security by design and privacy by design

**Security by design**  *(term)*

- Definition: Building security into the software from the start of development rather than adding it at the end.
- Example: 'Security by design uses cryptography and sandboxing from the first design step.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Explain the contribution of cryptography and sandboxing
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: Familiarisation Q6 (3 marks): Sandboxing; Sample exam Q3 (1 mark): Encryption

**Cryptography**  *(term)*

- Definition: Converting readable data (plain text) into unreadable cipher text with an algorithm and key so only the holder of the right key can read it; also supports hashing and digital signatures.
- Example: 'Encryption keeps the data confidential.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q3 (1 mark): Encryption

**Sandboxing**  *(term)*

- Definition: Running code in an isolated, restricted environment so that if it is malicious or faulty it cannot affect the rest of the system.
- Example: 'A browser tab runs in a sandbox so a bad page cannot read your files.'
- Where you would use it in the test:
  - Short answer: Discuss sandboxing (familiarisation Q6)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q6 (3 marks): Sandboxing

**Privacy by design**  *(term)*

- Definition: An approach that builds privacy into software from the start: proactive not reactive, embed privacy into the design, and respect user privacy.
- Example: 2025 Q16c marker note: link it to the scenario, e.g. only collect live location while the app is in use, rather than listing general privacy techniques.
- Where you would use it in the test:
  - Short answer: Describe how the app could implement privacy by design (2025 Q16c)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q16c (3 marks): Privacy by design

**Proactive not reactive**  *(term)*

- Definition: A privacy by design principle: anticipate and prevent privacy problems before they happen instead of fixing them after a breach.
- Example: 'Run a privacy impact check during design.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q16c (3 marks): Privacy by design

**Embed privacy into design**  *(term)*

- Definition: A privacy by design principle: privacy is part of the core system design (default settings, data minimisation, encryption), not an add-on.
- Example: 'Privacy settings are on by default.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q16c (3 marks): Privacy by design

**Respect for user privacy**  *(term)*

- Definition: A privacy by design principle: keep the user central with clear consent, easy control of their data and transparency.
- Example: 'Ask for permission before using location.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q16c (3 marks): Privacy by design

### Testing security and resilience

**Determining vulnerabilities**  *(term)*

- Definition: Finding weaknesses before attackers do, using code review, SAST, DAST, vulnerability assessment and penetration testing.
- Example: 'Run a vulnerability assessment before release.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Hardening systems**  *(term)*

- Definition: Reducing the attack surface by removing unused services and default accounts, applying patches and using strong configuration and least privilege.
- Example: 'Disable unused ports.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Handling breaches**  *(term)*

- Definition: Responding to a security incident: detect, contain, investigate, notify those affected, fix the cause and review.
- Example: 'Notify users and reset passwords after a breach.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Business continuity**  *(term)*

- Definition: Plans that keep critical operations running during and after a disruption (backup systems, alternative procedures).
- Example: 'Switch to a backup server so orders continue.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Disaster recovery**  *(term)*

- Definition: Plans to restore IT systems and data after a major incident, guided by how quickly and how fully they must be recovered.
- Example: 'Restore from the off-site backup.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Code review**  *(term)*

- Definition: Other developers read the source code to find errors, security flaws and poor practice before release.
- Example: 'Peer review spots missing input validation.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Static application security testing (SAST)**  *(term)*

- Definition: Analysing the source code without running it to find security flaws early in development; a white box method.
- Example: SAST = code NOT running, source visible, early. DAST = program running, from outside, finds runtime flaws.
- Where you would use it in the test:
  - Matching or table: Classify features as SAST or DAST (2025 Q13 and sample Q8)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Distinguish SAST from DAST
- Seen in: 2025 HSC Q13 (2 marks): SAST and DAST; Sample exam Q8 (2 marks): SAST and DAST

**Dynamic application security testing (DAST)**  *(term)*

- Definition: Testing the running application from the outside by sending it unexpected input to find vulnerabilities, without needing the source code; a black box method.
- Example: DAST: tests while running; finds issues like XSS or broken authentication.
- Where you would use it in the test:
  - Matching or table: 2025 Q13 table and sample Q8
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q13 (2 marks): SAST and DAST; Sample exam Q8 (2 marks): SAST and DAST

**Vulnerability assessment**  *(term)*

- Definition: A systematic scan and review that identifies, ranks and reports known weaknesses in a system.
- Example: 'A scanner lists out-of-date components.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.

**Penetration testing**  *(term)*

- Definition: Authorised, simulated attacks on a system by testers to see whether weaknesses can really be exploited.
- Example: 'An ethical hacker tries to break into the login.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.

### Defensive coding

**Defensive data input handling**  *(term)*

- Definition: Writing code that assumes input may be wrong or hostile and handles it safely using input validation, sanitisation and error handling.
- Example: 'Reject non-numeric age, then ask again.'
- Where you would use it in the test:
  - Short answer: Explain defensive data input handling (sample Q18a)
  - Python: Write an input validation function
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q18a (3 marks): Defensive data input handling; Sample exam Q18b (3 marks): Developing secure code (Python input validation); Familiarisation Q9b (3 marks): Developing secure code (Python input validation); 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Input validation**  *(term)*

- Definition: Checking that input meets rules (type, range, length, format, presence) before it is used.
- Example: 'if not age.isdigit(): reject'
- Where you would use it in the test:
  - Python: Python validation function
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q18b (3 marks): Developing secure code (Python input validation); Familiarisation Q9b (3 marks): Developing secure code (Python input validation); 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Sanitisation**  *(term)*

- Definition: Cleaning input by removing or escaping dangerous characters so it cannot be run as code (for example HTML or SQL).
- Example: 'Escape < and > so a script tag is displayed as text, not run.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q18a (3 marks): Defensive data input handling

**Error handling**  *(term)*

- Definition: Detecting and managing problems (try and except in Python) so the program fails safely, shows a generic message and does not leak internal details.
- Example: 'try: int(x) except ValueError: print("Enter a number")'
- Where you would use it in the test:
  - Python: try / except
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python); Sample exam Q18b (3 marks): Developing secure code (Python input validation)

**Application programming interface (API)**  *(term)*

- Definition: A set of rules that lets one program request services or data from another, often over HTTP using JSON. A safe API validates input, authenticates callers, limits data returned and uses HTTPS.
- Example: 'Return only the fields the client needs.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q5 (1 mark): API vulnerabilities

**Excessive data exposure**  *(term)*

- Definition: An API weakness where more data than intended is returned (the whole database row instead of the needed fields).
- Example: 'Send name only, not the password hash.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q5 answer: Exposure of more data than intended
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q5 (1 mark): API vulnerabilities

**Memory management**  *(term)*

- Definition: Allocating and freeing memory efficiently so programs do not leak memory, crash or become slow.
- Example: 'Release resources when finished.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Session management**  *(term)*

- Definition: Creating, tracking and ending a user's session securely (session ID or token, timeouts, logout), which supports both security and a smooth user experience.
- Example: 2025 Q20 marker note: relate session management to code efficiency and to user experience; describe, don't just identify.
- Where you would use it in the test:
  - Short answer: Describe session management and efficiency (2025 Q20)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q20 (3 marks): Session management

**Exception management**  *(term)*

- Definition: Handling runtime exceptions (try and except) so a failure is caught, logged and recovered from instead of crashing the program.
- Example: 'Catch FileNotFoundError and show a message.'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

### Attacks on user actions, files and hardware

**Broken authentication and session management**  *(term)*

- Definition: Weaknesses in login or session handling (weak passwords, guessable or reused session IDs, no timeout) that let attackers act as another user.
- Example: 'Use long random session IDs and timeouts.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q8 (1 mark): User action controls

**Cross-site scripting (XSS)**  *(term)*

- Definition: An attack that injects malicious script into a web page that other users then run in their browser. Prevent it by sanitising and escaping output.
- Example: 'Escape user comments so scripts cannot run.'
- Where you would use it in the test:
  - Multiple choice: Familiarisation Q11a
  - Short answer: Explain how XSS works and how to prevent it (Q11b)
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q11a (1 mark): Cross-site scripting; Familiarisation Q11b (2 marks): Cross-site scripting

**Cross-site request forgery (CSRF)**  *(term)*

- Definition: An attack that tricks a logged-in user's browser into sending an unwanted request to a site that trusts them. Prevent it with anti-CSRF tokens.
- Example: 'A hidden form submits a bank transfer.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q8 (1 mark): User action controls

**Invalid forwarding and redirecting**  *(term)*

- Definition: An attack that sends users to an untrusted site because the destination in a redirect or forward is taken from unvalidated input. Prevent it by validating or whitelisting destinations.
- Example: 'Only redirect to pages on your own site.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q8 (1 mark): User action controls

**Race condition**  *(term)*

- Definition: A fault where the outcome depends on the timing of two or more processes using the same data, so results are unpredictable (for example two users buying the last ticket).
- Example: 'Two withdrawals read the same balance at once.' Prevent with locking.
- Where you would use it in the test:
  - Multiple choice: 2025 Q8 answer: Race conditions
  - Short answer: Give an example and outline (sample Q22b)
- Seen in: 2025 HSC Q8 (1 mark): User action controls; Sample exam Q22b (3 marks): Race conditions

**File attacks**  *(term)*

- Definition: Attacks that abuse file handling, such as malicious uploads, path traversal (../) or tampering with stored files. Protect by validating file type and size, storing outside the web root and using permissions.
- Example: 'Reject uploaded .exe files.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Side channel attack**  *(term)*

- Definition: An attack that learns secrets from indirect information such as timing, power use or electromagnetic emissions rather than breaking the algorithm. Protect with constant-time code, noise and physical shielding.
- Example: 'Measuring response time to guess a password character.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

### Impact, collaboration and legal issues

**Benefits of collaboration (secure development)**  *(term)*

- Definition: Considering various points of view, delegating tasks by expertise and improving the quality of the solution.
- Example: 'A security specialist reviews the login code.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Benefits to an enterprise of secure development**  *(term)*

- Definition: Improved products or services, influence on future software development, improved work practices, productivity and business interactivity.
- Example: 'Secure practices reduce rework, so productivity rises.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Social, ethical and legal issues**  *(term)*

- Definition: The effects of software on people and organisations: employment, data security, privacy, copyright, intellectual property and digital disruption.
- Example: 2025 Q23a marker note: give more than one issue and support each with the stimulus.
- Where you would use it in the test:
  - Short answer: Outline social and ethical issues using the stimulus (2025 Q23a)
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q23a (3 marks): Social and ethical issues; 2022 Software Design and Development HSC Q21 (3 marks): Social, ethical and legal responsibilities; 2021 Software Design and Development HSC Q25 (11 marks): Implementation and development approach

**Employment (impact)**  *(term)*

- Definition: How software changes jobs: roles removed or created and new skills needed.
- Example: 'Automation removes data entry jobs but creates support roles.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q24 (5 marks): Safety of workers (impact of automation)

**Copyright**  *(term)*

- Definition: The legal right that protects the creator's original work, including code, from being copied or used without permission.
- Example: 'Copying code from a licensed library without credit may breach copyright.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2022 Software Design and Development HSC Q21 (3 marks): Social, ethical and legal responsibilities

**Intellectual property**  *(term)*

- Definition: Creations of the mind (code, designs, brands) that are legally owned and protected by the creator.
- Example: 'Protect the app's source code as IP.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2022 Software Design and Development HSC Q21 (3 marks): Social, ethical and legal responsibilities

**Digital disruption**  *(term)*

- Definition: Change caused when new technology transforms how an industry or society works, often overturning existing businesses.
- Example: 'Ride-sharing apps disrupted taxis.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Programmed backup**  *(term)*

- Definition: Automatic scheduled copies of data (ideally off-site or in the cloud) supporting integrity and availability and reducing human error.
- Example: 'A nightly automatic backup to the cloud.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Software development steps for secure code (order)**  *(process)*

- Definition: Requirements definition, determining specifications, design, development, integration, testing and debugging, installation and maintenance, with security considered at each step.
- Example: 'Security is considered in requirements, then design, then testing.'
- Where you would use it in the test:
  - Drag into order: Drag into order (familiarisation Q1)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Familiarisation Q1 (1 mark): Development steps; Sample exam Q1 (1 mark): Software development steps

**SQL injection**  *(term)*

- Definition: An attack where malicious SQL is inserted through input so it runs on the database; stopped by parameterised queries and validation.
- Example: "' OR 1=1 --" typed into a login box.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: Sample exam Q18a (3 marks): Defensive data input handling
- ⚠ Check: The course specification names XSS and defensive input handling; SQL injection is the standard example the school notes use.

**General Data Protection Regulation (GDPR)**  *(term)*

- Definition: The European Union law on collecting and protecting personal data; it applies to any organisation handling EU residents' data.
- Example: 'An Australian site with EU customers must follow GDPR.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q10 (1 mark): Regulatory compliance
- ⚠ Check: The syllabus says regulatory compliance without naming laws; GDPR comes from the school notes.

## Programming for the Web (Year 12)

### Web applications and data transfer

**Interactive website**  *(term)*

- Definition: A website that responds to user actions and updates content, using client-side scripting and server-side processing (forms, live content, accounts).
- Example: 'An interactive site needs a constant internet connection to update.'
- Where you would use it in the test:
  - Short answer: Compare a PWA with an interactive website (2025 Q16a)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q16a (3 marks): Progressive web apps

**E-commerce**  *(term)*

- Definition: Buying and selling goods or services online, which needs secure payment, accounts, a product database and a shopping cart.
- Example: 'Use HTTPS and a payment gateway for e-commerce.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Progressive web app (PWA)**  *(term)*

- Definition: A web application that works like a native app: installable, works offline and loads quickly using a service worker and cache, can send push notifications and runs on any device with a browser.
- Example: 2025 Q16a marker note: give features specific to a PWA (offline use, pre-caching, notifications) and link to the scenario.
- Where you would use it in the test:
  - Short answer: Compare PWA with an interactive website (2025 Q16a)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q16a (3 marks): Progressive web apps

**Data packet**  *(term)*

- Definition: A small chunk of data with a header (source and destination IP address, order number) sent across a network; packets are reassembled at the destination.
- Example: 'A file is split into packets that can take different routes.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**IP address and IPv4**  *(term)*

- Definition: A number that identifies a device on a network. IPv4 uses 32 bits written as four decimal numbers (for example 192.168.1.1).
- Example: 'IPv4 has four numbers from 0 to 255.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Domain name system (DNS)**  *(term)*

- Definition: The service that translates a domain name (example.com) into an IP address. Port 53.
- Example: 'DNS looks up the IP address for the site name.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols

### Web protocols and ports

**HTTP**  *(term)*

- Definition: HyperText Transfer Protocol: the request and response protocol between browser and web server. Port 80. Not encrypted.
- Example: 'http = port 80.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols; Sample exam Q2 (1 mark): Protocols; Sample exam Q13 (3 marks): Protocols

**HTTPS**  *(term)*

- Definition: HTTP carried over SSL/TLS so data is encrypted and the server is authenticated. Port 443.
- Example: 'https = port 443.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols; Sample exam Q2 (1 mark): Protocols; Sample exam Q13 (3 marks): Protocols

**TCP/IP**  *(term)*

- Definition: The core internet protocol suite. IP addresses and routes the packets; TCP makes delivery reliable by setting up a connection, ordering packets and re-sending lost ones.
- Example: 'TCP checks delivery; IP finds the destination.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q13 (3 marks): Protocols

**FTP**  *(term)*

- Definition: File Transfer Protocol: moves files between client and server. Port 21 (control). Not encrypted.
- Example: 'Upload site files by FTP on port 21.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q13 (3 marks): Protocols
- ⚠ Check: The ports are standard internet values; the syllabus names the protocols and says 'and their ports'.

**SFTP**  *(term)*

- Definition: SSH File Transfer Protocol: an encrypted way to transfer files, normally port 22.
- Example: 'SFTP is the secure alternative to FTP.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: The school notes list SFTP as port 443, but the standard port is 22 (it runs over SSH). Learn the protocol is the secure FTP; give 22 if a port is asked and check with your teacher.

**SSL and TLS**  *(term)*

- Definition: Secure Sockets Layer and Transport Layer Security encrypt data in transit and authenticate the server; TLS is the modern replacement for SSL. They secure other protocols (HTTP becomes HTTPS).
- Example: 'TLS encrypts the connection.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols

**SMTP**  *(term)*

- Definition: Simple Mail Transfer Protocol: sends email from a client to a server and between servers. Port 25 (587 or 465 secure).
- Example: 'SMTP sends, POP3 and IMAP receive.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Match mail protocols (familiarisation Q3)
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q3 (2 marks): Mail protocols

**POP3**  *(term)*

- Definition: Post Office Protocol 3: downloads email from the server to one device, usually deleting it from the server. Port 110 (995 secure).
- Example: 'POP3 downloads and removes.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q3 (2 marks): Mail protocols

**IMAP**  *(term)*

- Definition: Internet Message Access Protocol: lets you read and manage email on the server and keeps all your devices in sync. Port 143 (993 secure).
- Example: 'IMAP keeps messages on the server.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q3 (2 marks): Mail protocols

**Port**  *(term)*

- Definition: A number that identifies which service on a device receives incoming data (the IP address finds the device, the port finds the program).
- Example: 'Web traffic uses 80 or 443.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols

### Securing the web

**SSL certificate**  *(term)*

- Definition: A digital certificate issued by a trusted certificate authority that proves a website's identity and contains its public key, enabling HTTPS.
- Example: 'The padlock shows a valid SSL certificate.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Encryption algorithm**  *(term)*

- Definition: The mathematical method used to scramble plain text into cipher text (for example AES or RSA).
- Example: 'AES is a symmetric encryption algorithm.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q3 (1 mark): Encryption

**Encryption key**  *(term)*

- Definition: The secret value used with the algorithm to encrypt and decrypt; longer keys are harder to break.
- Example: 'Without the key the cipher text cannot be read.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q3 (1 mark): Encryption

**Plain text and cipher text**  *(term)*

- Definition: Plain text is readable data; cipher text is the unreadable, encrypted result.
- Example: 'Encryption turns plain text into cipher text.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q3 (1 mark): Encryption

**Symmetric encryption**  *(term)*

- Definition: One shared secret key encrypts and decrypts; fast, but the key must be shared safely.
- Example: 'Fast for large data.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Compare with asymmetric
- Seen in: Sample exam Q3 (1 mark): Encryption

**Asymmetric encryption**  *(term)*

- Definition: A public key encrypts and a different private key decrypts; solves key sharing but is slower.
- Example: 'HTTPS uses asymmetric encryption to share a session key.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q3 (1 mark): Encryption

**Hash value**  *(term)*

- Definition: A fixed-length output of a one-way function; the same input always gives the same hash and it cannot be reversed. Used to check integrity and store passwords (with a salt).
- Example: 'If the file changes, the hash changes.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Digital signature**  *(term)*

- Definition: A hash of a message encrypted with the sender's private key; the receiver checks it with the public key to confirm who sent it and that it was not changed.
- Example: 'A signed update proves it came from the vendor.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Authentication and authorisation (web)**  *(term)*

- Definition: Authentication proves who you are; authorisation decides what you can access.
- Example: See the Secure Software Architecture cards.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2025 HSC Q6 (1 mark): Web protocols

### Big data and web architecture

**Big data**  *(term)*

- Definition: Very large, fast-changing and varied sets of data that need special storage and processing, such as streaming or social media data.
- Example: 'Streaming services handle huge volumes of viewing data.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q18 (3 marks): Big data and web architecture

**Data mining**  *(term)*

- Definition: Analysing large data sets to find patterns, trends and relationships (for example recommending shows).
- Example: 'Mine viewing history to predict demand.'
- Where you would use it in the test:
  - Short answer: Explain how metadata and data mining relate (2025 Q18)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q18 (3 marks): Big data and web architecture

**Metadata**  *(term)*

- Definition: Data about data, such as file size, format, bitrate, date, device or location; it describes and organises other data.
- Example: 2025 Q18 marker note: link metadata and data mining together and aim at preventing technical issues.
- Where you would use it in the test:
  - Short answer: Explain metadata and data mining for a streaming service (2025 Q18)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q18 (3 marks): Big data and web architecture

**Streaming service management**  *(term)*

- Definition: Managing the delivery of live or on-demand media: buffering, adapting quality to bandwidth, servers and caching near users, and monitoring performance.
- Example: 'Lower the video quality when bandwidth drops.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q18 (3 marks): Big data and web architecture

### Designing web applications

**World Wide Web Consortium (W3C)**  *(term)*

- Definition: The international organisation that develops open web standards (HTML, CSS, accessibility, internationalisation, security, privacy and machine-readable data).
- Example: 'W3C standards keep sites working across browsers.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Web Accessibility Initiative (WAI)**  *(term)*

- Definition: The W3C group that creates guidelines (WCAG) so people with disability can use the web, for example alt text, contrast and keyboard navigation.
- Example: 'Add alt text to images.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Client-side (front-end) programming**  *(term)*

- Definition: Code that runs in the user's browser (HTML, CSS, JavaScript) and controls what the user sees and how they interact.
- Example: 'JavaScript validates a form in the browser.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Server-side (back-end) programming**  *(term)*

- Definition: Code that runs on the server (Python, PHP, Node) to process requests, access databases, apply business rules and keep data secure.
- Example: 2025 Q23b marker note: identify features of server-side programming, use the stimulus, and link back end to front end.
- Where you would use it in the test:
  - Short answer: Explain why server-side programming is needed (2025 Q23b)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q23b (3 marks): Server-side web programming

**SQL and non-SQL databases**  *(term)*

- Definition: SQL databases store data in related tables queried with Structured Query Language; non-SQL (NoSQL) databases store data as documents, key-value pairs or graphs.
- Example: 'Use NoSQL for flexible, unstructured data.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q9 (1 mark): ORM and SQL

**Web browser and developer (dev) tools**  *(term)*

- Definition: A browser renders HTML, CSS and JavaScript. Dev tools let developers inspect elements, view the console, network requests and performance, and debug.
- Example: 'Use the network tab to find slow requests.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q10 (4 marks): Load time

**Cascading style sheets (CSS)**  *(term)*

- Definition: Style rules that control the appearance of web pages, kept separate from HTML. Benefits: consistent appearance, flexibility across browsers and display devices, and easier maintenance.
- Example: 'One CSS file changes the font on every page.'
- Where you would use it in the test:
  - Short answer: Outline benefits of CSS (sample Q16b)
  - Code reading: Read CSS and pick the result (2025 Q7, sample Q16a)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q7 (1 mark): CSS code fragment; Sample exam Q16a (1 mark): CSS (id v class); Sample exam Q16b (2 marks): CSS benefits

**CSS selectors (id v class)**  *(code)*

- Definition: A class selector (.name) styles many elements; an id selector (#name) styles one unique element.
- Example: '.button { color: white } styles every element with class button.'
- Where you would use it in the test:
  - Code reading: 2025 Q7 and sample Q16a: read a CSS fragment
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q7 (1 mark): CSS code fragment; Sample exam Q16a (1 mark): CSS (id v class)

**CSS maintenance tools**  *(term)*

- Definition: Tools that help organise and update CSS, such as preprocessors, linters and frameworks, so styles stay consistent and easy to change.
- Example: 'Use variables for brand colours.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Code libraries and frameworks (front end)**  *(term)*

- Definition: Reusable code: frameworks control complex web applications (React, Angular, Vue), template engines generate HTML from data, and predesigned CSS classes (Bootstrap) speed up styling.
- Example: 'A framework saves writing page structure from scratch.'
- Where you would use it in the test:
  - Multiple choice: Sample Q6 front-end frameworks
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q6 (1 mark): Front-end frameworks

**Open-source software**  *(term)*

- Definition: Software whose source code is freely available to use, modify and share under a licence, supporting reuse and community improvement.
- Example: 'Use an open-source framework to save time.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Version control (web)**  *(term)*

- Definition: Recording changes to files so you can see history, work in branches, merge and roll back; essential when several developers build a web app.
- Example: 'Git branches let front-end and back-end work separately.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Load times**  *(term)*

- Definition: How long a page takes to appear. Slow pages lose users. Ways to minimise: minification, image optimisation, lazy loading, caching, a content delivery network (CDN), async or deferred scripts.
- Example: 2025 Q16b marker note: give ways to MINIMISE load times, not ways to investigate them.
- Where you would use it in the test:
  - Short answer: Outline TWO ways to minimise load time (2025 Q16b, fam Q10)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q16b (3 marks): Load times; Familiarisation Q10 (4 marks): Load time

**Minification**  *(term)*

- Definition: Removing unnecessary characters (spaces, comments) from HTML, CSS and JavaScript to shrink the files.
- Example: 'Minify the CSS to cut load time.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q16b (3 marks): Load times

**Lazy loading**  *(term)*

- Definition: Loading images or media only when they are about to be seen, so the first page loads faster.
- Example: 'Only load images as the user scrolls.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q16b (3 marks): Load times; Familiarisation Q10 (4 marks): Load time

**Caching**  *(term)*

- Definition: Storing copies of data or files locally or on a server so they do not have to be fetched again.
- Example: 'Cache commonly requested weather data.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q16b (3 marks): Load times; Familiarisation Q10 (4 marks): Load time

**Content delivery network (CDN)**  *(term)*

- Definition: A network of servers around the world that stores copies of files so users download from a nearby server.
- Example: 'A CDN reduces latency.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Familiarisation Q10 (4 marks): Load time

**Web content management system (CMS)**  *(term)*

- Definition: Software that lets people create and manage website content without coding (WordPress, Drupal). Its prevalence is high because it saves time, but it needs updates and security care.
- Example: 'A CMS lets staff edit pages without a developer.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Contribution of back-end development**  *(term)*

- Definition: The back end drives a web app's success through data storage, business logic, security, performance and reliability.
- Example: 'The back end validates payments securely.'
- Where you would use it in the test:
  - Short answer: Assess the contribution of back-end web development
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q23b (3 marks): Server-side web programming

**Back-end process for a web request**  *(process)*

- Definition: Browser sends a request; web server software receives it; the web framework routes it to code; libraries and objects process it; the database is queried; a response (HTML or JSON) is returned.
- Example: 'Request, web server, framework, database, response.'
- Where you would use it in the test:
  - Drag into order: Order the steps of a web request
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q23b (3 marks): Server-side web programming

**Web server software**  *(term)*

- Definition: Software that listens for HTTP or HTTPS requests, serves files or passes requests to the application and returns responses with status codes (Apache, Nginx).
- Example: '404 means not found.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Web framework**  *(term)*

- Definition: A toolkit that supplies structure for routing URLs to functions, handling requests, templates and database access (Flask, Django).
- Example: 'Flask routes /login to a function.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Collaboration of front-end and back-end developers**  *(term)*

- Definition: Sharing agreed interfaces (APIs), version control and regular communication so the two parts fit together and the solution is built faster with fewer errors.
- Example: 'Agree the JSON format first.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q23b (3 marks): Server-side web programming

### Shell scripts, SQL and ORM

**Shell commands (mkdir, cd, touch, cp, rm, cat, grep)**  *(code)*

- Definition: Command line tools used in scripts: mkdir makes a directory, cd changes directory, touch creates a file, cp copies, rm removes, cat shows file contents, grep searches a text file for a pattern.
- Example: 'grep "error" log.txt searches log.txt.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**SQL SELECT**  *(code)*

- Definition: Chooses the fields (columns) to return from a table: SELECT name, mark FROM students; SELECT * returns all columns.
- Example: 'SELECT FirstName FROM Customer;'
- Where you would use it in the test:
  - SQL: Select fields
  - Fill in the blanks: Complete the query (sample Q22a)
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q17 (3 marks): SQL (join, filter, order); Familiarisation Q12a (2 marks): SQL

**SQL WHERE**  *(code)*

- Definition: Filters rows using conditions (=, <>, >, <, AND, OR). Text values need quotes. 2025 marker note: use quotes around searched text and combine conditions with AND or OR.
- Example: "WHERE Suburb = 'Parramatta' AND Age > 18"
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q17 (3 marks): SQL (join, filter, order); Familiarisation Q12b (3 marks): SQL (joins, AS)

**SQL ORDER BY**  *(code)*

- Definition: Sorts results by a field, ascending (ASC, the default) or descending (DESC).
- Example: 'ORDER BY mark DESC'
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q17 (3 marks): SQL (join, filter, order)

**SQL GROUP BY**  *(code)*

- Definition: Groups rows that share a value so aggregate functions (COUNT, SUM, AVG, MIN, MAX) can be applied to each group.
- Example: 'SELECT class, COUNT(*) FROM students GROUP BY class;'
- Where you would use it in the test:
  - SQL: 2025 Q21 and sample Q22a
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q22a (2 marks): SQL (GROUP BY)

**SQL aggregate functions (COUNT, SUM, AVG)**  *(code)*

- Definition: Functions that calculate one value from many rows: COUNT (number), SUM (total), AVG (mean), MIN and MAX.
- Example: 'SELECT AVG(mark) FROM results;'
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q22a (2 marks): SQL (GROUP BY)

**SQL JOIN**  *(code)*

- Definition: Combines rows from two or more tables by matching a primary key to a foreign key (INNER JOIN ... ON a.id = b.id).
- Example: 'FROM Student JOIN Class ON Student.ClassID = Class.ClassID'
- Where you would use it in the test:
  - SQL: Join tables (familiarisation Q12b, sample Q17)
  - Multi-select: fam Q2
  - Matching or table: ORM v SQL (2025 Q9)
- Seen in: Familiarisation Q12b (3 marks): SQL (joins, AS); Sample exam Q17 (3 marks): SQL (join, filter, order); 2025 HSC Q9 (1 mark): ORM and SQL; Familiarisation Q2 (3 marks): SQL

**SQL alias (AS)**  *(code)*

- Definition: Gives a table or column a temporary name to make queries shorter and clearer: SELECT s.name AS student FROM Student AS s.
- Example: 'FROM Student AS s JOIN Class AS c'
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: Familiarisation Q12b (3 marks): SQL (joins, AS)
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**SQL constraints**  *(code)*

- Definition: Rules on the data: PRIMARY KEY (unique identifier), FOREIGN KEY (links tables), NOT NULL and UNIQUE; in queries, constraints on results are set with WHERE.
- Example: 'Primary key uniquely identifies each row.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q15a (3 marks): Data dictionary

**Primary key and foreign key**  *(code)*

- Definition: A primary key uniquely identifies each record in a table; a foreign key is a field that holds another table's primary key to link the tables.
- Example: 'ClassID is the primary key of Class and a foreign key in Student.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
  - Drawing: ERD
  - SQL: SQL question: write or read it in the SQL query tool.
- Seen in: Familiarisation Q12b (3 marks): SQL (joins, AS); 2025 HSC Q15a (3 marks): Data dictionary

**Object-relational mapping (ORM)**  *(code)*

- Definition: A technique that lets you read and write database tables as objects in your programming language instead of writing SQL. Code is focused on object manipulation.
- Example: 2025 Q9 answer: object manipulation = ORM; tables can be joined = ORM and SQL; programmers can choose the language used to access the database = ORM.
- Where you would use it in the test:
  - Matching or table: 2025 Q9: match each characteristic to ORM, SQL or both
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Compare ORM with SQL
- Seen in: 2025 HSC Q9 (1 mark): ORM and SQL

**Service worker**  *(code)*

- Definition: A background script in a PWA that caches files and intercepts network requests so the app works offline.
- Example: 'Cache the app shell so it loads without internet.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q16a (3 marks): Progressive web apps

**Web app manifest**  *(code)*

- Definition: A JSON file giving a PWA its name, icons and display mode so it can be installed on a device.
- Example: '"name": "Study", "display": "standalone"'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q16a (3 marks): Progressive web apps

**CRUD**  *(code)*

- Definition: Create, Read, Update, Delete: the four basic database operations (INSERT, SELECT, UPDATE, DELETE).
- Example: "UPDATE Student SET mark = 80 WHERE id = 3"
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - SQL: SQL question: write or read it in the SQL query tool.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- ⚠ Check: From the school notes, not named in the syllabus.

## Software Automation (Year 12)

### Machine learning and automation

**Machine learning (ML)**  *(term)*

- Definition: A branch of AI where a program learns patterns from data to make predictions or decisions without being explicitly programmed with fixed rules.
- Example: 'A spam filter learns from labelled emails.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q15 (3 marks): Machine learning in data analysis; Familiarisation Q14 (8 marks): AI and ML in society; privacy

**Artificial intelligence (AI)**  *(term)*

- Definition: The broad field of making computers perform tasks that normally need human intelligence (reasoning, understanding language, recognising images). ML is one way of achieving AI.
- Example: 'All ML is AI but not all AI is ML.'
- Where you would use it in the test:
  - Short answer: Distinguish AI from ML or neural networks (2025 Q25)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant); Familiarisation Q14 (8 marks): AI and ML in society; privacy

**Distinguishing AI and ML**  *(term)*

- Definition: AI is the goal of intelligent behaviour; ML is the method of learning from data. A neural network is one ML model.
- Example: 2025 Q25 marker note: state a clear difference between neural networks and AI rather than describing each separately.
- Where you would use it in the test:
  - Short answer: Distinguish
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant)

**DevOps**  *(term)*

- Definition: A way of working that joins development (Dev) and operations (Ops) with automation, continuous integration and delivery, monitoring and collaboration so software is released faster and more reliably.
- Example: 'Automate testing and deployment in a pipeline.'
- Where you would use it in the test:
  - Multi-select: 2025 Q11: identify ALL the key principles of DevOps
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q11 (1 mark): DevOps; Sample exam Q25 (8 marks): ML, DevOps, RPA, BPA in security

**Robotic process automation (RPA)**  *(term)*

- Definition: Software 'bots' that copy the actions a person does on a computer (clicking, typing, copying data) to automate repetitive, rule-based tasks.
- Example: 'A bot copies invoice data into the accounting system.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: Sample exam Q25 (8 marks): ML, DevOps, RPA, BPA in security

**Business process automation (BPA)**  *(term)*

- Definition: Using software to automate a whole business process or workflow (for example approvals, payroll or order processing) to cut cost and errors.
- Example: 'Automatic approval of leave requests.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: Sample exam Q25 (8 marks): ML, DevOps, RPA, BPA in security

### Training models

**Supervised learning**  *(term)*

- Definition: Training on labelled data (inputs paired with correct outputs) so the model can predict the label for new data.
- Example: 'Photos labelled cat or dog train an image classifier.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q3
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q3 (1 mark): Machine learning training

**Unsupervised learning**  *(term)*

- Definition: Training on unlabelled data so the model finds patterns or groups (clusters) by itself.
- Example: 'Group customers by buying habits.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q3 (1 mark): Machine learning training

**Semi-supervised learning**  *(term)*

- Definition: Training with a small amount of labelled data and a large amount of unlabelled data.
- Example: 'Label a few images, let the model help label the rest.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q3 (1 mark): Machine learning training

**Reinforcement learning**  *(term)*

- Definition: The model learns by trial and error, receiving rewards or penalties for its actions in an environment, to maximise reward.
- Example: 'A robot learns to walk by being rewarded.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q3 (1 mark): Machine learning training

**Training data and test data**  *(term)*

- Definition: Training data is used to teach the model; separate test data checks how well it works on data it has not seen.
- Example: 'Hold back 20% of the data for testing.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q23b (3 marks): Linear regression v K-nearest neighbour
- ⚠ Check: Standard ML practice; check the exact wording against your class notes.

### Applications of ML

**Data analysis and forecasting**  *(term)*

- Definition: ML finds trends in past data to predict future values (sales, weather, demand).
- Example: 'Forecast next month's electricity demand.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q15 (3 marks): Machine learning in data analysis

**Virtual personal assistant**  *(term)*

- Definition: Software (Siri, Alexa) that uses ML to understand speech or text and do tasks such as set reminders, improving as it learns.
- Example: 'A voice assistant learns your accent.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Image recognition**  *(term)*

- Definition: ML identifying objects, faces or text in images, usually with neural networks trained on many labelled images.
- Example: 'Detect faces in photos.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

### Designing and analysing ML models

**Decision tree**  *(diagram)*

- Definition: A flowchart-like model where each internal node tests a condition, branches are outcomes and leaves are decisions or predictions.
- Example: 'Is it raining? yes: take umbrella; no: next test.'
- Where you would use it in the test:
  - Drawing: Draw or complete a decision tree (sample Q20, fam Q7)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q20a (1 mark): Decision trees; Sample exam Q20b (3 marks): Decision trees; Familiarisation Q7a (1 mark): Decision trees; Familiarisation Q7b (3 marks): Decision trees

**Neural network**  *(term)*

- Definition: A model made of connected layers of nodes (neurons): an input layer, one or more hidden layers and an output layer; connection weights are adjusted during training.
- Example: 2025 Q25: a neural network is one technique within AI.
- Where you would use it in the test:
  - Short answer: Distinguish a neural network from AI (2025 Q25)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant)

**Linear regression**  *(term)*

- Definition: Fits a straight line through data to predict a numeric value from one or more inputs.
- Example: 'Predict house price from floor area.'
- Where you would use it in the test:
  - Short answer: Compare linear regression and KNN (sample Q23b)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: Sample exam Q23b (3 marks): Linear regression v K-nearest neighbour

**Polynomial regression**  *(term)*

- Definition: Fits a curve (a polynomial) to data where the relationship is not a straight line, to predict a numeric value.
- Example: 'Predict plant growth that speeds up then slows down.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Python: Python question: write or complete it in the online Python tool.

**Logistic regression**  *(term)*

- Definition: Predicts the probability of a category (yes or no) and so is used for classification, not for predicting a number.
- Example: 'Predict whether an email is spam.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q12: true or false statements
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q12 (2 marks): Logistic regression

**K-nearest neighbour (KNN)**  *(term)*

- Definition: Classifies a new item by looking at the K closest items in the training data and choosing the most common class among them.
- Example: 'With K = 3, the three nearest points vote.'
- Where you would use it in the test:
  - Short answer: Compare with linear regression (sample Q23b)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q23b (3 marks): Linear regression v K-nearest neighbour

**OOP for ML programming**  *(code)*

- Definition: ML models are written as classes: attributes hold data and weights, methods train, predict and evaluate.
- Example: 'model = LinearRegression(); model.fit(x, y); model.predict([[5]])'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Neural network code (predict)**  *(code)*

- Definition: Create the model object, train (fit) on training data, then call predict on new data to make predictions.
- Example: 'net.fit(X, y); net.predict(new)'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

### Significance and impact

**Impact of automation**  *(term)*

- Definition: Effects on safety of workers, people with disability, the nature and skills required for employment, production efficiency, waste and the environment, and the economy and distribution of wealth.
- Example: 2025 Q24 marker note: use the stimulus and give positives and negatives.
- Where you would use it in the test:
  - Short answer: Discuss the impact of automation on workers (2025 Q24)
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q24 (5 marks): Safety of workers (impact of automation); Sample exam Q25 (8 marks): ML, DevOps, RPA, BPA in security

**Safety of workers**  *(term)*

- Definition: Robots take over dangerous tasks (positive) but can cause injury or stress if poorly designed (negative).
- Example: 'Robots handle toxic chemicals.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q24 (5 marks): Safety of workers (impact of automation)

**People with disability**  *(term)*

- Definition: Automation can improve access (voice control, assistive devices) but can also exclude people if not designed accessibly.
- Example: 'Voice assistants help people with limited mobility.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q24 (5 marks): Safety of workers (impact of automation)

**Nature and skills of employment**  *(term)*

- Definition: Jobs change: routine roles shrink; demand grows for design, maintenance and data skills; retraining is needed.
- Example: 'Factory workers retrain as robot technicians.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q24 (5 marks): Safety of workers (impact of automation)

**Production efficiency, waste and the environment**  *(term)*

- Definition: Automation can increase output and reduce waste and errors but uses energy and creates electronic waste.
- Example: 'Precision machines reduce material waste.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Economy and distribution of wealth**  *(term)*

- Definition: Automation can lift productivity and profit but may concentrate wealth with owners and cut incomes of displaced workers.
- Example: 'Savings go to shareholders while jobs are lost.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Patterns in human behaviour**  *(term)*

- Definition: How people's behaviour affects ML and AI design: psychological responses, patterns related to acute stress response (fight, flight, freeze), cultural protocols and belief systems.
- Example: 'An alert system must not overload a person under stress.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Dataset source bias**  *(term)*

- Definition: Unfair results because the training data is unrepresentative or reflects past prejudice.
- Example: 'A face detector trained mostly on one group fails on others.'
- Where you would use it in the test:
  - Short answer: Explain bias in AI (2025 Q27, sample Q23a)
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q27 (6 marks): Bias in AI (human bias and data set source bias); Sample exam Q23a (3 marks): Bias in machine learning

**Human bias**  *(term)*

- Definition: Developers' own assumptions or prejudices influence design, data selection or labelling and so the outcomes.
- Example: 'Labellers' opinions shape the labels.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q27 (6 marks): Bias in AI (human bias and data set source bias); Sample exam Q23a (3 marks): Bias in machine learning

### MLOps

**MLOps**  *(term)*

- Definition: The automated process of designing, training and deploying ML models, borrowing the principles of DevOps. The three stages are Design, Model development and Operations.
- Example: 'Design, then model development, then operations.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Drag into order: Order the MLOps stages
- Seen in: 2025 HSC Q11 (1 mark): DevOps

**MLOps design stage**  *(term)*

- Definition: Define the business problem, refactor it into a machine learning problem, define success metrics and research the available data.
- Example: 'Success metric: 95% accuracy.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drag into order: Drag into order: know where it sits in the sequence.

**MLOps model development stage**  *(term)*

- Definition: Data wrangling, feature engineering, model training, and model testing and validation.
- Example: 'Clean the data, then train the model.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drag into order: Drag into order: know where it sits in the sequence.

**MLOps operations stage**  *(term)*

- Definition: Model deployment, supporting operations and use, and monitoring model performance.
- Example: 'Monitor the model for drift.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drag into order: Drag into order: know where it sits in the sequence.

**Neural network training and execution cycle**  *(term)*

- Definition: In the training cycle, weightings and threshold values for each node are set by exposing the network to inputs with known responses. In the execution cycle, those learned values are used to produce the output. Stronger weightings mean higher priority.
- Example: 'Training sets the weights; execution uses them.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant)

## The Software Engineering Project (Year 12)

### Identifying and defining

**Requirements**  *(term)*

- Definition: What the solution must do (functionality) and how well (performance), found by analysing the problem.
- Example: 'The app must show results within 2 seconds.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2022 Software Design and Development HSC Q25 (11 marks): Development approach, implementation, testing, quality of experience

**Need or opportunity**  *(term)*

- Definition: The reason for the project: a problem to fix or a chance to improve something.
- Example: 'Manual marking takes too long.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Feasibility**  *(term)*

- Definition: Whether the project can realistically be done: scheduling (time) and financial (cost) feasibility.
- Example: 'Can it be finished by term 4 within budget?'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Functionality and performance requirements**  *(term)*

- Definition: Functionality is what the software does; performance is how fast, how reliable, how much load.
- Example: 'Functional: calculate tax. Performance: respond within 1 second.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Boundaries**  *(term)*

- Definition: What is included in the solution and what is not (its scope).
- Example: 'The system covers booking, not payment.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Data structures and data types (defining)**  *(term)*

- Definition: Deciding which structures (array, record, list) and types (integer, string, Boolean) the solution will use.
- Example: 'Store each student as a record.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Brainstorming, mind-mapping and storyboards**  *(term)*

- Definition: Idea tools: brainstorming lists ideas freely, a mind map shows how ideas connect, a storyboard shows the screens or steps in order.
- Example: 'A storyboard of three app screens.'
- Where you would use it in the test:
  - Drawing: Draw a storyboard
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Data dictionary**  *(term)*

- Definition: A table listing each data item with its name, data type, size or format, description and validation rules.
- Example: 'Age | Integer | 0-120.'
- Where you would use it in the test:
  - Drawing: Complete a data dictionary
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Code generation**  *(term)*

- Definition: Writing the code from the design, using appropriate language structures.
- Example: 'Convert pseudocode to Python.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Installation**  *(term)*

- Definition: Putting the finished software into use in the client environment.
- Example: 'Install on all school computers.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Maintenance**  *(term)*

- Definition: Updating the software after release to fix errors, add features or adapt to change.
- Example: 'Release a patch for a security bug.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

### Implementation methods

**Direct implementation**  *(term)*

- Definition: The old system stops and the new one starts straight away; cheap and fast but risky.
- Example: 'Switch off the old system on Friday and use the new one Monday.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q1 (pilot)
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Compare implementation methods (sample Q5)
- Seen in: 2025 HSC Q1 (1 mark): Implementation methods; Sample exam Q5 (1 mark): Implementation methods

**Phased implementation**  *(term)*

- Definition: The new system is introduced in stages (one module or area at a time).
- Example: 'Roll out the new timetable first, then attendance.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q1 (1 mark): Implementation methods; Sample exam Q5 (1 mark): Implementation methods

**Parallel implementation**  *(term)*

- Definition: The old and new systems run side by side until the new one is trusted; safe but costly.
- Example: 'Run both payroll systems for a month.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q1 (1 mark): Implementation methods; Sample exam Q5 (1 mark): Implementation methods

**Pilot implementation**  *(term)*

- Definition: The new system is trialled by a small group or one location first, then rolled out to everyone.
- Example: 'One branch tries the new system first.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q1: pilot
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q1 (1 mark): Implementation methods; Sample exam Q5 (1 mark): Implementation methods

### Development approaches

**Waterfall approach**  *(term)*

- Definition: A linear approach where each stage (requirements, design, development, testing, installation, maintenance) is finished before the next starts, like falling water. Advantages: clear structure and documentation. Disadvantages: hard to change, late testing. Suits large, well-defined projects.
- Example: 'Fixed requirements and a big government system suit Waterfall.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q2 dropdown
  - Short answer: Compare Waterfall and Agile
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches

**Agile approach**  *(term)*

- Definition: An iterative approach that builds the software in short cycles (sprints), delivering working versions often and adapting to feedback; method tailoring is allowed. Suits changing requirements and small to medium projects.
- Example: 'Release a working feature every two weeks.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q2 dropdown
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches

**WAgile**  *(term)*

- Definition: A hybrid of Waterfall and Agile: for example, Waterfall planning and Agile development. The analysis considers when and how intervention is applied across the life cycle.
- Example: 'Fixed budget and scope from Waterfall, Agile sprints for building.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches

**Iteration workflow**  *(term)*

- Definition: The repeated cycle of plan, build, test and review in Agile; each iteration improves the product.
- Example: 'Each sprint ends with a demo and feedback.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches

### Planning and managing

**Project management**  *(term)*

- Definition: Planning, scheduling, tracking and controlling the work, time, people and resources to deliver the project.
- Example: 'Use a tool to track tasks and deadlines.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Gantt chart**  *(diagram)*

- Definition: A bar chart showing tasks against time, with start and end dates, duration and dependencies; used to schedule and track a project.
- Example: 'Testing cannot start until coding finishes.'
- Where you would use it in the test:
  - Drawing: Draw or read a Gantt chart
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Collaboration tools**  *(term)*

- Definition: Tools that help teams work together, such as messaging, shared documents, task boards and version control.
- Example: 'A shared task board tracks who does what.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Social and ethical issues in project work**  *(term)*

- Definition: Issues from working individually, collaboratively and responding to stakeholders: fair workload, respecting people's views, honesty and credit.
- Example: 'Give credit for each member's code.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Communication issues**  *(term)*

- Definition: Involving and empowering the client, enabling feedback and negotiating.
- Example: 'Show the client a prototype for feedback.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Quality assurance (QA)**  *(term)*

- Definition: Defining quality criteria, checking continually that requirements are met, and addressing compliance and legislative requirements.
- Example: 'Define criteria such as speed and accuracy.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2023 Software Design and Development HSC Q26 (9 marks): Code reading, maintainability and testing

**Modelling tools**  *(term)*

- Definition: Diagrams that show structure, data or behaviour of a solution: DFDs, structure charts, class diagrams, ERDs, decision trees, storyboards and flowcharts.
- Example: 'A DFD models the flow of data.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Back-end engineering contribution**  *(term)*

- Definition: Back-end engineering helps success and ease of development through the technology used, error handling, interfacing with the front end and security engineering.
- Example: 'A well-defined API makes front-end work easier.'
- Where you would use it in the test:
  - Short answer: Explain the contribution of back-end engineering
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q23b (3 marks): Server-side web programming

### Producing and implementing

**Resource allocation**  *(term)*

- Definition: Assigning people, time, hardware, software and money to the tasks that need them.
- Example: 'Allocate two developers to the database.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Presenting a solution**  *(term)*

- Definition: Using presentation software to show the solution, its features, testing and evaluation to stakeholders.
- Example: 'Slides demo the working prototype.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Version control (project)**  *(term)*

- Definition: Keeping a history of file versions so changes can be tracked and undone and several people work together with branches and merges.
- Example: 'Commit after each feature.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q4 (1 mark): Collaboration

**Strategies for difficulties**  *(term)*

- Definition: Looking for a solution online, collaborating with peers and outsourcing.
- Example: 'Ask a classmate or search documentation.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Prototype**  *(term)*

- Definition: An early working model of the solution used to test ideas and gather feedback before final development.
- Example: 'A clickable mock-up of the app.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drawing: User interface sketch
- Seen in: Familiarisation Q9a (3 marks): Prototype and user interface design

**User interface (UI) design**  *(diagram)*

- Definition: Planning the screens and controls users interact with, so they are clear, consistent and accessible.
- Example: 'Large buttons, clear labels, good contrast.'
- Where you would use it in the test:
  - Drawing: Draw a UI (familiarisation Q9a)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Familiarisation Q9a (3 marks): Prototype and user interface design

### Testing and evaluating

**Testing methodologies**  *(term)*

- Definition: Ways of checking code: unit, integration and system testing, using black box and white box approaches.
- Example: 'Test each subroutine on its own first.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q11 (3 marks): Testing (test data)

**Language-dependent code optimisation**  *(term)*

- Definition: Improving code efficiency using features of the chosen language (list comprehensions, built-in functions, efficient data structures).
- Example: 'In Python, use a list comprehension instead of a loop.'
- Where you would use it in the test:
  - Multiple choice: 2025 Q4
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q4 (1 mark): Optimisation

**Feedback**  *(term)*

- Definition: Information from users and stakeholders about how the software works, used to improve it.
- Example: 'Survey users after the trial.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Test plan**  *(term)*

- Definition: A document listing test cases, test data, expected output and results.
- Example: 'Test 1: age = 17, expected output: Accepted.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Drawing: Table of test data
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q11 (3 marks): Testing (test data); Familiarisation Q5 (3 marks): Testing (test data)

**Path and boundary testing**  *(term)*

- Definition: Testing every route through the code (path) and values at the edges of valid ranges (boundary: just inside, on and just outside).
- Example: 'Valid range 1-10: test 0, 1, 10, 11.'
- Where you would use it in the test:
  - Short answer: Give test data (sample Q11, fam Q5)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: Sample exam Q11 (3 marks): Testing (test data); Familiarisation Q5 (3 marks): Testing (test data)

**Actual v expected output**  *(term)*

- Definition: Comparing the output the program produced with the output expected; a difference shows an error.
- Example: 'Expected 15, actual 12: logic error.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Drawing: Drawing question: draw or label it in the online drawing tool.
- Seen in: Sample exam Q11 (3 marks): Testing (test data)

**Feedback report**  *(term)*

- Definition: A report that synthesises (combines) feedback from users and testing so improvements can be decided.
- Example: 'A summary table of user comments.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Evaluating effectiveness**  *(term)*

- Definition: Judging how well the solution meets its requirements using test results, feedback and criteria.
- Example: 'Did the solution meet the speed requirement?'
- Where you would use it in the test:
  - Extended response: Evaluate (extended response)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

### Testing methods and maintenance

**Functional testing**  *(term)*

- Definition: Checking that each function of the software does what the requirements say.
- Example: 'Click Add to cart and check the item appears.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q11 (3 marks): Testing (test data)

**Acceptance testing**  *(term)*

- Definition: The client or end users check that the finished system meets their needs before accepting it.
- Example: 'The school tests the timetable system before signing off.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q11 (3 marks): Testing (test data)

**Live data**  *(term)*

- Definition: Real data from the actual working environment used to test the system.
- Example: 'Test with real customer orders.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Simulated data**  *(term)*

- Definition: Made-up data that imitates real data, used to test safely without risking real information.
- Example: 'Generate 1000 fake customers.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Beta testing**  *(term)*

- Definition: Real users trial a near-final version of the software and report problems before the full release.
- Example: 'A public beta of a new app.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Volume testing**  *(term)*

- Definition: Testing the system with large amounts of data to see whether it still performs.
- Example: 'Load 1 million records and time the search.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Corrective maintenance**  *(term)*

- Definition: Fixing bugs and errors found after release.
- Example: 'Patch a crash on logout.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Adaptive maintenance**  *(term)*

- Definition: Changing software so it works in a new or changed environment (a new operating system or law).
- Example: 'Update the app for a new phone OS.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Perfective maintenance**  *(term)*

- Definition: Improving performance or adding features after release.
- Example: 'Make search faster.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Functional requirement**  *(term)*

- Definition: What the system must do (its functions), as opposed to how well it performs.
- Example: 'The system must calculate GST.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

**Driver (test driver)**  *(term)*

- Definition: Test code that calls the module under test, used with stubs (which stand in for modules the code calls) so a part can be tested before the rest exists.
- Example: 'A driver calls calculateTotal() with test values.'
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.

## Diagrams and Modelling Tools (Years 11 and 12)

### Data flow diagrams

**Data flow diagram (DFD)**  *(diagram)*

- Definition: A diagram that shows how data moves through a system between processes, data stores and external entities.
- Example: 'Voting system: voter, vote data, count.'
- Where you would use it in the test:
  - Drawing: Draw or complete a DFD
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues; 2024 Software Design and Development HSC Q25 (4 marks): Documentation

**DFD process (circle)**  *(diagram)*

- Definition: A circle is a process: it uses input(s) to generate output(s). Name it with a verb phrase.
- Example: 'Process: Validate login.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**DFD data store**  *(diagram)*

- Definition: A data store is an electronic file or non-computer storage (a filing cabinet), shown as an open rectangle or two parallel lines.
- Example: 'Data store: Students file.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues

**DFD external entity**  *(diagram)*

- Definition: A person, organisation or element that provides data to the system or receives data from it (shown as a rectangle).
- Example: 'External entity: Customer.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues

**DFD data flow (labelled arrow)**  *(diagram)*

- Definition: A labelled, curved arrow shows the flow of data between processes, data stores and external entities. Always label it with the data name.
- Example: 'Arrow labelled Order details.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues

**Level 0 DFD (context diagram)**  *(diagram)*

- Definition: An overview of the whole system as one process; it does not show data stores or internal processes, only external entities and data flows.
- Example: 'One circle: Library system with Member and Librarian.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues

**Level 1 DFD**  *(diagram)*

- Definition: Breaks the single process of the Level 0 diagram into its main processes and shows data stores and flows between them.
- Example: 'Process 1 Borrow book, process 2 Return book, data store Loans.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2024 Software Design and Development HSC Q24 (10 marks): Social and ethical issues
- ⚠ Check: The course specification gives the Level 0 diagram; Level 1 as a refinement is standard practice. Check how your teacher draws it.

### Structure charts

**Structure chart**  *(diagram)*

- Definition: Shows the separate subroutines that make up a system and their relationship to each other, top-down from the main routine.
- Example: 'Main calls Get Data, Process Data, Display Results.'
- Where you would use it in the test:
  - Drawing: Draw a structure chart (sample Q10, familiarisation Q4)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q10 (2 marks): Structure charts; Familiarisation Q4 (2 marks): Structure charts; 2023 Software Design and Development HSC Q27 (10 marks): User interface, structure chart, quality assurance; 2024 Software Design and Development HSC Q25 (4 marks): Documentation

**Structure chart data couple (empty circle)**  *(diagram)*

- Definition: An empty circle indicates data movement between subroutines (usually passed as parameters).
- Example: 'An arrow with an empty circle labelled mark.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: Sample exam Q10 (2 marks): Structure charts; Familiarisation Q4 (2 marks): Structure charts

**Structure chart flag (filled circle)**  *(diagram)*

- Definition: A filled circle indicates a flag or control variable passed between subroutines.
- Example: 'Filled circle labelled Found.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: Sample exam Q10 (2 marks): Structure charts; Familiarisation Q4 (2 marks): Structure charts

**Structure chart decision (diamond)**  *(diagram)*

- Definition: A small diamond where lines meet shows optional execution of a subroutine called as the result of a selection.
- Example: 'A report is not produced each time a book is returned.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: Sample exam Q10 (2 marks): Structure charts; Familiarisation Q4 (2 marks): Structure charts

**Structure chart repetition (curved arrow)**  *(diagram)*

- Definition: A curved arrow shows a subroutine or set of subroutines executed multiple times.
- Example: 'Curved arrow over Process Item.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: Sample exam Q10 (2 marks): Structure charts; Familiarisation Q4 (2 marks): Structure charts

**Refinement**  *(diagram)*

- Definition: Providing successively more detail as needed; a lower-level subroutine is shown in its own structure chart with the same name.
- Example: 'Expand Validate Input into its own chart.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Drawing: Drawing question: draw or label it in the online drawing tool.
- Seen in: Sample exam Q10 (2 marks): Structure charts

### Other diagrams and tables

**Class diagram**  *(diagram)*

- Definition: A visual representation of an object-oriented system: classes (name, attributes, methods) and the relationships between them.
- Example: 'Person with Student and Parent inheriting from it.'
- Where you would use it in the test:
  - Drawing: Draw a class diagram with inheritance (2025 Q22, sample Q24)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Class diagram inheritance and multiplicity**  *(diagram)*

- Definition: Inheritance is shown by an arrow from the subclass to the superclass. Multiplicity (1, 0..*, 1..*) shows how many objects can be related: a student studies 1 or more subjects; a subject has 0 or more students.
- Example: 'Student ---- 1..* Subject.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q24 (4 marks): Modelling tools (class diagram)

**Entity relationship diagram (ERD)**  *(diagram)*

- Definition: Shows the tables (entities) in a database, their attributes and the relationships between them (one-to-one, one-to-many, many-to-many) using primary and foreign keys.
- Example: 'Customer 1 to many Order.'
- Where you would use it in the test:
  - Drawing: Draw an ERD
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- ⚠ Check: Your school's drawing-questions page says the ERD is technically NOT in the syllabus (practice only); the course specification has no ERD symbols. Learn it as a low priority.

**Storyboard**  *(diagram)*

- Definition: Shows the screens of an interface and the links (navigation) between them.
- Example: 'Home page links to Menu and Contact pages.'
- Where you would use it in the test:
  - Drawing: Draw a storyboard
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2023 Software Design and Development HSC Q30 (3 marks): Algorithm design (menu)

**Decision tree (diagram)**  *(diagram)*

- Definition: Represents all possible combinations of decisions and their resulting actions. Each path leads to another decision or a final action.
- Example: 'If temperature > 25 then fan on.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: Sample exam Q20a (1 mark): Decision trees; Sample exam Q20b (3 marks): Decision trees; Familiarisation Q7a (1 mark): Decision trees; Familiarisation Q7b (3 marks): Decision trees

**Data dictionary (specification)**  *(diagram)*

- Definition: Describes every variable: name, data type, format for display, size in bytes, size for display, description, example and validation rules.
- Example: 'DOB | Date | YYYY/MM/DD | 4 | 10 | birth date | 1953/10/05 | valid date before today.'
- Where you would use it in the test:
  - Drawing: Complete a data dictionary (2025 Q15a)
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q15a (3 marks): Data dictionary; 2024 Software Design and Development HSC Q22 (11 marks): Documentation, data dictionary, testing (shopkeeper website); 2024 Software Design and Development HSC Q25 (4 marks): Documentation

**Gantt chart (specification)**  *(diagram)*

- Definition: Shows tasks on an estimated timeline with self-explanatory names, estimated time, dependent tasks, dates and milestones; can allocate resources and show percentage completion, and is updated with actual v estimated times.
- Example: 'Design (1 wk) then Build (2 wk), dependent on Design.'
- Where you would use it in the test:
  - Drawing: Draw or read a Gantt chart
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2022 Software Design and Development HSC Q27 (10 marks): Modelling and design (IPO, data structure, Gantt); 2024 Software Design and Development HSC Q25 (4 marks): Documentation

**Process diary (log book)**  *(diagram)*

- Definition: Documents progress with regular entries: date, person, progress since last entry, tasks achieved, issues and how managed, upcoming approaches, reflective comments and resources used.
- Example: 'Entry: 12 Mar, Sam, finished login, issue: bug fixed with debugger.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Wiring diagram**  *(diagram)*

- Definition: Uses standard symbols (resistor, capacitor, diode, LED, switch, motor, speaker, voltage source) to show how mechatronic components are connected; label any extra components.
- Example: 'A battery, switch and LED in series.'
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Flowchart**  *(diagram)*

- Definition: Represents an algorithm with standard symbols connected by lines with arrowheads, read top to bottom and left to right, using only the standard control structures. Label arrows leaving a decision (Yes or No).
- Example: 'Diamond: age >= 18? Yes: Display Adult.'
- Where you would use it in the test:
  - Drawing: Draw a flowchart
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2021 Software Design and Development HSC Q22 (3 marks): Testing (live test data)

**Mainline and subroutines (algorithms)**  *(diagram)*

- Definition: Start complex algorithms with a clear, uncluttered mainline that calls subroutines; the details of each subroutine are in separate algorithms.
- Example: 'BEGIN Main: GetData, Process, Display END.'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Sample exam Q14 (3 marks): Algorithm design (subroutines)

## Code Patterns: Pseudocode, Python, SQL, CSS (Years 11 and 12)

### HSC pseudocode

**Pseudocode keywords**  *(code)*

- Definition: Keywords are in capitals; structural elements come in pairs (BEGIN/END, IF/ENDIF, WHILE/ENDWHILE); indent to show control structures.
- Example: 'IF mark >= 50 THEN ... ENDIF'
- Where you would use it in the test:
  - Pseudocode: Write pseudocode (2025 Q17)
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design; Sample exam Q7 (1 mark): Python to pseudocode; Sample exam Q14 (3 marks): Algorithm design (subroutines); Familiarisation Q8 (3 marks): Algorithm design (linear search)

**Sequence**  *(code)*

- Definition: Steps executed one after another in the order written.
- Example: 'GET a; GET b; total = a + b'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Drawing: Drawing question: draw or label it in the online drawing tool.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design

**Binary selection (IF THEN ELSE)**  *(code)*

- Definition: IF condition THEN process ELSE other process ENDIF: one of two paths is taken.
- Example: 'IF age >= 18 THEN DISPLAY "Adult" ELSE DISPLAY "Minor" ENDIF'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Drawing: Drawing question: draw or label it in the online drawing tool.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design

**Multi-way selection (CASEWHERE)**  *(code)*

- Definition: CASEWHERE expression evaluates to choice a: ... OTHERWISE: default END CASE; only one process runs.
- Example: 'CASEWHERE grade evaluates to "A": ... OTHERWISE: ...'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Drawing: Drawing question: draw or label it in the online drawing tool.

**Nested IF**  *(code)*

- Definition: An IF inside the ELSE of another IF to test several conditions where only one process runs.
- Example: 'IF a THEN ... ELSE IF b THEN ... ELSE ... ENDIF ENDIF'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design

**WHILE loop (pre-test)**  *(code)*

- Definition: WHILE condition is true ... ENDWHILE: the condition is tested before each loop, so the body may never run.
- Example: 'WHILE count < 5 ... ENDWHILE'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Python: Python while
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design; Sample exam Q9 (2 marks): Algorithm design (guessing game)

**REPEAT UNTIL loop (post-test)**  *(code)*

- Definition: REPEAT ... UNTIL condition is true: the body runs at least once, then the condition is tested.
- Example: 'REPEAT GET guess UNTIL guess = answer'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: Sample exam Q9 (2 marks): Algorithm design (guessing game)

**FOR / NEXT loop (counted)**  *(code)*

- Definition: FOR variable = start TO finish STEP increment ... NEXT variable; used when the number of repeats is known.
- Example: 'FOR i = 1 TO 5 ... NEXT i'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design
- ⚠ Check: Not found word-for-word in the supplied syllabus, specifications, marking guidelines or notes; the definition is standard computing knowledge, so check it against your class notes.

**Subroutine and function (pseudocode)**  *(code)*

- Definition: BEGIN name (parameters) ... END name. A function returns a single value with RETURN.
- Example: 'BEGIN Add (x, y) total = x + y RETURN total END Add'
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: Sample exam Q14 (3 marks): Algorithm design (subroutines)

**Array sum pattern**  *(code)*

- Definition: Set total to 0, loop through every item adding it to the total, then display the total (initialise, loop, accumulate, output).
- Example: 'total = 0; FOR each item: total = total + item'
- Where you would use it in the test:
  - Pseudocode: Write algorithm (2025 Q17)
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design
- ⚠ Check: A coding pattern from the exam solution style, not a syllabus term.

**Linear search pattern**  *(code)*

- Definition: Check each item in order until found or the end is reached; set a Found flag, loop through and stop on a match.
- Example: 'found = False; for i in list: if i == target: found = True'
- Where you would use it in the test:
  - Pseudocode: Linear search (familiarisation Q8)
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: Familiarisation Q8 (3 marks): Algorithm design (linear search)

### Python

**Python input and output**  *(code)*

- Definition: input() reads text from the user as a string; print() displays output; convert with int() or float().
- Example: 'age = int(input("Age: "))'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python); Sample exam Q18b (3 marks): Developing secure code (Python input validation)

**Python selection (if elif else)**  *(code)*

- Definition: if condition: ... elif condition: ... else: ...; indentation matters (Q19 marker note: indentation).
- Example: 'if mark >= 50: print("Pass") else: print("Fail")'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Python for loop and range**  *(code)*

- Definition: for i in range(start, stop): repeats; stop is exclusive; also loops over lists and strings.
- Example: 'for i in range(1, 6): print(i)'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)

**Python while loop**  *(code)*

- Definition: while condition: ... repeats while True; make sure the condition changes.
- Example: 'while guess != answer: guess = int(input())'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: Sample exam Q9 (2 marks): Algorithm design (guessing game)

**Python strings and slicing**  *(code)*

- Definition: Strings are sequences: len(s), s[0], s[-1], s[1:4], s.upper(), s.lower(), s.split(), s.strip(), and ord()/chr() for character codes.
- Example: 'word[0] is the first letter; word[-1] is the last.'
- Where you would use it in the test:
  - Python: String processing (2025 Q19)
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Python lists**  *(code)*

- Definition: A list stores ordered items: append(), remove(), len(), sorting with sort(), looping, and 2D lists as a list of lists.
- Example: 'grid = [[0]*3 for _ in range(3)]'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python); Familiarisation Q13 (6 marks): Python: lists, loops, selection; Sample exam Q21b (5 marks): Python: subroutines, lists, loops

**Python 2D list (grid)**  *(code)*

- Definition: A list of lists addressed as grid[row][column]; loop with nested for loops.
- Example: 'grid[1][2] = 5'
- Where you would use it in the test:
  - Python: Grid (2025 Q26, sample Q21)
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python); Sample exam Q21a (1 mark): 2D arrays (Python); Sample exam Q21b (5 marks): Python: subroutines, lists, loops

**Python random numbers**  *(code)*

- Definition: import random then random.randint(a, b) gives a whole number a to b inclusive; use a set or a check to avoid repeats.
- Example: 'n = random.randint(1, 50)'
- Where you would use it in the test:
  - Python: 2025 Q26 random grid
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)
- ⚠ Check: Library use is allowed under 'modules and libraries'; random.randint is a standard Python function.

**Python functions**  *(code)*

- Definition: def name(parameters): ... return value. Functions must be defined before they are called (2025 Q19 marker note: call functions after definition).
- Example: 'def area(w, h): return w * h'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python)

**Global and local variables**  *(code)*

- Definition: A local variable exists only inside its function; a global variable is declared outside and can be used throughout (use the global keyword to change it inside a function).
- Example: 'count = 0 (global); def add(): global count'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Python file handling**  *(code)*

- Definition: open(filename, mode) with modes r (read), w (write, overwrites), a (append); use with to close the file automatically; read(), readline(), write().
- Example: 'with open("data.txt") as f: lines = f.readlines()'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

**Python modules and libraries**  *(code)*

- Definition: import a module to use its functions: import random, import math, from sklearn.linear_model import LinearRegression.
- Example: 'import math'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

**Python classes and objects**  *(code)*

- Definition: class Name: with __init__(self, ...) to set attributes; methods have self; create objects with Name(...); inheritance with class Child(Parent):.
- Example: 'class Dog(Animal): def speak(self): return "Woof"'
- Where you would use it in the test:
  - Python: Write a class
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools

**Python validation function pattern**  *(code)*

- Definition: Loop until the input is valid, using try/except for the conversion and if for range checks.
- Example: 'while True: try: n = int(input()) ... except ValueError: ...'
- Where you would use it in the test:
  - Python: Input validation (sample Q18b, fam Q9b)
- Seen in: Sample exam Q18b (3 marks): Developing secure code (Python input validation); Familiarisation Q9b (3 marks): Developing secure code (Python input validation)

**Python try / except**  *(code)*

- Definition: try: risky code except ValueError: handle the error; keeps the program running with a helpful message.
- Example: 'except ValueError: print("Numbers only")'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: Sample exam Q18b (3 marks): Developing secure code (Python input validation)

**Python sqlite3 parameterised query**  *(code)*

- Definition: Use ? placeholders and pass values separately, never join user text into the SQL string, to stop SQL injection.
- Example: 'cur.execute("SELECT * FROM user WHERE name = ?", (name,))'
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- ⚠ Check: Parameterised queries are standard secure practice (defensive input handling); the syllabus does not name sqlite3.

**Python file and ML code reading (scikit-learn)**  *(code)*

- Definition: Know how to read: import, create the model, fit (train), predict.
- Example: 'model.fit(x, y); model.predict([[4]])'
- Where you would use it in the test:
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Python: Python question: write or complete it in the online Python tool.

### SQL and CSS syntax

**SQL statement structure**  *(code)*

- Definition: SELECT fields FROM table WHERE criteria GROUP BY field ORDER BY field ASC or DESC; keyword AS renames a field for display.
- Example: 'SELECT Name FROM Games WHERE Cost > 20 ORDER BY Name ASC'
- Where you would use it in the test:
  - SQL: Write a query (2025 Q21)
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multi-select: Familiarisation Q2
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q17 (3 marks): SQL (join, filter, order); Familiarisation Q12a (2 marks): SQL; Familiarisation Q12b (3 marks): SQL (joins, AS)

**SQL relational and logical operators**  *(code)*

- Definition: Relational operators: CONTAINS, DOES NOT CONTAIN, EQUALS, NOT EQUAL TO, GREATER THAN (OR EQUAL TO), LESS THAN (OR EQUAL TO). Logical operators: AND, OR, NOT. Put text and dates in quotes.
- Example: "WHERE Name CONTAINS 'war' AND Cost < 50"
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries

**SQL calculated aggregate with GROUP BY**  *(code)*

- Definition: SELECT Developer, SUM(Cost) AS Totalcost FROM Games GROUP BY Developer ORDER BY Developer DESC.
- Example: 'SUM (Games.cost) AS Totalcost'
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; Sample exam Q22a (2 marks): SQL (GROUP BY)

**CSS rule syntax**  *(code)*

- Definition: selector { property: value; } with comments in /* */. h1 targets an element, #welcome targets an id, .red-text targets a class.
- Example: '.red-text { color: red; }'
- Where you would use it in the test:
  - Code reading: Read CSS (2025 Q7)
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q7 (1 mark): CSS code fragment; Sample exam Q16a (1 mark): CSS (id v class)

**XSS JavaScript fragment reading**  *(code)*

- Definition: Be able to read a short JavaScript fragment and spot where untrusted input is inserted into a page without sanitising.
- Example: 'element.innerHTML = userInput is unsafe.'
- Where you would use it in the test:
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: Familiarisation Q11a (1 mark): Cross-site scripting; Familiarisation Q11b (2 marks): Cross-site scripting

**Shell script pattern**  *(code)*

- Definition: A script is a text file of commands run in order, e.g. mkdir site, cd site, touch index.html, cp, rm, cat, grep.
- Example: 'mkdir site && cd site && touch index.html'
- Where you would use it in the test:
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

## Command Words and Question-type Skills

### NESA command words

**Identify**  *(command)*

- Definition: Recognise and name.
- Example: 'Identify one cause of a logic error.' Answer: one word or phrase (1 mark).
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2025 HSC Q15b (3 marks): Testing and debugging

**Outline**  *(command)*

- Definition: Sketch in general terms; indicate the main features of.
- Example: 'Outline two ways to minimise load time.' Answer: short statement per point, no deep detail.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q16b (3 marks): Load times; 2025 HSC Q23a (3 marks): Social and ethical issues

**Describe**  *(command)*

- Definition: Provide characteristics and features.
- Example: 'Describe privacy by design.' Answer: what it is and what it does, with a detail or example.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q16c (3 marks): Privacy by design; 2025 HSC Q20 (3 marks): Session management

**Distinguish**  *(command)*

- Definition: Note differences between things.
- Example: 'Distinguish neural networks from AI.' Answer: name both and say what is different.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant)

**Compare**  *(command)*

- Definition: Show how things are similar or different.
- Example: 'Compare a PWA with an interactive website.' Answer: use both/whereas/however; give a similarity and a difference.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q16a (3 marks): Progressive web apps

**Contrast**  *(command)*

- Definition: Show how things are different or opposite.
- Example: 'Contrast Waterfall with Agile.' Answer: differences only.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches

**Explain**  *(command)*

- Definition: Relate cause and effect; make the relationship between things evident; provide why and/or how.
- Example: 'Explain why server-side programming is needed.' Answer: use because, therefore, which means.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q23b (3 marks): Server-side web programming; 2025 HSC Q27 (6 marks): Bias in AI (human bias and data set source bias)

**Discuss**  *(command)*

- Definition: Identify issues and provide points for and/or against.
- Example: 'Discuss the impact on workers.' Answer: give a positive AND a negative, then a short conclusion.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q24 (5 marks): Safety of workers (impact of automation); 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant)

**Analyse**  *(command)*

- Definition: Identify components and the relationship between them; draw out and relate implications.
- Example: 'Analyse the effect of bias.' Answer: break into parts, show how they connect, say what follows.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q27 (6 marks): Bias in AI (human bias and data set source bias)

**Assess**  *(command)*

- Definition: Make a judgement of value, quality, outcomes, results or size.
- Example: 'Assess the impact of automation.' Answer: state a judgement, then support it.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: Sample exam Q25 (8 marks): ML, DevOps, RPA, BPA in security

**Evaluate**  *(command)*

- Definition: Make a judgement based on criteria; determine the value of.
- Example: 'Evaluate the effectiveness of the solution.' Answer: use criteria (speed, cost, security) and finish with a verdict.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2023 Software Design and Development HSC Q26 (9 marks): Code reading, maintainability and testing

**Justify**  *(command)*

- Definition: Support an argument or conclusion.
- Example: 'Justify the implementation method.' Answer: decision plus the reason, linked to the scenario.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: Sample exam Q5 (1 mark): Implementation methods

**Define**  *(command)*

- Definition: State the meaning and identify the essential qualities.
- Example: 'Define metadata.' Answer: a precise one-line meaning.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q18 (3 marks): Big data and web architecture

**Construct**  *(command)*

- Definition: Make; build; put together items or arguments.
- Example: 'Construct a SQL query.' Answer: build the diagram, query or code with every required feature.
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
  - Python: Python question: write or complete it in the online Python tool.
  - SQL: SQL question: write or read it in the SQL query tool.
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries; 2025 HSC Q22 (3 marks): Modelling tools

**Account for**  *(command)*

- Definition: State reasons for, report on; give an account of; narrate a series of events or transactions.
- Example: 'Account for the failure of the test.' Answer: give reasons, in order.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Apply**  *(command)*

- Definition: Use, utilise or employ in a particular situation.
- Example: 'Apply input validation to this code.' Answer: use the idea on the given scenario.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Python: Python question: write or complete it in the online Python tool.

**Calculate**  *(command)*

- Definition: Ascertain or determine from given facts, figures or information.
- Example: 'Calculate the binary value.' Answer: show working.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Clarify**  *(command)*

- Definition: Make clear or plain.
- Example: 'Clarify the difference.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Classify**  *(command)*

- Definition: Arrange or include in classes or categories.
- Example: 'Classify features as SAST or DAST.' Answer: place each item in a category.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Matching or table: Matching or table question: match it to its description, example or category.
  - Drawing: Drawing question: draw or label it in the online drawing tool.
- Seen in: 2025 HSC Q13 (2 marks): SAST and DAST

**Critically analyse or evaluate**  *(command)*

- Definition: Add a degree or level of accuracy, depth, knowledge and understanding, logic, questioning, reflection and quality to analysis or evaluation.
- Example: Used in extended responses. Answer: deeper reasoning with evidence and a reasoned verdict.
- Where you would use it in the test:
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Deduce**  *(command)*

- Definition: Draw conclusions.
- Example: 'Deduce the output.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Demonstrate**  *(command)*

- Definition: Show by example.
- Example: 'Demonstrate how it works.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Python: Python question: write or complete it in the online Python tool.

**Examine**  *(command)*

- Definition: Inquire into.
- Example: 'Examine the social impact.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Extract**  *(command)*

- Definition: Choose relevant and/or appropriate details.
- Example: 'Extract two features from the stimulus.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Extrapolate**  *(command)*

- Definition: Infer from what is known.
- Example: 'Extrapolate the trend.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Interpret**  *(command)*

- Definition: Draw meaning from.
- Example: 'Interpret the code fragment.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Code reading: Code or algorithm reading: interpret a fragment and state its output or purpose.

**Investigate**  *(command)*

- Definition: Plan, inquire into and draw conclusions about.
- Example: 'Investigate the effect.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Predict**  *(command)*

- Definition: Suggest what may happen based on available information.
- Example: 'Predict the output.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Propose**  *(command)*

- Definition: Put forward (for example a point of view, idea, argument, suggestion) for consideration or action.
- Example: 'Propose an additional innovative solution.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Recall**  *(command)*

- Definition: Present remembered ideas, facts or experiences.
- Example: 'Recall the steps.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.

**Recommend**  *(command)*

- Definition: Provide reasons in favour.
- Example: 'Recommend an approach.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

**Recount**  *(command)*

- Definition: Retell a series of events.
- Example: 'Recount the steps.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Summarise**  *(command)*

- Definition: Express concisely the relevant details.
- Example: 'Summarise the findings.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.

**Synthesise**  *(command)*

- Definition: Putting together various elements to make a whole.
- Example: 'Synthesise the feedback.'
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.

### Question-type skills

**Multiple choice (MC)**  *(process)*

- Definition: Read all four options, rule out wrong ones, pick one; no penalty for guessing so never leave blank.
- Example: Q1 to Q14 in 2025 were objective (16 marks).
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
- Seen in: 2025 HSC Q1 (1 mark): Implementation methods; 2025 HSC Q4 (1 mark): Optimisation

**Multi-select**  *(process)*

- Definition: Pick ALL correct options; the guideline marks it right only if you tick every correct one (and no wrong one).
- Example: 2025 Q10 (regulatory compliance) and Q11 (DevOps).
- Where you would use it in the test:
  - Multi-select: Multi-select: you tick every correct option, so know all its features or goals.
- Seen in: 2025 HSC Q10 (1 mark): Regulatory compliance; 2025 HSC Q11 (1 mark): DevOps

**Drag-and-drop ordering**  *(process)*

- Definition: Put the steps in the correct order; know the SDLC order and the web request order.
- Example: 'Requirements, design, development, testing, installation, maintenance.'
- Where you would use it in the test:
  - Drag into order: Drag into order: know where it sits in the sequence.
- Seen in: Familiarisation Q1 (1 mark): Development steps

**Fill in the blanks and dropdowns**  *(process)*

- Definition: Choose the right word from a list; use exact syllabus terms.
- Example: 2025 Q2 (Waterfall or Agile) and Q14 (data structures).
- Where you would use it in the test:
  - Fill in the blanks: Fill in the blanks or dropdown: choose this term to complete a statement or table.
- Seen in: 2025 HSC Q2 (1 mark): Software development approaches; 2025 HSC Q14 (1 mark): Data structures

**Matching and tables**  *(process)*

- Definition: Tick or match each statement to the right column (for example ORM v SQL, SAST v DAST).
- Example: 2025 Q9 (ORM and SQL) and Q13 (SAST and DAST).
- Where you would use it in the test:
  - Matching or table: Matching or table question: match it to its description, example or category.
- Seen in: 2025 HSC Q9 (1 mark): ORM and SQL; 2025 HSC Q13 (2 marks): SAST and DAST

**Drawing questions (online tool)**  *(process)*

- Definition: Use the online drawing tool: label every symbol and arrow, use the correct symbols from the specification, and add every required item.
- Example: DFD, flowchart, structure chart, class diagram, decision tree, storyboard, UI.
- Where you would use it in the test:
  - Drawing: Drawing question: draw or label it in the online drawing tool.
- Seen in: 2025 HSC Q22 (3 marks): Modelling tools; Sample exam Q10 (2 marks): Structure charts

**Pseudocode questions**  *(process)*

- Definition: Write HSC-style pseudocode: capital keywords, paired END words, indentation; initialise variables; output the required result.
- Example: 2025 Q17 array sum.
- Where you would use it in the test:
  - Pseudocode: Pseudocode question: use it correctly in the exam pseudocode editor.
- Seen in: 2025 HSC Q17 (3 marks): Algorithm design

**Python questions**  *(process)*

- Definition: Write code that runs: indentation, quotes, define functions before calling them, print the required output, meet every listed requirement.
- Example: 2025 Q19 and Q26.
- Where you would use it in the test:
  - Python: Python question: write or complete it in the online Python tool.
- Seen in: 2025 HSC Q19 (3 marks): Developing secure code (Python); 2025 HSC Q26 (5 marks): Design, construct and implement a solution (Python)

**SQL questions**  *(process)*

- Definition: Use SELECT, FROM, WHERE, GROUP BY, ORDER BY in order; put text in quotes; combine conditions with AND or OR; name the right tables.
- Example: 2025 Q21.
- Where you would use it in the test:
  - SQL: SQL question: write or read it in the SQL query tool.
- Seen in: 2025 HSC Q21 (4 marks): SQL queries

**Short-answer questions**  *(process)*

- Definition: One clear point per mark, use the stimulus and course terms, and answer the command word.
- Example: 2025 Q15 to Q25.
- Where you would use it in the test:
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
- Seen in: 2025 HSC Q16a (3 marks): Progressive web apps; 2025 HSC Q20 (3 marks): Session management

**Extended response (5 to 6 marks)**  *(process)*

- Definition: Plan with the command word, give a judgement or explanation supported by named details from the stimulus, use course terms and cover both sides when asked.
- Example: 2025 Q25 (5 marks) and Q27 (6 marks).
- Where you would use it in the test:
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
- Seen in: 2025 HSC Q25 (5 marks): Patterns in human behaviour; neural networks (virtual personal assistant); 2025 HSC Q27 (6 marks): Bias in AI (human bias and data set source bias)

**Reading time**  *(process)*

- Definition: The 2.5-hour exam includes 10 minutes of reading time. Plan: objective first, then short answer, leave time for the extended responses.
- Example: Exam: Tue 27 Oct 2026, 9:50 am (Sydney time), 80 marks, online.
- Where you would use it in the test:
  - Multiple choice: Multiple choice: pick the option that matches the definition or example.
  - Short answer: Short answer (2 to 4 marks): define, outline or explain it and tie it to the scenario.
  - Extended response: Extended response (5 to 8 marks): use it as a supporting point linked to the stimulus.
