Software Engineering › Flashcards › Multiple choice questions
Flashcards for Multiple choice questions
340 cards where the term can be tested as a multiple choice question. Study these as flip cards Random
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.
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.'
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.
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.
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.
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.
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.
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.
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.'
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.
Check this one: 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.
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.
A control structure where statements run one after another in the order written.
Example: Every program uses sequence; selection and iteration change the order.
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.'
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.'
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.
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.'
Starting with the whole problem (the mainline) and refining it step by step into smaller subroutines.
Example: A structure chart shows top-down design.
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.
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).
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).
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.
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.'
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.
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".
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).
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.
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.
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.'
Check this one: Not named in the syllabus; it appears in past questions and the school notes.
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.'
Check this one: Not named in the syllabus; it appears in past SDD questions.
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.'
Check this one: Not named in the 2022 syllabus text; included because of the functional paradigm and past SDD coding questions.
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.
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.'
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.'
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.
Memorise: Data structures
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.
Memorise: Data structures
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.
Memorise: Data structures
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.
Memorise: Data structures
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.
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.'
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.
Memorise: Data structures
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.
Memorise: Data structures
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.
Memorise: Data structures
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.
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.
Memorise: Data structures
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.
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.
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.'
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)'
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.'
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.
Memorise: Data structures
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.
Memorise: Data structures
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.'
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.
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.'
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.'
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.'
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.'
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.
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.
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.'
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.'
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.
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.
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.
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.
A variable that belongs to an object and stores its data or state (name, age, balance).
Example: 'self.balance = 0' stores an attribute.
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.
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.
Memorise: Object-oriented concepts
Check this one: The syllabus says implement OOP code but does not name constructors; Python classes need __init__ so it is a safe code-pattern card.
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.'
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.
Memorise: Object-oriented concepts
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.'
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.'
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.'
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.
Memorise: Object-oriented concepts
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.
Memorise: Object-oriented concepts
Check this one: Not named in the syllabus; it is how polymorphism is shown in Python code.
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.
Memorise: Object-oriented concepts
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.'
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.
Memorise: Object-oriented concepts
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.'
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.'
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.'
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.'
Colleagues or testers review code and comment so errors are found early and quality improves.
Example: 'A pull request review catches a logic error.'
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.
Each subroutine does a single clear job, which makes it reusable, testable and easier to fix.
Example: 'calculateTotal() only calculates; displayTotal() only displays.'
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.'
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.
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.'
Testing one subroutine, method or class on its own to check it works as intended.
Example: 'Test calculateGST() with several inputs.'
Testing a group of modules that work together as a subsystem, checking their interfaces and data passing.
Example: Between unit and system testing.
Check this one: 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.
Testing the complete, integrated system against the requirements.
Example: 'System test: the whole app runs end to end.'
Testing inputs against expected outputs with no knowledge of the internal code.
Example: 'The tester only sees what goes in and what comes out.'
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.'
Check this one: 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.
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.'
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.'
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.'
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.'
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.
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.'
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.'
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.'
Check this one: 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.
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.'
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.'
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.'
A sensor that measures brightness, used in line-following robots and automatic lighting.
Example: 'A light sensor lets a robot follow a dark line.'
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.'
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.'
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.'
An end effector with fingers or jaws that grasps and releases objects.
Example: 'A gripper picks and places items on a conveyor.'
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.'
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.'
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.'
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.'
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.'
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.'
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.
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.'
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.'
Check this one: 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.
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.'
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.'
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.'
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.'
Check this one: 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.
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.'
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.'
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.'
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.'
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.'
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.'
A weakness in software, hardware or process that an attacker could exploit.
Example: 'An unpatched library is a vulnerability.'
Only authorised people can read the data; achieved with encryption and access controls.
Example: 'Encrypting medical records keeps them confidential.'
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.'
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.'
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.'
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.'
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.'
The right of people to control how their personal information is collected, used and shared.
Example: 'Collect only the data needed.'
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.
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.'
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.'
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.'
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.
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.'
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.'
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.'
Finding weaknesses before attackers do, using code review, SAST, DAST, vulnerability assessment and penetration testing.
Example: 'Run a vulnerability assessment before release.'
Reducing the attack surface by removing unused services and default accounts, applying patches and using strong configuration and least privilege.
Example: 'Disable unused ports.'
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.'
Plans that keep critical operations running during and after a disruption (backup systems, alternative procedures).
Example: 'Switch to a backup server so orders continue.'
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.'
Other developers read the source code to find errors, security flaws and poor practice before release.
Example: 'Peer review spots missing input validation.'
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.
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.
A systematic scan and review that identifies, ranks and reports known weaknesses in a system.
Example: 'A scanner lists out-of-date components.'
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.'
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.'
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")'
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.'
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.'
Allocating and freeing memory efficiently so programs do not leak memory, crash or become slow.
Example: 'Release resources when finished.'
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.
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.'
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.'
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.'
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.'
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.'
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.
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.'
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.'
Considering various points of view, delegating tasks by expertise and improving the quality of the solution.
Example: 'A security specialist reviews the login code.'
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.'
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.'
Change caused when new technology transforms how an industry or society works, often overturning existing businesses.
Example: 'Ride-sharing apps disrupted taxis.'
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.'
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.'
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.
Check this one: The course specification names XSS and defensive input handling; SQL injection is the standard example the school notes use.
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.'
Check this one: The syllabus says regulatory compliance without naming laws; GDPR comes from the school notes.
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.'
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.'
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.
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.'
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.'
Check this one: 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.
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.'
HyperText Transfer Protocol: the request and response protocol between browser and web server. Port 80. Not encrypted.
Example: 'http = port 80.'
HTTP carried over SSL/TLS so data is encrypted and the server is authenticated. Port 443.
Example: 'https = port 443.'
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.'
File Transfer Protocol: moves files between client and server. Port 21 (control). Not encrypted.
Example: 'Upload site files by FTP on port 21.'
Check this one: The ports are standard internet values; the syllabus names the protocols and says 'and their ports'.
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.
Memorise: Web protocols and their ports
Check this one: 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.
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.'
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.'
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.'
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.'
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.'
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.'
The mathematical method used to scramble plain text into cipher text (for example AES or RSA).
Example: 'AES is a symmetric encryption algorithm.'
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.'
Plain text is readable data; cipher text is the unreadable, encrypted result.
Example: 'Encryption turns plain text into cipher text.'
One shared secret key encrypts and decrypts; fast, but the key must be shared safely.
Example: 'Fast for large data.'
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.'
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.'
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.'
Authentication proves who you are; authorisation decides what you can access.
Example: See the Secure Software Architecture cards.
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.'
Analysing large data sets to find patterns, trends and relationships (for example recommending shows).
Example: 'Mine viewing history to predict demand.'
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.'
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.'
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.'
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.'
Check this one: 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.
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.
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.'
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.'
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.'
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.'
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.'
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.'
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.'
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.
Removing unnecessary characters (spaces, comments) from HTML, CSS and JavaScript to shrink the files.
Example: 'Minify the CSS to cut load time.'
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.'
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.'
A network of servers around the world that stores copies of files so users download from a nearby server.
Example: 'A CDN reduces latency.'
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.'
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.'
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.'
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.'
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.
Memorise: SQL vs ORM
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.'
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.'
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.
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.'
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"'
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.
Memorise: SQL vs ORM
Check this one: From the school notes, not named in the syllabus.
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.'
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.'
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.
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.'
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.'
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.'
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.'
Training on unlabelled data so the model finds patterns or groups (clusters) by itself.
Example: 'Group customers by buying habits.'
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.'
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.'
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.'
Check this one: Standard ML practice; check the exact wording against your class notes.
ML finds trends in past data to predict future values (sales, weather, demand).
Example: 'Forecast next month's electricity demand.'
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.'
ML identifying objects, faces or text in images, usually with neural networks trained on many labelled images.
Example: 'Detect faces in photos.'
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.'
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.
Fits a straight line through data to predict a numeric value from one or more inputs.
Example: 'Predict house price from floor area.'
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.
Memorise: Decision trees
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.'
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.'
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.'
Unfair results because the training data is unrepresentative or reflects past prejudice.
Example: 'A face detector trained mostly on one group fails on others.'
Developers' own assumptions or prejudices influence design, data selection or labelling and so the outcomes.
Example: 'Labellers' opinions shape the labels.'
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.'
Define the business problem, refactor it into a machine learning problem, define success metrics and research the available data.
Example: 'Success metric: 95% accuracy.'
Data wrangling, feature engineering, model training, and model testing and validation.
Example: 'Clean the data, then train the model.'
Model deployment, supporting operations and use, and monitoring model performance.
Example: 'Monitor the model for drift.'
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.'
What the solution must do (functionality) and how well (performance), found by analysing the problem.
Example: 'The app must show results within 2 seconds.'
The reason for the project: a problem to fix or a chance to improve something.
Example: 'Manual marking takes too long.'
Whether the project can realistically be done: scheduling (time) and financial (cost) feasibility.
Example: 'Can it be finished by term 4 within budget?'
What is included in the solution and what is not (its scope).
Example: 'The system covers booking, not payment.'
Deciding which structures (array, record, list) and types (integer, string, Boolean) the solution will use.
Example: 'Store each student as a record.'
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.'
A table listing each data item with its name, data type, size or format, description and validation rules.
Example: 'Age | Integer | 0-120.'
Writing the code from the design, using appropriate language structures.
Example: 'Convert pseudocode to Python.'
Putting the finished software into use in the client environment.
Example: 'Install on all school computers.'
Updating the software after release to fix errors, add features or adapt to change.
Example: 'Release a patch for a security bug.'
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.'
The new system is introduced in stages (one module or area at a time).
Example: 'Roll out the new timetable first, then attendance.'
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.'
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.'
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.'
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.'
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.'
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.'
Planning, scheduling, tracking and controlling the work, time, people and resources to deliver the project.
Example: 'Use a tool to track tasks and deadlines.'
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.'
Involving and empowering the client, enabling feedback and negotiating.
Example: 'Show the client a prototype for feedback.'
Defining quality criteria, checking continually that requirements are met, and addressing compliance and legislative requirements.
Example: 'Define criteria such as speed and accuracy.'
Assigning people, time, hardware, software and money to the tasks that need them.
Example: 'Allocate two developers to the database.'
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.'
Looking for a solution online, collaborating with peers and outsourcing.
Example: 'Ask a classmate or search documentation.'
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.'
Planning the screens and controls users interact with, so they are clear, consistent and accessible.
Example: 'Large buttons, clear labels, good contrast.'
Ways of checking code: unit, integration and system testing, using black box and white box approaches.
Example: 'Test each subroutine on its own first.'
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.'
A document listing test cases, test data, expected output and results.
Example: 'Test 1: age = 17, expected output: Accepted.'
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.'
Checking that each function of the software does what the requirements say.
Example: 'Click Add to cart and check the item appears.'
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.'
Real data from the actual working environment used to test the system.
Example: 'Test with real customer orders.'
Made-up data that imitates real data, used to test safely without risking real information.
Example: 'Generate 1000 fake customers.'
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.'
Testing the system with large amounts of data to see whether it still performs.
Example: 'Load 1 million records and time the search.'
Fixing bugs and errors found after release.
Example: 'Patch a crash on logout.'
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.'
Improving performance or adding features after release.
Example: 'Make search faster.'
What the system must do (its functions), as opposed to how well it performs.
Example: 'The system must calculate GST.'
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.'
A diagram that shows how data moves through a system between processes, data stores and external entities.
Example: 'Voting system: voter, vote data, count.'
A circle is a process: it uses input(s) to generate output(s). Name it with a verb phrase.
Example: 'Process: Validate login.'
Check this one: 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.
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.'
A person, organisation or element that provides data to the system or receives data from it (shown as a rectangle).
Example: 'External entity: Customer.'
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.'
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.'
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.'
An empty circle indicates data movement between subroutines (usually passed as parameters).
Example: 'An arrow with an empty circle labelled mark.'
A filled circle indicates a flag or control variable passed between subroutines.
Example: 'Filled circle labelled Found.'
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.'
A curved arrow shows a subroutine or set of subroutines executed multiple times.
Example: 'Curved arrow over Process Item.'
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.'
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.'
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.'
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.'
Check this one: 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.
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.'
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.'
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.'
Check this one: 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.
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.'
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'
selector { property: value; } with comments in /* */. h1 targets an element, #welcome targets an id, .red-text targets a class.
Example: '.red-text { color: red; }'
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'
Recognise and name.
Example: 'Identify one cause of a logic error.' Answer: one word or phrase (1 mark).
Note differences between things.
Example: 'Distinguish neural networks from AI.' Answer: name both and say what is different.
State the meaning and identify the essential qualities.
Example: 'Define metadata.' Answer: a precise one-line meaning.
Ascertain or determine from given facts, figures or information.
Example: 'Calculate the binary value.' Answer: show working.
Present remembered ideas, facts or experiences.
Example: 'Recall the steps.'
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).
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.