Software Engineering Glossary

A complete A–Z reference of the key terms and syllabus keywords you need for NESA NSW HSC Software Engineering. Search definitions and examples, filter by Year 11, Year 12 or core terms, and follow See also links between related ideas.

Year 11 & 12 Reference NESA Aligned
Ctrl K

533 terms · 7 topics · A–Z

Definitions marked NESA are © NSW Education Standards Authority (NESA), reproduced word for word from the Software Engineering 11–12 (2022) Syllabus glossary, which holds the only current version. Use the NESA glossary filter to see just those terms. Every other definition and every example was written for these notes.

3

3-2-1 Backup Rule

A guideline to keep three copies of data, on two different kinds of storage, with one copy off-site.

Example: Working copy on a laptop, a second copy on an external drive and a third copy in cloud storage.

↑ Back to Top
A

Abstract Class

A class that cannot be instantiated directly and exists purely to be subclassed. Abstract classes often define method signatures that subclasses must implement, enforcing a consistent interface across a family of types.

Example: A Shape class declares area() but only Circle and Square subclasses can be created.

Abstraction

The concept of hiding complex internal implementation details while exposing only the necessary interface to the user or calling code. Reduces cognitive complexity and increases maintainability.

Example: Calling send_email(to, body) without knowing how the mail server connection works.

Acceleration Ramping

Limiting how much a motor command may change on each loop, so speed rises gradually.

Example: Raising motor speed by at most 10% per loop to avoid wheel slip and current surges.

Acceptance Criteria

Specific, measurable conditions that must be met to confirm a user story has been implemented correctly. They provide a clear definition of "done" for each requirement.

Example: "Given a wrong password three times, the account locks for 15 minutes."

Access Control

Rules and mechanisms that decide which users can view or change which resources.

Example: Only teachers can edit marks; students can only view their own.

Access Modifier

Keywords (such as public, private, and protected) that control the visibility and accessibility of class members. They enforce encapsulation by restricting which parts of a program can access specific attributes or methods.

Example: Marking balance as private so only deposit() and withdraw() can change it.

Accountability

The principle of tracing every action back to a specific authenticated user through immutable audit logs. Ensures that no action can be performed anonymously within a secure system.

Example: An audit log records that user jchen deleted invoice #204 at 10:14 am.

Accuracy

The proportion of a model's predictions that are correct.

Example: 90 correct out of 100 test images is 90% accuracy.

Activation Function

A function applied to a neuron's output that adds non-linearity, so the network can learn complex patterns.

Example: ReLU turns negative values into 0.

Actuator

An output component that converts electrical energy into physical motion, such as a motor, solenoid, or pneumatic piston. Actuators enable a mechatronic system to interact with the physical world.

Example: A servo motor that opens a greenhouse vent when the temperature rises.

Adaptive Bitrate Streaming

A streaming method in which the player switches between quality levels of short video segments according to the speed of the connection.

Example: The picture softens on a slow connection instead of stopping to buffer.

ADC (Analog-to-Digital Converter)

A component that samples continuous analog voltages and converts them into discrete digital numbers for processing by a microcontroller. Resolution is measured in bits (e.g., a 10-bit ADC yields 1024 distinct values).

Example: An Arduino reading a light sensor as a number from 0 to 1023.

Address Register

A small, fast storage location inside a processor that holds the memory address of data or of the next instruction to fetch.

Example: While running a loop, the program counter (an address register) points to the next instruction in flash memory.

AES (Advanced Encryption Standard)

A widely used symmetric encryption algorithm, often with 256-bit keys, for protecting stored and transmitted data.

Example: Full-disk encryption on a laptop uses AES-256.

Aggregate Function

A SQL function such as SUM, AVG, COUNT, MAX or MIN that calculates one value from many rows, often for each group.

Example: AVG(Games.Cost) with GROUP BY publisher gives each publisher's average price.

Agile Methodology

An iterative and incremental approach to software development focusing on flexibility, responsiveness to change, and frequent client feedback. Agile prioritises working software and customer collaboration over rigid upfront specification.

Example: A team releases a school canteen app in two-week sprints, changing features after student feedback.

Allowlist

A validation rule that states exactly which values or characters are acceptable and rejects everything else.

Example: A username must match [A-Za-z0-9_]{3,20}; any other character causes rejection.

Anti-Windup

A safeguard that stops a PID controller's integral term growing while the actuator is at its limit.

Example: Stopping the integral sum while the vent is fully open so the controller does not overshoot when the weather changes.

API Contract

An agreed description of an API's URLs, methods, parameters and response formats that front-end and back-end developers both build to.

Example: An OpenAPI file states that GET /games needs max_cost and returns a list of names and costs.

API Key

A secret code that identifies a program calling an API and controls its access; it must never be published in client-side code or a public repository.

Example: Storing a weather API key in an environment variable instead of the source code.

App

NESA

A software program designed for a specific purpose to run on mobile devices or on a personal computer. An abbreviation of the word ‘application’.

Example: A canteen ordering app on a phone that lets students pre-order their lunch.

Artificial Intelligence (AI)

NESA

Intelligence demonstrated by machines. Sometimes called machine intelligence.

Example: A chatbot that answers enrolment questions on a school website.

Algorithm

NESA

A step-by-step procedure required to solve a problem. Algorithms may be presented in many ways, e.g. written instructions, flow charts or using a computer programming language.

Example: The steps to find the largest mark in a class list.

API (Application Programming Interface)

NESA

An interface that allows an application or website to plug into another program or website.

Example: A weather app requests GET /forecast?city=Sydney from the Bureau of Meteorology's servers.

Array

A data structure consisting of a collection of elements identified by at least one index or key, stored in contiguous memory locations. Arrays provide O(1) access by index.

Example: marks = [72, 85, 64], where marks[1] is 85.

ASCII

A 7-bit character encoding for 128 characters, including English letters, digits and punctuation.

Example: "A" is 65 in ASCII.

Assertion

A statement that a condition must be true at that point in a program; if it is false the program raises an error, which is how simple tests report failure.

Example: assert member.loan_count == 3 fails with AssertionError if the count is wrong.

Assets

NESA

Assets are the digital elements that can be used or incorporated into a multimedia presentation or production. They include graphics, photographs, videos, audio, animations or other artistic data.

Example: The logo, photographs and a short intro video used on a school open-day web page.

Asymmetric Encryption

An encryption method using a mathematically linked public and private key pair. The public key encrypts data (or verifies signatures), while only the corresponding private key can decrypt (or sign). Used for secure key exchange and digital signatures.

Example: A browser encrypts a session key with a bank's public key; only the bank's private key can read it.

Attack Surface

The total number of possible ways an attacker can interact with or compromise a software system. Minimising the attack surface — by reducing exposed endpoints, disabling unused features, and enforcing least privilege — is a core security principle.

Example: Closing an unused admin login page removes one way in for attackers.

Attack Vector

The path or method an attacker uses to reach a system, such as email, a web form or an unpatched service.

Example: Phishing emails are the most common attack vector for ransomware.

Attribute

A data element or property defined within a class that stores the state of an object. For example, a Car class might have attributes like colour, speed, and fuel_level.

Audit Trail

A secure, time-stamped log of who did what in a system, used to detect misuse and investigate incidents.

Example: A log showing which staff member changed a student's mark and when.

Australia's AI Ethics Principles

Eight voluntary principles published by the Australian Government in 2019 to guide the design, development and use of AI.

Example: Fairness and contestability are two of the eight.

Australian Privacy Principles

The 13 principles in the Privacy Act 1988 that set out how organisations must handle personal information, from collection to security and access.

Example: APP 11 requires reasonable steps to protect personal information from misuse and unauthorised access.

Authentication

The process of verifying the identity of a user or system, often using passwords, biometrics, or multi-factor authentication (MFA). Answers the question: "Who are you?"

Example: Logging in with a password plus a code from an authenticator app.

Authorisation

The process of determining what an authenticated user is permitted to do, based on the principle of least privilege. Answers the question: "What are you allowed to do?"

Example: A student can view their own results but only a teacher can edit them.

Automation Bias

The human tendency to trust an automated suggestion and stop checking it.

Example: An operator accepts a wrong alert because the system is usually right.

Availability

Ensuring that systems and data remain operational and accessible to authorised users when needed. One of the three pillars of the CIA triad alongside Confidentiality and Integrity.

Example: A school portal stays online during exam results release despite heavy traffic.

↑ Back to Top
B

Backlog (Product Backlog)

A prioritised list of all features, user stories, and bug fixes yet to be completed for a product. In Scrum, the Product Backlog is the single source of work for the development team.

Example: "Add dark mode" sits in the backlog below the higher-priority "Fix login bug".

Backpropagation

The training process where prediction error is propagated backwards through a neural network to adjust connection weights using gradient descent. This iterative process minimises the loss function over many epochs.

Example: After predicting "cat" for a dog photo, the network nudges its weights to reduce that error.

Back-end

The server-side portion of a web application responsible for business logic, database queries, authentication, and security enforcement. Users never interact with back-end code directly.

Example: The Flask server code that checks a login and queries the database.

Backtracking

An algorithm design strategy that builds a solution step by step and, when a step leads to a dead end, undoes it and tries a different choice.

Example: Solving a maze by following a path until it is blocked, then stepping back to the last junction and trying another way.

Backup

A copy of data kept separately so it can be restored if the original is lost, damaged or encrypted by ransomware.

Example: The 3-2-1 rule: three copies, on two kinds of media, one off-site.

Bandwidth

The maximum amount of data a network connection can carry per second.

Example: A 100 Mbps home connection.

Base Case

The condition in a recursive function that stops further recursive calls by returning a result directly.

Example: In binary search, low greater than high returns -1 without another call.

bcrypt

A deliberately slow password-hashing function that adds a salt automatically, making brute-force and rainbow table attacks impractical.

Example: bcrypt.hashpw(password, bcrypt.gensalt())

Beta Testing

Testing a nearly finished product with real users outside the development team before release.

Example: Letting one class use the new app for a week and collecting feedback.

Bias

Systematic unfairness in data or a model that produces worse results for some groups of people.

Example: A face-recognition model trained mostly on light-skinned faces performing poorly on darker skin.

Big Data

NESA

Extremely large datasets that may be analysed computationally to reveal patterns, trends and associations.

Example: Every song played by every Spotify user each day.

Bill of Materials

A list of every part in a build, with quantities and costs.

Example: A greenhouse controller's list of the board, sensors, servo, pump, driver and supplies.

Binary

A base-2 number system that uses only the digits 0 and 1, matching the two states of computer hardware.

Example: 1011 in binary is 8 + 2 + 1 = 11 in decimal.

Bit

A single binary digit, 0 or 1, the smallest unit of data a computer stores.

Example: The pattern 1011 is four bits.

Black-Box Testing

NESA

A testing technique where there is no knowledge of the internal workings of an application. A user will provide inputs and observe the outputs in order to determine functionality of the program.

Example: Entering valid, boundary and invalid marks into a grading program and checking the grades it returns.

Blast Radius

How much of a system or how much data is affected if one component is compromised.

Example: A least-privilege database account keeps the blast radius of an SQL injection to one table.

Boolean

A logical data type that represents one of two values: True or False. Booleans are fundamental to control flow, conditions, and logical expressions in every programming language.

Example: is_logged_in = True

Bottom-Up Design

Designing a system by first building and testing small, reusable components, then combining them into larger parts.

Example: Writing and testing validate_email() and hash_password() before building the registration page that uses them.

Boundary Value

Test data at, just inside and just outside the limits of a valid range, where off-by-one errors are most likely.

Example: For marks from 0 to 100: −1, 0, 1, 99, 100 and 101.

Box Model

The way CSS treats every element as a box made of content, padding, border and margin.

Example: A 200px wide box with 10px padding and a 2px border is 224px wide before margins.

Branching

In version control, creating a separate line of development so work can happen without affecting the main code.

Example: A feature/login branch that is merged into main when finished.

Breakpoint

A marker set in an IDE that pauses a program at a chosen line so the programmer can inspect variables.

Example: Pausing at the line total += price to check the value of price on each loop.

Broken Object-Level Authorisation

An API flaw where the server does not check that the caller may access the specific record requested.

Example: Changing /students/12/marks to /students/13/marks returns another student's marks.

Brownout

A temporary drop in supply voltage that can reset a microcontroller or make it behave unpredictably.

Example: A servo starting up draws a large current and pulls the shared 5 V supply low, resetting the controller.

Bubble Sort

A simple sorting algorithm that repeatedly swaps neighbouring items that are in the wrong order until the list is sorted.

Example: Sorting [5, 2, 4] → [2, 5, 4] → [2, 4, 5].

Buffer Overflow

A flaw where a program writes more data into a block of memory than it can hold, overwriting nearby memory, which attackers can exploit.

Example: Copying a 300-character name into a 256-byte buffer without checking its length.

Business Continuity

Planning so an organisation can keep its essential services running during and after a disruption.

Example: A bank switching to a standby system so customers can still pay during an outage.

Business Process Automation (BPA)

Using software to automate a complete business workflow across people and systems, not just single tasks.

Example: A leave request that is submitted online, approved by a manager and updated in payroll without any paperwork.

Byte

A group of eight bits, able to hold 256 different values.

Example: One byte can store 0 to 255, or FF in hexadecimal.

↑ Back to Top
C

Cache-Control

An HTTP header that tells browsers and caches how long they may reuse a response.

Example: Cache-Control: max-age=31536000, immutable lets a fingerprinted file be reused for a year.

Cache-First Strategy

A service worker strategy that answers from the cache and only uses the network when the file is not cached.

Example: The app shell is served from the cache so it opens instantly and offline.

Caching

Storing the result of an expensive operation so that later requests can reuse it instead of repeating the work.

Example: A Report object calculates its average once and reuses the stored value.

Calibration

Comparing a sensor with a known reference and correcting its readings to match.

Example: Measuring a temperature sensor in ice water and boiling water and adjusting its readings to 0 and 100 °C.

Call Stack

The record of the functions that are currently running, with the most recent call on top, removed as each returns.

Example: A recursive maze search adds one entry for every square it enters.

Cartesian Product

The result of pairing every row of one table with every row of another, which happens when a join condition is left out.

Example: Joining Games, Publishers and Developers without conditions returns 7 x 3 x 4 = 84 rows.

CDN (Content Delivery Network)

A geographically distributed network of servers that caches and serves static assets (images, CSS, JS) from locations close to the user, reducing latency and improving load times.

Example: A video site serves Sydney users from a Sydney server instead of one in the USA.

Certificate Authority (CA)

A trusted organisation that verifies who controls a domain and signs a digital certificate to prove it.

Example: A browser trusts a certificate because it chains up to a CA whose root certificate is built into the browser.

Chain of Trust

The sequence of signed certificates from a website's certificate through intermediate authorities to a trusted root certificate.

Example: The browser follows each signature from gameshelf.example up to a root it already trusts.

CI/CD (Continuous Integration / Continuous Deployment)

A DevOps practice where code changes are automatically built, tested (CI) and deployed to staging or production environments (CD). Enables rapid, reliable delivery cycles with minimal manual intervention.

Example: Every push to GitHub runs the tests automatically and deploys if they pass.

Cipher Suite

The combination of algorithms a TLS connection uses for key exchange, encryption and integrity checking.

Example: A ClientHello lists the cipher suites the browser supports and the server picks one.

Cipher Text

Data after encryption, which is unreadable without the correct key.

Example: "Hello" encrypted with AES might become 9f2c4e….

Class

A blueprint or template defining the structure (attributes) and behaviour (methods) for a family of objects. Instantiation creates an individual Object from the class definition in memory.

Example: A Student class defines a name, ID and enrol() method.

Class Attribute

An attribute defined in the class body and shared by every object of that class, as opposed to an instance attribute that belongs to one object.

Example: Member.MAX_LOANS = 3 applies to every member.

Class Diagram

A UML diagram that represents classes, their attributes, methods, and the relationships (inheritance, composition, association) between them. A key deliverable in the Design phase of OOP projects.

Example: A box for Book listing title, isbn and borrow(), linked to Library.

Classification

A machine learning task that predicts which category an input belongs to.

Example: Predicting whether an email is spam or not spam.

Closed Loop System

A control system that uses sensor feedback to continuously adjust its output in real-time. The feedback loop allows the system to self-correct and maintain a desired state despite disturbances.

Example: A robot vacuum uses a bump sensor to change direction when it hits a wall.

Clustering

An unsupervised learning task that groups similar data points without labels.

Example: Grouping customers by their buying habits.

Code Review

A systematic peer examination of source code to find defects, ensure adherence to coding standards, and share knowledge before merging changes into the main codebase.

Example: A teammate spots a missing input check before a pull request is merged.

Cohesion

A measure of how closely related the responsibilities of a single module or class are. High cohesion (single-responsibility) is a hallmark of good design — each unit does one thing well.

Example: A ReportPrinter class that only formats and prints reports (high cohesion).

Collaborate

NESA

Working with others towards a shared goal, through a variety of modes of communication. This may be achieved using a range of technologies, tools and processes.

Example: Four students share a Git repository, meet in a daily stand-up and review each other's pull requests to finish one project.

Collision

The situation where two different keys are given the same slot by a hash function.

Example: The keys Ava and Dev both map to slot 0 in the toy hash function.

Compiler

A program that translates the whole of a program's source code into machine code before it runs.

Example: Arduino code is compiled before being uploaded to the board.

Composition

A strong "has-a" relationship where parts cannot exist independently of the whole. For example, a Room cannot exist without a Building. Contrasts with aggregation, where parts can exist independently.

Computational Thinking

NESA

A process in which a problem is analysed and solved so that a human, machine or computer can effectively implement the solution. It involves using strategies to organise data logically, break down problems into parts, interpret patterns and design, and implement algorithms to solve problems.

Example: Breaking "run the school canteen online" into ordering, paying and preparing, each solved separately.

Computer Vision

The branch of AI that lets computers interpret images and video.

Example: A self-driving car recognising stop signs.

Confidentiality

Ensuring that sensitive data is accessible only to authorised entities through encryption and access controls. One of the three pillars of the CIA triad.

Example: Encrypting medical records so only the patient's doctor can read them.

Confusion Matrix

A table summarising prediction results for a classification model, showing counts of True Positives, True Negatives, False Positives, and False Negatives. Used to calculate metrics like accuracy, precision, and recall.

Example: A spam filter with 90 true positives, 5 false positives, 8 false negatives and 97 true negatives.

Constant-Time Comparison

A comparison that takes the same time wherever two values differ, so timing cannot leak how much of a guess was correct.

Example: hmac.compare_digest(a, b) instead of a == b when checking a token.

Constraint

A limit on how a project may be carried out, such as time, budget, skills, technology, law or policy.

Example: The project must be finished in seven weeks using free tools.

Constructor

A special method (such as __init__ in Python or the class-named method in Java) that initialises an object's state when it is first created. Constructors set default attribute values and perform setup logic.

Example: def __init__(self, name): self.name = name

Content Management System (CMS)

Software that lets people create, edit and publish web content through an interface rather than by writing code.

Example: Teachers posting school news in WordPress.

Content Security Policy (CSP)

An HTTP header that tells the browser which sources of scripts, styles and images a page may load, limiting the damage of XSS.

Example: Content-Security-Policy: script-src 'self'

Contestability

The principle that people affected by a significant AI decision can challenge it through an accessible process.

Example: A person refused a service can ask for a human to review the decision.

Contingency

Extra time or money added to an estimate to cover tasks that take longer than expected or problems that arise.

Example: Adding 15% contingency to a 42-hour estimate gives 48.3 hours.

Contract Test

An automated test that checks a real API still matches its agreed contract.

Example: A test fails when the back end renames Cost to Price.

Contrast Ratio

A number from 1:1 to 21:1 comparing the brightness of text and its background, used by WCAG to test readability.

Example: WCAG AA requires at least 4.5:1 for normal text, so #999999 on white (2.85:1) fails.

Copyleft

A licensing approach that lets others modify and share software only if they release their versions under the same terms.

Example: The GPL requires a distributed program that includes GPL code to be released with its source under the GPL.

Core Web Vitals

Google's measures of real-world page experience: loading (LCP), responsiveness (INP) and visual stability (CLS).

Example: Setting width and height on images reduces layout shift, improving CLS.

Correlation ID

A random reference that links the short error message a user sees to the detailed entry in the internal log.

Example: The error page says 'Quote reference 5c4d6f38'; support finds that reference in the log.

CORS (Cross-Origin Resource Sharing)

A browser security mechanism that uses HTTP headers to permit or restrict resource requests from different origins. Prevents malicious websites from making unauthorised API calls on behalf of users.

Example: A server allows requests from myschool.edu.au but blocks scripts from other sites.

Coupling

The degree of interdependence between software modules. Loose coupling — minimising direct knowledge between modules — improves maintainability, testability, and security isolation.

Example: A login module that calls a shared UserService rather than reading the database directly (loose coupling).

Critical Path

The longest chain of dependent tasks in a schedule, which decides the earliest date the project can finish.

Example: In the Library Loans plan, tasks A, B, C, F, G, H and J form a 32-day critical path.

Cryptography

The use of mathematical techniques such as encryption, hashing and digital signatures to protect data and verify identity.

Example: Encrypting stored credit card numbers and hashing passwords.

CSRF (Cross-Site Request Forgery)

An attack that tricks an authenticated user's browser into submitting unwanted requests to another website. Mitigated by anti-CSRF tokens, SameSite cookies, and validating the request origin.

Example: A hidden form on a malicious page makes a logged-in user's browser transfer money.

CSS (Cascading Style Sheets)

A stylesheet language used to describe the visual presentation and layout of HTML documents. CSS controls colours, fonts, spacing, responsive breakpoints, and animations.

Example: h1 { color: navy; } makes every main heading navy.

CSS Cascade

The rules a browser uses to choose between conflicting CSS declarations: importance first, then specificity (an inline style counts as the most specific), then source order.

Example: With two rules of equal specificity, the one later in the style sheet is applied.

CSS Preprocessor

A tool such as Sass that adds variables and nesting to CSS and compiles to standard CSS.

Example: An SCSS file with a $brand variable compiles to CSS with the colour written out.

CSS Specificity

A measure of how precisely a CSS selector targets an element, written as counts of IDs, classes and elements, used to decide which rule wins.

Example: #welcome is (1, 0, 0) and p.red-text is (0, 1, 1), so the ID rule wins.

CVE

A public identifier for a specific known security vulnerability in software, used to track and fix it.

Example: A vulnerability scanner reports that a library has a published CVE fixed in a newer version.

CVSS

The Common Vulnerability Scoring System, a 0.0 to 10.0 rating of how severe a vulnerability is, with bands from Low to Critical.

Example: A score of 9.8 is rated Critical and is fixed before a 5.3 Medium finding.

Cyber Security Act 2024

An Australian Act that includes ransomware payment reporting for certain organisations, security standards for smart devices and a Cyber Incident Review Board.

Example: A covered business that pays a ransomware demand must report the payment to the government.

Cybercrime Act 2001

An Australian Act that added computer offences, including unauthorised access to or modification of data, to the Criminal Code.

Example: A penetration tester needs written authorisation because unauthorised access is an offence.

↑ Back to Top
D

Dark Pattern

A user interface design that manipulates people into choices they would not otherwise make, such as hiding privacy controls.

Example: A tiny grey 'Reject all' button beside a large bright 'Accept all' button.

DAST (Dynamic Application Security Testing)

Security testing performed against a running application from the outside — simulating the perspective of an attacker. Identifies vulnerabilities such as SQL injection and XSS at runtime.

Example: Running an automated scanner against a live test site to find XSS vulnerabilities.

Data

NESA

A discrete representation of information using number codes. Data may include characters (e.g. alphabetic letters, numbers and symbols), images, sounds and/or instructions that, when represented by number codes, can be manipulated, stored and communicated by digital systems. For example, characters may be represented using ASCII code or images may be represented by a bitmap of numbers representing each ‘dot’ or pixel.

Example: The number 65 stored for the letter A in ASCII, or a red pixel stored as the numbers 255, 0 and 0.

Data at Rest

Data stored on a disk, in a database or in a backup rather than moving across a network.

Example: Customer records stored in an encrypted database.

Data Breach

An incident where personal or confidential data is accessed, disclosed or lost without authorisation.

Example: Millions of customer records published online after a cyber attack.

Data Dictionary

A metadata tool that documents every variable's name, data type, size, description, and validation rules. Essential for the Design and Implementation phases of the SDLC.

Example: student_id | integer | 8 digits | unique ID for each student.

Data Drift

A change in the data a deployed model receives, so that it no longer resembles the training data and accuracy falls.

Example: A courier's delivery-time model becomes less accurate after deliveries begin in new suburbs.

Data Flow Diagram (DFD)

A diagram showing how data moves between external entities, processes and data stores in a system.

Example: A student enters login details → "Verify login" process → reads the Users data store.

Data in Transit

Data moving across a network between devices, which should be protected with encryption such as TLS.

Example: A login form sent from the browser to the server over HTTPS.

Data Minimisation

Collecting and keeping only the personal information a feature genuinely needs.

Example: Storing a birth year, not a full date of birth, to check an age band.

Data Mining

Searching large data sets for patterns and relationships that can be used to make predictions or decisions.

Example: A supermarket finding that customers who buy nappies often buy coffee.

Data Packet

A small unit of data sent across a network, containing a header (addresses and order) and a payload (part of the message).

Example: A web page split into many packets that travel separately and are reassembled by the browser.

Data Register

A register inside a processor that holds a value currently being worked on.

Example: Holding a sensor reading while the processor compares it with a threshold.

Data Sovereignty

NESA

This is a global movement that refers to the right of Indigenous Peoples to determine the creation, collection, ownership and application of data that is for and about Indigenous Peoples. The term also refers to transnational data flow and a range of issues arising from the flow of data between nations.

Example: A First Nations community decides who may collect, own and use the health and language data recorded about its people.

Data Type

NESA

Data types used in computing are expressed as either:

  • string/text
  • character
  • integer
  • floating point or real
  • date and time
  • Boolean.

Example: Integer, float, string, Boolean.

Data Wrangling

Cleaning, correcting and reshaping raw data into a form a model can learn from.

Example: Removing duplicate parcel scans and putting all timestamps into one format.

Database

An organised collection of structured data that software can store, search and update efficiently.

Example: A school database of students, classes and enrolments.

Database Schema

The structure of a database: its tables, fields, data types, keys and relationships.

Example: CREATE TABLE student (id INTEGER PRIMARY KEY, name TEXT)

Dataset

A collection of data used to train, validate and test a machine learning model.

Example: 10 000 labelled photos of cats and dogs.

Debouncing

Ignoring the rapid extra contacts that occur when a switch is pressed, so one press is counted once.

Example: Accepting a new button press only if 200 ms have passed since the last one.

Debugging

Finding, understanding and fixing errors in a program.

Example: Using breakpoints and a watch to discover a loop runs one time too many.

Debugging Output Statement

A temporary print or log statement added to code to show the value of variables while it runs.

Example: print(f"i={i}, total={total}") inside a loop.

Decimal

The base-10 number system, using the digits 0 to 9, that people use every day.

Example: 254 in decimal is 11111110 in binary.

Decision Tree

A visual machine learning model representing a series of binary questions (decisions) that branch toward a final prediction or classification. Easy to interpret but prone to overfitting on complex data.

Example: "Is it raining?" → yes: take the bus; no: "Is it far?" → …

Decryption

Turning cipher text back into readable plain text using the correct key.

Example: A browser decrypting the HTTPS response from a bank with the agreed session key.

Defence in Depth

Layering several independent security controls so an attacker who gets past one still faces others.

Example: A firewall, input validation, parameterised queries and encrypted data all protecting one web app.

Degrees of Freedom (DOF)

The number of independent directions in which a robotic or mechanical system can move. A typical industrial robot arm has 6 DOF — three for position and three for orientation.

Example: A robot arm with a rotating base, shoulder and elbow has 3 DOF.

Denial of Service (DoS)

An attack that overwhelms a system with traffic or requests so real users cannot use it. A distributed attack from many devices is a DDoS.

Example: A botnet flooding a ticketing site when concert tickets go on sale.

Dependency

A relationship in which one task cannot start until another has finished.

Example: Integration testing depends on both the Loan module and the interface build.

Deployment

Releasing software to the environment where users can use it.

Example: Pushing a tested version of a web app to the live server.

Design Pattern

A proven, reusable way to structure code that solves a common design problem.

Example: The facade pattern gives a complex payment system one simple pay() method.

Design Thinking

NESA

A process where a need or opportunity is identified and a design solution is developed. The consideration of economic, environmental and social impacts that result from designed solutions are core to design thinking. Design thinking methods can be used when trying to understand a problem, generate ideas and refine a design based on evaluation and testing.

Example: A team interviews students about long canteen queues, sketches three ideas, tests a paper prototype and refines the best one.

Desk Checking

The process of manually tracing through an algorithm step-by-step with sample data using a trace table to verify correctness before coding. A key NESA examination skill.

Example: Using a trace table to follow i and total through a loop by hand.

DevOps

A software development practice that unifies development and operations teams for continuous, reliable delivery. DevOps emphasises automation, monitoring, and collaboration to shorten the development lifecycle.

Example: Developers and operations staff share one pipeline that builds, tests and monitors an app.

Digital Disruption

The change that happens when new digital technologies transform how an industry works.

Example: Streaming services replacing video rental shops.

Digital Signature

A cryptographic mechanism that proves the authenticity and integrity of a message using a sender's private key. Recipients verify the signature using the sender's public key.

Example: A software update is signed so users can confirm it came from the real developer.

Digital Technologies

NESA

Refers to electronic tools, systems, devices and resources that generate, process or store data, and may include applications, games, microcontrollers, mobile devices, multimedia, networks, robotics.

Example: A microcontroller reading a soil-moisture sensor, a phone app and a wireless network working together to water a garden.

Directory Traversal

An attack that uses path segments such as ../ to make a program read or write files outside its intended folder.

Example: Requesting ../../etc/passwd to read a server's password file.

Disaster Recovery

The plan and processes for restoring systems and data after a serious failure or attack.

Example: Restoring last night's backup to a second data centre within four hours.

Divide and Conquer

An algorithm design strategy that splits a problem into smaller sub-problems of the same kind, solves them, and combines the results.

Example: Binary search repeatedly halves the list it is searching.

DNS (Domain Name System)

The system that translates human-readable domain names (e.g., example.com) into machine-readable IP addresses. Often called the "phone book of the internet."

Docstring

A string placed first inside a Python module, class or function that documents its purpose and can be read by tools and other programmers.

Example: "Return the GST in dollars for one line item." is the docstring of a function, and help(function_name) prints it.

DOM (Document Object Model)

A tree-structured programming interface representing an HTML document. JavaScript can traverse and manipulate the DOM to dynamically update page content, structure, and style without a full page reload.

Example: document.getElementById("score").textContent = 10;

Duck Typing

Deciding whether an object can be used by checking that it has the methods being called, rather than by checking its class.

Example: A loop calls describe() on a Book, a DVD and a MobileLibraryVan; the van works because it has describe(), even though it has no shared parent.

Duty Cycle

The percentage of each PWM period for which the signal is on.

Example: A 25% duty cycle on a 3.3 V pin gives an average of about 0.8 V.

Dynamic Dispatch

Choosing at run time which method runs for a message, by searching the receiving object's class and then its parent classes.

Example: item.describe() runs Book.describe() for a book and DVD.describe() for a DVD.

↑ Back to Top
E

E-Commerce

Buying and selling goods or services online.

Example: An online store with a shopping cart and card payments.

Edge Case

An unusual or extreme input or situation at the limits of what a program handles.

Example: An empty list, a name with an apostrophe, or February 29.

Eligible Data Breach

Under the Privacy Act, unauthorised access to, or disclosure or loss of, personal information that is likely to result in serious harm to an individual, which triggers notification.

Example: A stolen customer database containing addresses and identity document numbers.

Encapsulation

The bundling of data (attributes) and the methods operating on that data within a single unit (class). Access modifiers (public, private, protected) control visibility, preventing unintended external interference.

Example: A BankAccount hides balance and exposes deposit().

Encryption

Converting readable data (plain text) into cipher text with an algorithm and a key, so only someone with the right key can read it.

Example: AES-256 encrypting a customer database so a stolen copy is unreadable.

End Effector

The device at the end of a robotic arm that interacts with the environment.

Example: A gripper, suction cup or welding torch.

Endpoint

A URL on a server that an API client sends requests to for a particular resource or action.

Example: GET /api/students/42

Environment Variable

A named value set outside the code, used for settings and secrets so they are not stored in the source.

Example: os.environ["DATABASE_URL"]

Epoch

One complete pass through the whole training set during training.

Example: Training for 20 epochs means the model sees every example 20 times.

Equal Opportunity (Fairness Measure)

A fairness check that people who would achieve a good outcome have the same chance of being selected, whatever their group.

Example: Among applicants who would repay a loan, both groups are approved at the same rate.

Evaluate

NESA

Make a judgement based on criteria; determine the value of.

Example: Judging two sorting algorithms against criteria such as speed, memory use and readability, then recommending one.

Exception

An error that occurs while a program runs and can be caught and handled instead of crashing the program.

Example: try: … except ValueError: print("Enter a number")

Exception Management

Handling runtime errors so a program responds safely instead of crashing or revealing sensitive details.

Example: Catching a database error and showing "Something went wrong" while logging the details privately.

Explainability

The ability to give human-understandable reasons for how an AI system reached a decision.

Example: A decision tree's path from root to leaf shows why a loan was declined.

Exploit

Code or a technique that takes advantage of a vulnerability.

Example: A crafted input string that uses a SQL injection flaw to dump the users table.

↑ Back to Top
F

Facade Pattern

A design pattern providing a simplified interface to a complex set of classes, hiding underlying complexity. Example: a payment gateway's facade hides the details of multiple payment processors.

Fail Securely

A design principle that when an error occurs or a case is not covered, the system denies access instead of allowing it.

Example: An unknown user role is given no permissions, so the edit-marks request returns 403 Forbidden.

Fail-Safe

A design in which a fault leaves the system in a safe state.

Example: A pump that switches off if its moisture sensor reads an impossible value.

Faulty and Abnormal Data

Test data that is invalid or unexpected, used to check that a program rejects it safely.

Example: Entering "abc", −5 or an empty field into an age box.

Feasibility Analysis

An assessment of whether a project is viable across scheduling, financial, technical, and operational dimensions. Conducted during the Planning phase to determine project go/no-go decisions.

Example: Checking whether a booking app can be built in 10 weeks with the school's budget.

Feature Detection

Testing in code whether a browser supports a feature before using it, so that unsupported browsers get a working fallback.

Example: if ('serviceWorker' in navigator) registers a service worker only where it is supported.

Feature Engineering

Creating or choosing the input values (features) that help a model make better predictions.

Example: Turning a delivery timestamp into 'hour of day' and 'public holiday' features.

Feedback Loop

A cycle in which a system's outputs influence the data it later learns from, so an early pattern is strengthened.

Example: A recommender shows more of what was clicked, so those items are clicked even more.

Firewall

Hardware or software that filters network traffic against a set of rules, blocking connections that are not allowed.

Example: Blocking every incoming port on a server except 443 for HTTPS.

Flask

A lightweight Python web framework for building web apps and APIs.

Example: @app.route("/") above a function that returns the home page.

Flexbox

A CSS layout mode that arranges items in a row or column and shares space between them automatically.

Example: display: flex with flex-wrap lets three cards sit in a row on a desktop and stack on a phone.

Floating Point (Float)

A data type for numbers with a decimal part, stored approximately.

Example: price = 19.95

Flowchart

A visual diagram using the NESA symbols (terminator for BEGIN and END, rectangle for a process, diamond for a decision, parallelogram for input or output, and a double-sided rectangle for a subprogram) connected by arrows to represent the flow of logic through an algorithm.

Example: A diamond asks "age ≥ 18?" with yes and no arrows to different processes.

Flyback Diode

A diode placed across a motor, relay or solenoid coil to absorb the voltage spike produced when the coil is switched off.

Example: A diode across the greenhouse pump protects its driver transistor.

Foreign Key

A field in one table that refers to the primary key of another table, linking the two.

Example: student_id in the Enrolments table points to a row in Students.

Front-end Framework

Pre-built software environments (like React, Vue, or Angular) providing a structured approach to building browser user interfaces with reusable components, state management, and routing.

Example: Building a quiz interface with React components.

Finite State Machine (FSM)

A computational model with a finite set of states, defined transitions triggered by inputs or events, and associated actions. FSMs are fundamental to modelling embedded systems, protocols, and UI logic.

Example: A traffic light cycling red → green → amber → red.

Functional Requirements

Descriptions of the specific behaviors, features, and functions that a software system must provide. They define *what* the system should do.

Example: "The system must let students book a library room."

Functional Testing

Checking that each function of the software does what the specification says.

Example: Entering 10 items and confirming the 10 percent discount is applied.

Fuzzing

Testing by feeding a program large numbers of random or mutated inputs to find crashes and unexpected behaviour.

Example: A fuzzer sends thousands of malformed requests to an upload endpoint and reports the ones that crash it.

↑ Back to Top
G

Gantt Chart

A horizontal bar chart used to visualise project schedules, task durations, and dependencies over time. A key tool during the Planning phase of the SDLC.

Example: A bar for "Design" in weeks 1–2 and "Development" in weeks 3–6.

GDPR (General Data Protection Regulation)

The European Union's data protection law, which also applies to Australian organisations that offer services to people in the EU.

Example: Letting EU users download or delete all the data held about them.

Generalisation

The engineering process of identifying common traits among multiple classes and moving them into a shared parent class. Improves code reuse and design clarity.

Example: Moving name and email from Student and Teacher into a Person class.

Getter and Setter

A getter is a method that reads an attribute's value and a setter is a method that changes it, usually after validating the new value.

Example: A Member email setter raises ValueError if the new address has no @ sign.

Gini Impurity

A measure of how mixed the labels in a group are, from 0 (one label only) to 0.5 (an even mix of two), used to choose decision tree questions.

Example: A group of four spam and one genuine email has a Gini impurity of 0.32.

Git Commit

A saved snapshot of the tracked files in a Git repository, with a message and a link to its parent commit.

Example: git commit -m "Add search box" records the staged changes as one commit.

Git Fork

A personal copy of another person's repository, usually made so changes can be proposed back through a pull request.

Example: A contributor forks an open-source library, fixes a bug on a branch and opens a pull request.

God Object

A class that does too much, holding unrelated data and behaviour, which makes it hard to test and change.

Example: One Library class that stores data, validates input, prints reports and sends emails.

Gradient Descent

An optimisation method that repeatedly adjusts a model's parameters a small step in the direction that reduces the loss most.

Example: Nudging a line's slope and intercept until the error stops falling.

Grey-Box Testing

NESA

A testing technique where there is a partial knowledge of the internal workings of an application. Its purpose is to search for defects related to improper code structure or the improper use of functions. This technique gives the ability to test both the code and the presentation layer of an application.

Note: grey box testing and gray box testing mean the same.

Example: Knowing a login uses a database, then testing inputs designed to probe for SQL injection.

GUI (Graphical User Interface)

An interface allowing users to interact with software through visual elements (buttons, menus, icons) rather than text commands. GUI design is evaluated against usability heuristics.

Example: A form with text boxes and a "Submit" button.

↑ Back to Top
H

Hash Function

A function that converts a key into a slot number in a hash table.

Example: Adding character codes and taking the remainder after dividing by 7 maps Ava to slot 0.

Hash Table

A data structure that stores key–value pairs and uses a hash function to find a value very quickly from its key.

Example: A Python dictionary: phone["Ava"].

Hashing

A one-way mathematical function that produces a fixed-length fingerprint of data. Used for secure password storage, data integrity verification, and digital signatures. Cryptographic hash functions (SHA-256, bcrypt) ensure that even identical inputs produce consistent outputs, but the original data cannot be recovered.

Example: Storing a password as its SHA-256 hash rather than as plain text.

Headless CMS

A back-end-only content management system that stores and delivers content via API, decoupled from any front-end presentation layer. Allows content to be rendered on any platform or framework.

Example: A school news site pulls articles from Strapi through an API.

H-Bridge

A circuit (such as the L298N) that allows a microcontroller to control the speed and direction of a DC motor by switching transistors to forward or reverse current flow.

Example: Reversing a robot's wheel motor by switching an L298N's inputs.

Hexadecimal

The base-16 number system, using digits 0–9 and A–F; each hex digit stands for four bits.

Example: The colour #FF0000 is pure red.

Hidden Layer

A layer of neurons between the input and output layers of a neural network.

Example: A network with 784 inputs, two hidden layers of 128 neurons and 10 outputs.

HMAC

A hash that includes a secret key, so only someone holding the key can create a valid tag, proving a message is unchanged and from a key holder.

Example: The server signs 'pay:20:canteen' with a shared key; a changed amount no longer matches the tag.

HTML (HyperText Markup Language)

The standard markup language used to define the structure and content of web pages using semantic elements like headings, paragraphs, lists, and links.

Example: <h1>Welcome</h1>

HTTP (HyperText Transfer Protocol)

The application-layer protocol used for transferring plain-text content between clients and servers. HTTP is stateless — each request is independent.

Example: A browser sends GET /index.html and the server replies 200 OK.

HTTP Status Code

A three-digit number in an HTTP response that tells the client what happened.

Example: 200 OK, 404 Not Found, 500 Internal Server Error.

HTTPS (HTTP Secure)

A secure version of HTTP encrypted with TLS/SSL to provide confidentiality and integrity of data in transit. Required for any website handling sensitive user data.

Example: The padlock icon when logging in to online banking.

Hysteresis Band

A gap between two switching thresholds in which a controller keeps its current state, to stop rapid on/off switching.

Example: A heater that switches on below 19 °C and off above 21 °C stays as it is at 20 °C.

↑ Back to Top
I

I2C (Inter-Integrated Circuit)

A two-wire communication protocol (SDA and SCL) used to connect multiple sensors and displays to a master microcontroller. Supports multiple slave devices on the same bus.

Example: An OLED display and a temperature sensor sharing the same two wires to an Arduino.

IDE (Integrated Development Environment)

A software application providing comprehensive facilities for development, typically including a code editor, build tools, debugger, and integrated version control.

Example: VS Code with its debugger and Git integration.

Image Recognition

Using ML, usually neural networks, to identify objects, people or features in images.

Example: A phone app identifying a plant from a photo.

Implementation Methods (Direct, Phased, Parallel, Pilot)

Ways to change over from an old system to a new one: all at once (direct), in stages (phased), both running together (parallel), or at one site first (pilot).

Example: A school trials new attendance software in Year 7 only (pilot) before every year group uses it.

Inertial Measurement Unit (IMU)

A sensor package, usually an accelerometer and a gyroscope, that measures acceleration and rotation.

Example: A drone uses its IMU to detect that it is tilting.

Information

NESA

The presentation of data in a manner that is readily understood.

Example: Raw canteen sales figures presented as a bar chart of the five best-selling items.

Information System

NESA

The combination of digital systems, people and processes that collect, manage and analyse data.

Example: A school library system: scanners and servers (digital systems), librarians (people) and the borrowing and returns procedures (processes) that record and report loans.

Inheritance

A mechanism where a subclass (child) automatically acquires the attributes and methods of a superclass (parent), establishing an "is-a" relationship. Enables code reuse and polymorphism.

Example: class Dog(Animal): gives Dog everything Animal has.

Input Validation

Checking that input has the expected type, length, format and range before a program uses it.

Example: Rejecting an age of "abc" or −5 before it reaches the database.

Instance

A single object created from a class, holding its own values for the class's attributes.

Example: book1 and book2 are two instances of the Book class.

Instruction Set

The complete set of basic commands (opcodes) that a particular processor can execute.

Example: Arduino Uno code is compiled for the AVR instruction set; a Raspberry Pi uses ARM.

Integer

A data type for whole numbers, positive or negative, with no decimal part.

Example: students = 28

Integral Term

The part of a PID controller that adds up the error over time, so a persistent error keeps increasing the correction until it disappears.

Example: Adding an integral term removes the steady-state error left by proportional control.

Integration Testing

Testing that separate modules work correctly together.

Example: Checking the cart module passes the right total to the payment module.

Integrity

Guaranteeing that data has not been maliciously or accidentally altered without detection. One of the three pillars of the CIA triad, ensured through hashing and digital signatures.

Example: A checksum shows a downloaded installer has not been altered.

Intellectual Property (IP)

Creations of the mind, such as software, designs and brand names, that the law protects.

Example: A company's source code and logo.

Intelligent Automation

Automation, such as RPA, that uses ML so it can read unstructured input and make decisions rather than follow a rigid script.

Example: A bot that reads a referral email and books the right specialist appointment.

Interlock

A rule or device that prevents one action unless a safe condition is met.

Example: The gripper only opens when the robot's speed is zero.

Internationalisation (i18n)

Designing software so it can easily be adapted to different languages, regions and writing systems.

Example: Storing all interface text in translation files and using UTF-8 so Arabic and Chinese display correctly.

Interpreter

A program that translates and runs source code one statement at a time.

Example: Python runs your script through its interpreter.

Interrupt

A signal that causes the CPU to pause its current task and execute a special handler routine (the ISR). Interrupts enable real-time responsiveness to external events without polling.

Example: Pressing an emergency-stop button immediately halts a motor, whatever the program was doing.

IP Address

A number that identifies a device on a network so data can be delivered to it. IPv4 addresses have four parts from 0 to 255.

Example: 192.168.1.20

IPv6

The newer version of the Internet Protocol, using 128-bit addresses to replace the 32-bit addresses of IPv4.

Example: 2001:db8::1 is a documentation address written in IPv6 notation.

ISR (Interrupt Service Routine)

A specialised function executed immediately in response to an interrupt signal. Should be short and fast to avoid missing subsequent interrupts.

Example: A short function that sets stop = True when a button pin changes.

Iteration

The repetition of a process or set of instructions. In programming, refers to loops (FOR, WHILE, REPEAT/UNTIL); in management, refers to repeated development cycles in Agile.

Example: for mark in marks: total += mark

↑ Back to Top
J

JavaScript

A client-side scripting language used to create interactivity and dynamic behaviour on web pages. Enables DOM manipulation, form validation, and asynchronous requests.

Example: Showing an error message when a form field is left empty.

JSON (JavaScript Object Notation)

A lightweight text format for data made of key–value pairs and lists, widely used by web APIs.

Example: {"name": "Ava", "year": 12}

JSON-LD

A way of embedding machine-readable structured data, such as Schema.org descriptions, in a web page as JSON.

Example: A script block of type application/ld+json tells search engines that a page describes a video game and its price.

JWT (JSON Web Token)

An open standard for securely transmitting claims between parties as a compact, URL-safe JSON object. Widely used in stateless authentication flows.

Example: After login, the app sends a signed token with each request instead of a password.

↑ Back to Top
K

K-Means Clustering

An unsupervised algorithm that repeatedly assigns points to the nearest of k centres and then moves each centre to the average of its group.

Example: Grouping customers into small, medium and big spenders.

K-Nearest Neighbour (KNN)

An instance-based algorithm that makes predictions based on the labels of the K most similar training examples in feature space. Simple to implement but computationally expensive for large datasets.

Key Derivation Function

A deliberately slow password-hashing method, such as PBKDF2, bcrypt or Argon2, that makes every password guess expensive for an attacker.

Example: hashlib.pbkdf2_hmac('sha256', password, salt, 600000) repeats the calculation 600,000 times.

↑ Back to Top
L

Language-Dependent Optimisation

An improvement to speed, memory use or clarity that relies on a feature of a particular programming language.

Example: Replacing a manual loop with Python's built-in sum().

Latency

The delay between sending a request and the start of the response.

Example: 200 ms latency to a server on another continent.

Lazy Instantiation

Creating an object only when it is first needed instead of when the program starts, to save time and memory.

Example: A Library builds its ReportGenerator only the first time reports are requested.

Lazy Loading

Delaying the loading of images or components until they are about to be needed.

Example: loading="lazy" on an image below the fold stops it downloading until the reader scrolls near it.

Learning Rate

How big a step a model takes when it adjusts its weights during training.

Example: Too high and training overshoots; too low and it takes forever.

Least Squares

The method of fitting a line by choosing the slope and intercept that make the sum of the squared errors as small as possible.

Example: Fitting a line through study hours and marks.

Left Join

A join that keeps every row of the left table and fills the columns of the right table with NULL where there is no match.

Example: A left join from Developers to Games still lists a developer with no games, with a count of 0.

Linear Regression

A supervised algorithm used to predict a continuous numerical value by fitting a straight line (or hyperplane) to the data. Outputs values on a continuous scale rather than discrete classes.

Example: Predicting an exam score from hours studied.

Linear Separability

The property of data whose classes can be divided by a single straight line, which decides whether one neurone can learn it.

Example: AND is linearly separable but XOR is not.

List

An ordered collection of items that can grow and shrink as the program runs.

Example: names.append("Priya")

List Comprehension

A compact Python expression that builds a new list from an existing collection, optionally filtering the items.

Example: [age for age in ages if 18 <= age <= 65]

Live Data

Real data from actual operation, used to test that software works under real conditions.

Example: Testing a canteen program with last week's real orders.

Load Balancer

A server that spreads incoming requests across several servers so no single one is overloaded.

Example: Sending each new visitor to whichever of four web servers is least busy.

Logic Error

An error that causes a program to operate incorrectly or produce wrong output without crashing. The code is syntactically correct, but the algorithm or logic is flawed.

Example: Using < instead of <=, so a mark of exactly 50 fails.

Logistic Regression

A classification algorithm that outputs the probability (between 0 and 1) of an input belonging to a specific class. Outputs are squashed to a range via the sigmoid function.

Example: Predicting the probability that an email is spam.

Loss Function

A measure of how far a model's predictions are from the true values; training tries to make it as small as possible.

Example: Mean squared error for a regression model.

↑ Back to Top
M

Machine-Readable Data

Data in a structured format that software can process automatically.

Example: Event details in JSON-LD so search engines can show dates and venues.

Mainline

The top-level part of a program or algorithm, where execution starts, which names the subroutines to run in order without showing their detail.

Example: BEGIN Mainline calls GetOrder, ApplyDiscount and DisplayTotal.

Maintenance

The ongoing SDLC phase involving patching bugs, fixing security issues, and adding new features after software is deployed to production.

Example: Releasing version 1.1 to fix a bug reported after launch.

Malware

Malicious software, such as viruses, worms, spyware and ransomware, designed to damage systems or steal data.

Example: A fake game download that records keystrokes.

Man-in-the-Middle Attack

An attack where someone secretly intercepts, and may change, the messages between two parties.

Example: An attacker on a public Wi-Fi hotspot reading unencrypted HTTP traffic.

Manipulator

The parts of a mechatronic system (such as robotic grippers or arms) that physically interact with objects in the environment.

Example: A two-finger gripper that picks up blocks.

Manifest

A JSON file (manifest.json) that defines a PWA's name, icons, theme colours, and installation settings for adding to a user's home screen.

Example: {"name": "Canteen App", "start_url": "/"}

Mass Assignment

A flaw where a server saves every field it receives in a request, letting an attacker set fields such as a user's role.

Example: A profile update request that adds "role": "admin" and is saved unchecked.

Mean Squared Error (MSE)

The average of the squared differences between predicted and actual values.

Example: Errors of 2 and 4 give MSE = (4 + 16) ÷ 2 = 10.

Mechatronics

An interdisciplinary field integrating mechanical, electrical, and software engineering to design intelligent systems, robotics, and embedded devices.

Example: An automatic irrigation system combining a moisture sensor, pump and control code.

Media Query

A CSS rule that applies styles only when a condition, such as screen width, is met.

Example: @media (max-width: 600px) { … }

Median Filter

A filter that replaces a reading with the middle value of recent readings, which ignores occasional spikes.

Example: The median of 24.0, 24.2, 30.9, 24.1 and 24.3 is 24.2.

Memory Management

Controlling how a program uses memory so it runs efficiently and cannot be exploited, for example through buffer overflows.

Example: Closing files and database connections when they are no longer needed.

Memory-Mapped I/O

A design in which a microcontroller's input and output peripherals are read and written as if they were memory locations.

Example: Writing a value to a PWM register's address changes a motor's speed.

Merge Conflict

When two branches change the same lines of a file, so version control cannot combine them automatically.

Example: Two students both edit the header of index.html.

Merge Sort

A divide and conquer sorting algorithm that splits a list in half repeatedly, then merges the sorted halves.

Example: Merge sort turns [38, 27, 43, 3] into [3, 27, 38, 43].

Message-Passing

The process by which objects communicate by calling each other's methods. A fundamental concept in OOP describing object interaction.

Example: cart.add(item): the checkout object sends a message to the cart object.

Metadata

Data that describes other data.

Example: A photo's date, camera model and GPS location.

Method

A function or procedure defined within a class that describes the behaviour of its objects. Methods operate on an object's attributes and can modify its state.

Example: account.withdraw(50)

Method Overriding

A subclass supplies its own version of a method that its superclass already defines, so objects of the subclass respond differently to the same message.

Example: ReferenceBook overrides check_out() to always return False, while Book inherits the normal version.

Method Resolution Order

The order in which Python searches a class and its parents for a method, from the object's own class upwards.

Example: For ReferenceBook the order is ReferenceBook, Book, LibraryItem, then Python's base classes.

Microcontroller

An integrated circuit containing a processor, memory, and I/O peripherals on a single chip, used for real-time control of embedded systems.

Example: An Arduino Uno or Raspberry Pi Pico.

Machine Learning (ML)

A specific subset of AI where systems automatically learn patterns from data and improve performance over time without being explicitly programmed for every scenario.

Example: A model that learns to recognise handwritten digits from thousands of examples.

Microprocessor

A CPU on a chip that needs separate memory, storage and input/output chips to make a working computer.

Example: A Raspberry Pi-class board uses a microprocessor with external RAM and an SD card, and runs Linux.

Milestone

A marked point on a schedule, shown as a diamond on a Gantt chart, that signals an important event or deliverable.

Example: Specifications signed off by the client.

Mind Map

A diagram that organises ideas in branches around a central topic.

Example: A map of Library Loans with branches for loans, catalogue, reports and members.

Minification

Removing whitespace, comments and unneeded characters from code files to make them smaller without changing behaviour.

Example: A 100 KB stylesheet becomes smaller when comments and line breaks are removed.

Misuse Case

A description of how an attacker might abuse a feature, written alongside the use case so it becomes a testable security requirement.

Example: Use case: a student views their marks. Misuse case: the student edits the URL to view another student's marks.

MLOps

The automated process of designing, training, validating, deploying, and monitoring machine learning models, integrating DevOps principles into the ML lifecycle.

Example: Automatically retraining and redeploying a recommendation model each month.

Model

NESA

A mathematical, conceptual or physical representation that describes, simplifies, clarifies or provides an explanation of the structure, workings or relationships within an object, system or idea. Models can provide a means of testing and predicting behaviour within limited conditions. Models may be physical or exist in digital form.

Example: A class diagram of a library system, or a scale physical model of a robot arm.

Model Drift

The gradual fall in a deployed model's accuracy as the real world changes after training.

Example: A weekly monitoring check shows a spam filter's accuracy dropping from 90% to 70%.

Model Monitoring

Checking a deployed model's performance over time and raising an alert when it falls below the agreed target.

Example: A script compares each week's predictions with what actually happened.

Model Validation

Testing a trained model on data it has not seen to check it meets the success metric.

Example: Holding back the most recent month of deliveries to test a delivery-time model.

Modularity

Building software from separate, self-contained parts that can be developed, tested and reused independently.

Example: Keeping login, payments and reporting in separate modules.

Moving Average

A filter that replaces each reading with the mean of the most recent readings, to smooth noise.

Example: Averaging the last five temperature readings so one spike does not open the vent.

Multi-Factor Authentication (MFA)

Logging in with two or more different kinds of evidence: something you know, something you have or something you are.

Example: A password plus a six-digit code from an authenticator app.

Multiplicity

A notation on a class diagram relationship that states how many objects of one class can be linked to one object of the other, such as 0..*, 1..* or 0..1.

Example: 0..3 at the LibraryItem end means a member borrows between zero and three items.

MVC (Model-View-Controller)

An architectural design pattern separating an application into three independent layers: Model (data & logic), View (UI), and Controller (input handling).

Example: Flask routes (controller) fetch data (model) and render a template (view).

↑ Back to Top
N

N+1 Query Problem

A performance fault in which code runs one query to fetch a list and then one more query for each item in it.

Example: Fetching 1,000 publishers and then querying each one's games makes 1,001 queries instead of one join.

Name Mangling

Python's renaming of an attribute that starts with a double underscore so it becomes harder to reach by accident from outside its class.

Example: Inside Member, __loans is stored as _Member__loans.

Naming Convention

Agreed rules for naming variables, functions and classes so code is consistent and readable.

Example: snake_case for Python functions, PascalCase for classes.

Natural Language Processing (NLP)

The branch of AI that lets computers understand and generate human language.

Example: A chatbot answering questions about school events.

Network Address Translation (NAT)

A technique in which a router lets many devices with private IP addresses share one public IP address.

Example: All devices in a home use 192.168.x.x addresses but appear to the internet as one public address.

Network-First Strategy

A service worker strategy that tries the network first and falls back to the cache if the network fails.

Example: Live game prices use the network and fall back to the last cached copy when offline.

Neural Network

A computational model inspired by the brain, composed of layers of interconnected artificial neurons that learn to recognise patterns in data through training.

Example: A network with input, hidden and output layers that classifies photos of animals.

Neuron

A unit in a neural network that multiplies its inputs by weights, adds them with a bias and passes the result through an activation function.

Example: One neuron combining pixel values to detect an edge.

Node.js

A runtime that lets JavaScript run on a server rather than only in the browser.

Example: A chat app whose back end is written in JavaScript with Node.js.

Non-Functional Requirements

Requirements that describe *how well* a system should perform, such as security, usability, performance, reliability, and scalability — as opposed to what it should do.

Example: "Pages must load within 2 seconds."

NoSQL Database

A schema-free database that stores data in flexible formats like JSON documents, key-value pairs, or wide columns, offering scalability and flexibility over strict consistency.

Example: Storing user profiles as JSON documents in MongoDB.

Notifiable Data Breaches (NDB) Scheme

The Australian requirement to notify affected people and the OAIC when a data breach is likely to cause them serious harm.

Example: A retailer emailing customers and reporting to the OAIC after credit card data is stolen.

npm

The package manager for JavaScript; it installs and tracks the libraries a project depends on.

Example: npm install express

↑ Back to Top
O

OAuth

A standard that lets users give an app limited access to their account on another service without sharing their password.

Example: "Sign in with Google" on a school app.

Object

A specific runtime instance of a class, allocated in memory with its own state (attribute values). Multiple objects can exist from the same class blueprint, each maintaining independent state.

Example: s1 = Student("Ava") creates one student object.

Object-Oriented Programming (OOP)

NESA

A paradigm based on the concept of ‘objects’ that can contain data and code in the form of procedures. OOP language is a language based on the principles of ‘C’.

Example: A Book class holds a title and author and has a check_out() method; each Book object made from it holds its own data.

Object-Relational Mapping (ORM)

NESA

A technique used in object-oriented programming to query and manipulate data from a database.

Example: Student.query.filter_by(year=12) instead of SELECT * FROM student WHERE year = 12.

Observer Pattern

A design pattern defining a one-to-many dependency so that when one object changes state, its dependents (observers) are automatically notified and updated.

Example: A score display updates automatically whenever the game's score changes.

Opcode

The part of a machine code instruction that tells the processor which operation to perform.

Example: ADD or JMP in assembly language.

Open Loop System

A simple control system that operates on a fixed sequence or timer without using feedback. No mechanism to adjust output if conditions change.

Example: A toaster that heats for a fixed time regardless of how brown the bread is.

Open Redirect

A flaw where a site sends users to any address supplied in a parameter, letting attackers use the trusted site to lead victims to a fake one.

Example: /login?next=https://evil.example sends the user to the attacker's site after sign-in.

Open-Source Software

Software whose source code is freely available to use, study, change and share under a licence.

Example: Linux, Python and VS Code.

Output Encoding

Converting special characters when data is displayed so a browser shows them as text instead of running them as code.

Example: Writing &lt; instead of < in a page to prevent XSS.

Outsourcing

Paying an outside company or service to build or run part of a system.

Example: Using Stripe for payments instead of building a payment system.

Overfitting

A model error where an algorithm memorises training noise instead of generalising, leading to high accuracy on training data but poor performance on unseen test data.

Example: A model scores 99% on training data but 60% on new data.

Overflow

An error that occurs when a result is too large for the bits available, so the value wraps round.

Example: In 8-bit two's complement, 127 + 1 gives 10000000, which reads as -128.

↑ Back to Top
P

Packet Switching

A method of sending data in which a message is split into packets that are routed independently and reassembled at the destination.

Example: One web page reaches the browser as three packets that may take different routes.

Parameter

A variable in a subprogram's definition that receives a value (the argument) when the subprogram is called.

Example: In def area(width, height), width and height are parameters.

Parameter Passing

Sending values into a subprogram when it is called so it can work with them.

Example: In calculate_gst(price), the value of price is passed in.

Parameterised Query

A database query where user input is passed separately as parameters, so it can never change the structure of the SQL; the main defence against SQL injection.

Example: cur.execute("SELECT * FROM users WHERE name = ?", (name,))

Path Coverage

Testing so that every possible route through the code, such as every branch of each IF, is run at least once.

Example: Test data that makes an IF statement both true and false.

Penetration Testing

Authorised, realistic simulations of cyber attacks by ethical hackers to identify and exploit vulnerabilities. Provides evidence of real-world exploitability unlike SAST/DAST tools.

Example: A hired ethical hacker tries to break into a school's student portal.

Peer Review

A process where colleagues systematically examine software products (code, documentation) to find defects and ensure adherence to standards before moving to the next stage.

Example: Swapping algorithms with a classmate to check each other's logic.

Perceptron

A single artificial neurone that fires when the weighted total of its inputs reaches a threshold, and learns by adjusting its weightings after each mistake.

Example: A perceptron that learns the AND function.

Permissive Licence

An open-source licence that allows use in almost any project, including closed ones, if the notice is kept.

Example: The MIT licence lets a paid app include an MIT library provided the copyright notice is shown.

Personal Information

Information or an opinion about an identified person, or one who could reasonably be identified, which the Privacy Act protects.

Example: A name, address, date of birth or photo.

Phishing

A social engineering attack that uses a fake message or website to trick people into revealing passwords or other secrets.

Example: An email "from IT" asking staff to confirm their password on a look-alike login page.

PID Control

A control loop mechanism (Proportional-Integral-Derivative) that adjusts actuator output based on the error between a setpoint and actual state, enabling smooth, responsive control.

Example: A drone adjusts motor speeds to hold a steady height despite wind.

Place Value

The worth of a digit's position in a number, which is the base raised to a power.

Example: In binary 1101 the leftmost 1 is worth 8.

Plain Text

Readable data before it is encrypted, or after it is decrypted.

Example: The message "Meet at 3pm" before encryption.

Polling

A software technique where the CPU constantly checks a status flag to see if an event has occurred, rather than responding to interrupts. Less efficient than interrupts.

Example: A loop that checks if button_pressed() every few milliseconds.

Polymorphism

The ability for objects of different types to respond to the same method call in their own type-specific way. Achieved through method overriding (runtime) or overloading (compile-time).

Example: shape.area() works for both a Circle and a Square.

Polynomial Regression

A regression model that fits a curve, rather than a straight line, to predict a numeric value.

Example: Predicting a car's braking distance from its speed, which rises faster than a straight line.

Port Number

A 16-bit number that identifies which program on a computer should receive incoming data.

Example: HTTPS servers listen on port 443 and SFTP on port 22.

Post-Project Review

A structured look back at a finished project that compares the plan with what happened and records lessons for the future.

Example: Critical path slipped 2 days early on, so a larger buffer is planned after requirements next time.

Premature Optimisation

Making code faster or smaller before measuring whether it is a problem, which usually adds complexity for little benefit.

Example: Rewriting a loop in an obscure way when profiling shows it takes almost no time.

Primary Key

A field (or fields) whose value uniquely identifies each record in a database table.

Example: student_id in the Students table.

Principle of Least Privilege

Giving each user, program or process only the access it needs to do its job, and no more.

Example: A reporting app connects to the database with a read-only account.

Privacy Act 1988

The Australian law that regulates how government agencies and larger organisations collect, use, store and disclose personal information.

Example: A company must tell users why it is collecting their email address.

Privacy by Design

An approach that builds privacy into software from the start: proactive, embedded in the design and respectful of users.

Example: A fitness app that stores location data only on the phone unless the user chooses to share it.

Privacy Impact Assessment

A structured review, done early in a project, of how personal information will be collected, used, stored and protected, and what privacy risks result.

Example: Before building a fitness app, the team assesses whether exact GPS routes need to be collected at all.

Private Key

In asymmetric encryption, the secret key kept only by its owner; it decrypts data or creates a digital signature.

Example: The web server keeps its private key secret and uses it to prove its identity.

Procedural Programming

NESA

A method of programming where the program is divided into functions. A program consists of data and procedures (modules) that operate on the data. Data and procedures are treated as separate entities.

Example: A program with separate functions such as calculate_gst(price) and print_receipt(items) that work on data held in a list.

Process Diary

A dated record of a project's progress, decisions, problems and reflections, also called a log book.

Example: An entry records the date, author, tasks achieved, stumbling blocks, next steps and resources used.

Product Owner

In Scrum, the person who represents the client, decides what goes in the product backlog and sets its priorities.

Example: Deciding the login page matters more this sprint than the dark mode.

Profiling

Measuring which parts of a program use the most time or memory so that optimisation effort is aimed where it matters.

Example: Running cProfile shows one method takes most of the run time.

Program Counter

A special CPU register that holds the address of the next instruction to be fetched.

Example: After fetching the instruction at 0x01, the program counter changes to 0x02.

Progressive Enhancement

Building a working baseline for every browser and then adding newer features where they are supported.

Example: A form works with plain HTML and gains live validation where JavaScript is available.

Property Decorator

A Python feature, written @property, that lets a getter or setter method be used with ordinary attribute syntax.

Example: member.email = "a@b.com" runs the email setter without any method-call brackets.

Proportional Control

A closed loop method in which the actuator command is proportional to the error.

Example: A vent that opens 10 degrees for every °C above the setpoint.

Prototype

NESA

A trial product or model built to test an idea or process to inform further design development. Its purpose is to see if and how well the design works and is tested by users and systems analysts. A prototype can be either a physical object or exist in digital form.

Example: A clickable Figma mock-up shown to the client before coding.

Proxy Variable

A feature that looks neutral but carries the same information as a protected characteristic.

Example: Postcode standing in for ethnicity in a loan model.

Pseudocode

NESA

A form of algorithm description that uses English-like statements with defined rules of structure and keywords.

Example: IF mark ≥ 50 THEN display "Pass" ENDIF

Progressive Web App (PWA)

A web application built with standard technologies (HTML, CSS, JS) that offers a native-app-like experience, including offline functionality, push notifications, and installability.

Example: A news site that can be installed on a phone and read offline.

Pseudonymisation

Replacing identifying details with a code so data can be analysed without directly naming the person, while noting that it is still personal information if it can be linked back.

Example: Analytics sees a keyed hash of a user's email instead of the email address.

Public Key

In asymmetric encryption, the key that can be shared with anyone; it encrypts data or verifies a signature.

Example: A website's public key is sent inside its TLS certificate.

Pull Request

A request to merge changes from one branch into another, where teammates can review the code first.

Example: Opening a pull request for the new login feature so a teammate can review it.

PWM (Pulse Width Modulation)

A technique for controlling the average voltage delivered to a component by varying the duty cycle of a square wave. Used to control motor speed and LED brightness.

Example: Dimming an LED by switching it on 25% of the time.

↑ Back to Top
Q

Q-Learning

A reinforcement learning method in which an agent keeps a table of how good each action is in each state and updates it from rewards.

Example: An agent in a corridor learns to move right to reach the goal.

Quality Assurance (QA)

The planned, ongoing checks that make sure software meets agreed quality criteria and legal requirements.

Example: Agreeing a 2-second load-time target and testing it on every release.

Queue

A first in, first out (FIFO) data structure: items join at the back and leave from the front.

Example: Print jobs waiting for a printer.

↑ Back to Top
R

R Squared

A score from 0 to 1 showing how much of the variation in the data a regression model explains, compared with always guessing the mean.

Example: An R squared of 0.993 means the line explains nearly all the variation in marks.

Race Condition

A flaw where the result depends on the timing of two actions happening at once, which attackers can exploit.

Example: Two withdrawals processed at the same moment both see $100 and both succeed.

Ransomware

Malware that encrypts a victim's files and demands payment for the key.

Example: A hospital unable to open patient records until a ransom is paid, or until it restores from backup.

Rate Limiting

Restricting how many requests one client may make in a period, to slow guessing, scraping and denial-of-service attacks.

Example: The API returns 429 Too Many Requests after three calls in 60 seconds from the same API key.

Record

A data structure that groups related fields of different types about one item.

Example: A student record with name (string), ID (integer) and enrolled (Boolean).

Recovery Point Objective

The greatest amount of recent data, measured in time, that a business can afford to lose in an incident.

Example: With backups every 6 hours the worst-case loss is 6 hours, so a 1-hour RPO is not met.

Recovery Time Objective

The longest time a service can be unavailable after an incident before the business is harmed.

Example: A booking system with a 4-hour RTO must be restored within four hours of an outage.

Recursion

A programming technique where a function calls itself to solve a problem. Each call reduces the problem to a smaller subproblem until a base case is reached.

Example: factorial(n) = n × factorial(n − 1), stopping at factorial(1) = 1.

Refactoring

Improving the structure of code without changing what it does.

Example: Replacing three copies of the same calculation with one function.

Refinement Chart

NESA

A diagrammatic model that breaks down the steps of an outline solution into smaller and smaller steps.

Example: "Process an order" is broken into "Get items", "Calculate total" and "Print receipt", and each of those is broken into smaller steps.

Reflected XSS

A cross-site scripting attack in which malicious input from a request, such as a URL, is echoed straight back in the response page.

Example: A search page that prints the query into the page without encoding lets a crafted link run a script.

Regression Testing

Re-running earlier tests after a change to make sure nothing that worked before is now broken.

Example: Running the full test suite after fixing a bug in the login code.

Reinforcement Learning

A machine learning model where an agent learns through trial and error by receiving rewards or penalties from an environment, improving policy over time.

Example: A game-playing agent earns points for winning and learns better moves.

Render-Blocking Resource

A stylesheet or script that stops the browser drawing the page until it has been downloaded and processed.

Example: A large script in the head without defer delays the first paint.

Repository

A store for a project's files and their complete version history, managed by a version control system such as Git.

Example: A GitHub repository for the major project.

Requirements Elicitation

The process of seeking and capturing requirements of a system from users and stakeholders through interviews, surveys, focus groups, and observation.

Example: Interviewing library staff about how they currently track loans.

Responsive Design

Designing web pages so their layout adapts to different screen sizes, from phones to desktops.

Example: A three-column layout that becomes one column on a phone.

REST (Representational State Transfer)

An architectural style for designing networked APIs using standard HTTP methods (GET, POST, PUT, DELETE) and stateless communication. The dominant approach for modern web services.

Example: DELETE /api/students/42 removes student 42.

Return Value

The value a function sends back to the code that called it.

Example: return total

Robotic Process Automation (RPA)

Software bots that copy what a person does on a computer to complete repetitive, rule-based tasks.

Example: A bot that copies invoice details from emails into an accounting system.

Role-Based Access Control (RBAC)

Access control that grants permissions to roles, such as admin or student, rather than to individual users.

Example: Assigning a new staff member the "teacher" role gives them every teacher permission at once.

Rotary Encoder

A sensor that produces pulses as a shaft turns, allowing speed and position to be measured.

Example: An encoder on a wheel lets a robot measure how far it has driven.

Route

A rule in a web framework that maps a URL pattern and HTTP method to the function that handles the request.

Example: @app.route("/games/<int:game_id>") sends /games/4 to show_game(4).

RSA

An asymmetric encryption algorithm based on the difficulty of factoring very large numbers, used for key exchange and digital signatures.

Example: Signing a software update with an RSA private key so users can verify it.

Runtime Error

An error that occurs while a program is running, often causing it to crash due to impossible operations like division by zero or accessing an out-of-bounds array index.

Example: Dividing by zero when a class has no students.

↑ Back to Top
S

Salt

A random value, different for every user, that is mixed into a password before hashing so identical passwords give different hashes.

Example: Two students both choose 'password123' but the database stores two different hashes because each has its own salt.

Sandboxing

Running code in an isolated environment so it cannot harm the rest of the system.

Example: A browser runs each tab in its own sandbox, so a malicious page cannot read your files.

Sanitisation

Cleaning or escaping input so any characters with special meaning, such as HTML or SQL, are treated as plain data.

Example: Converting <script> to harmless text before showing a comment.

SAST (Static Application Security Testing)

Security testing conducted on source code, bytecode, or binaries without executing the application (white-box testing). Identifies vulnerabilities early in the SDLC.

Example: A static analysis tool scans Python source code and flags insecure functions such as eval().

Schedule Float (Slack)

The number of days a task can be delayed without delaying the project finish date, worked out as latest start minus earliest start.

Example: The Loan module has 5 days of float, so a 4-day delay does not move the finish date.

Scope Creep

Uncontrolled growth in a project's requirements after it has started, often causing delays and cost overruns.

Example: A client adding "just one more feature" every week.

Scope Statement

A written description of what a project will and will not deliver.

Example: Version 1 covers search, loans, returns and overdue lists, and excludes email reminders.

Scripting Language

NESA

A programming language designed for integrating and communicating with other programming languages.

Example: JavaScript in a web page reads and changes the HTML and CSS around it and calls a back-end API.

Scrum

A lightweight Agile framework organising development into fixed-length iterations called Sprints (typically 2–4 weeks). Defines roles and ceremonies for iterative delivery.

Example: A daily stand-up, a two-week sprint, and a sprint review with the client.

SDLC (Software Development Life Cycle)

The structured set of cyclical phases used to plan, design, develop, test, and deliver software. NESA defines four key phases: Defining & Understanding, Planning & Designing, Producing & Implementing, and Testing & Evaluating.

Example: Moving a canteen app from requirements through design, testing and maintenance.

Secure Development Lifecycle

A software development process that adds a security activity and its evidence to every step, from requirements to maintenance.

Example: Misuse cases at requirements, threat modelling at design, SAST at development, a penetration test before launch.

Security by Design

Building security into software from the first design decisions rather than adding it at the end.

Example: Choosing parameterised queries and role-based access before any code is written.

Security of Critical Infrastructure Act 2018

An Australian Act setting security obligations, such as risk management and cyber incident reporting, for operators of critical infrastructure assets.

Example: An electricity network operator must report a significant cyber incident.

Selection

A control structure that evaluates a condition to choose between different execution paths using IF/ELSE or CASE statements.

Example: if age >= 18: print("Adult")

Semi-Supervised Learning

A machine learning model that uses a small amount of labelled data combined with a large pool of unlabelled data to improve learning efficiency.

Example: Labelling 100 photos by hand, then letting the model label 10,000 more.

Sensor

An input device that converts physical properties (light, temperature, motion, distance) into electrical signals for a microcontroller to process.

Example: An ultrasonic sensor measuring the distance to a wall.

Sensor Fusion

Combining readings from several sensors to get a more accurate or reliable picture than any one sensor gives.

Example: A drone combining its accelerometer, gyroscope and GPS to hold its position.

Sentinel Value

A special input value that signals the end of the data and is not processed as data.

Example: Entering -1 ends a loop that reads marks.

Sequence

A control structure where instructions are executed in order, one after another, as they are written.

Example: Read two numbers, add them, then display the total.

Sequential File

A file whose records are stored and read in order, one after another, from the start.

Example: A CSV log file read line by line.

Service Worker

A JavaScript file that runs in the background to handle caching, push notifications, and offline functionality in Progressive Web Apps.

Example: Caching a timetable so it still opens with no signal.

Servo Motor

A motor that provides precise angular control, typically using a PWM signal to set a position between 0 and 180 degrees. Includes built-in feedback control.

Example: Setting a servo to 90° to point a camera straight ahead.

Session Fixation

An attack in which the attacker makes a victim use a session ID the attacker already knows, then takes over the session after the victim logs in.

Example: Issuing a new session ID at login makes a pre-login ID planted by an attacker useless.

Session Key

A temporary symmetric key agreed during the TLS handshake and used to encrypt the data of one connection.

Example: After the handshake, the browser and server encrypt every request and response with the session key.

Session Management

Securely tracking a logged-in user across requests, including creating, protecting and ending their session.

Example: Expiring a session after 15 minutes of inactivity and issuing a new session ID at login.

Setpoint

The target value that a control system tries to hold.

Example: A greenhouse controller with a setpoint of 26 °C opens the vent when the measured temperature rises above it.

Side Channel Attack

An attack that gathers secrets from how a system behaves, such as timing, power use or sound, rather than from its data.

Example: Guessing a password one character at a time by measuring how long each check takes.

Sigmoid Function

A curve that squashes any number into a value between 0 and 1, used to turn a weighted sum into a probability.

Example: The sigmoid of 0 is 0.5 and the sigmoid of 4 is about 0.98.

Sign Bit

The left-hand bit of a two's complement number, which is 1 for negative numbers and 0 for zero and positive numbers.

Example: In 8-bit 11111011 the sign bit is 1, so the value is negative.

Simulated Data

Made-up data that imitates real data, used for testing when real data is unavailable or unsafe to use.

Example: Generating 500 pretend canteen orders, including extreme values.

Single Line Stepping

Running a program one line at a time in a debugger to watch exactly what each line does.

Example: Stepping through a loop to see where total goes wrong.

Single Precision

A 32-bit floating point format with 1 sign bit, 8 exponent bits and 23 fraction bits, giving about seven significant digits.

Example: Storing 16777217 in single precision gives 16777216.0.

Single Responsibility Principle

The guideline that each class or method should have one job and one reason to change.

Example: A receipt method only formats a receipt; it does not also record the loan.

Singleton Pattern

A design pattern that ensures a class has only one instance and provides a global access point to it. Used for shared resources like database connections.

Example: One shared database connection object used across an app.

Specialisation

Creating a more specific subclass from an existing class, the opposite direction to generalisation.

Example: Adding AudioBook as a subclass of Book.

SPI (Serial Peripheral Interface)

A high-speed, four-wire communication protocol (MOSI, MISO, CLK, CS) used for devices like SD cards and ADCs. Faster than I2C but requires more wires.

Example: Reading data from an SD card module on an Arduino.

Sprint

A short, fixed period, usually one to four weeks, in which an Agile team builds and reviews a working piece of software.

Example: A two-week sprint that delivers the login page, followed by a review with the client.

SQL (Relational) Database

A database that stores data in structured tables with rows and columns, enforcing relationships between tables using primary and foreign keys.

Example: A Students table linked to an Enrolments table by student_id.

SQL Injection

A vulnerability where malicious SQL statements are inserted into input fields and executed by the database. Prevented via parameterised queries and input validation.

Example: Entering ' OR 1=1 -- into a login box to bypass the password check.

SQLite

A small, self-contained SQL database stored in a single file, built into Python.

Example: A Flask project storing its data in app.db.

SSL/TLS Certificate

A digital certificate that proves a website's identity and enables encrypted HTTPS connections.

Example: The certificate that makes a bank's address show a padlock.

Stack

A last in, first out (LIFO) data structure: items are added (pushed) and removed (popped) from the top.

Example: The undo history in a text editor.

Stakeholder

Anyone affected by, or with an interest in, a software project, such as clients, users, developers and managers.

Example: Students, teachers and parents are all stakeholders in a school app.

Stand-up Meeting

A short daily Agile meeting where each team member says what they did, what they will do and what is blocking them.

Example: A 15-minute meeting at 9 am, standing up to keep it short.

Steady-State Error

The difference between the setpoint and the value a control system settles at after it has stopped changing.

Example: A proportional-only vent controller that settles at 28.4 °C against a 26 °C setpoint has a steady-state error of 2.4 °C.

Stepwise Refinement

Developing an algorithm in levels, starting with a general mainline and adding detail to each named subroutine.

Example: The mainline calls GetOrder, and GetOrder is refined into its own algorithm.

Stored XSS

A cross-site scripting attack in which the malicious input is saved by the server and delivered to every user who views it.

Example: An attacker posts a comment containing a script and every visitor who loads the comments runs it.

Story Points

A relative measure of the effort a user story needs, used to plan and forecast work in an Agile project.

Example: Issuing a loan is sized at 5 points and refusing a loan at the limit at 3.

Storyboard

A sequence of visual layouts used in the Design phase to show the user's journey through a system, screen by screen.

Example: Six sketched screens showing a student booking, paying and receiving a receipt.

Stepper Motor

A motor that moves in discrete, precise steps rather than continuously, ideal for positioning tasks in 3D printers and CNC machines.

Example: Moving a 3D printer's print head exactly 0.1 mm.

STRIDE

A threat modelling framework identifying security risks: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege.

Example: Asking "Could someone spoof a teacher's login?" while reviewing a design.

String

A data type for a sequence of characters, such as text.

Example: name = "Priya"

Structure Chart

A hierarchical tool showing how a system is divided into modules, functions within those modules, and their relationships. Used extensively in the Design phase.

Example: A "Process Results" module split into "Read Marks", "Calculate Average" and "Print Report".

Structured Data

NESA

Data with a high degree of organisation, such that it can easily be analysed and processed using algorithms. The organisation of the data takes on a form that captures the properties and behaviours of the source the data represents.

Example: A table of students with columns for ID, name and year, where every row has the same fields, so a program can sort and filter it.

Structured Query Language (SQL)

NESA

Specialist programming language used to manage data and access data in relational database management systems.

Example: SELECT name FROM Students WHERE year = 12; lists the names of the Year 12 students.

Stub

A placeholder subroutine that stands in for code not yet written, so the rest of the program can be tested.

Example: def calculate_tax(pay): return 0 while the real tax rules are still being written.

Subclass

A class that inherits the attributes and methods of another class and may add or override them; also called a child class.

Example: Book is a subclass of LibraryItem.

Subprogram

A named, reusable block of code (a function, procedure or subroutine) that performs one task.

Example: calculate_gst(price)

Superclass

A class whose attributes and methods are inherited by another class; also called a parent or base class.

Example: LibraryItem is the superclass of Book and DVD.

Supervised Learning

A machine learning model trained on a labelled dataset where both inputs and correct outputs are provided, enabling the model to learn the mapping between them.

Example: Training on house photos labelled with their sale prices.

Support and Confidence

Measures used in data mining: support is the share of all records containing both items, and confidence is the share of records with the first item that also contain the second.

Example: Three of five baskets have both games (support 0.6) and three of the four Reef Runner baskets do (confidence 0.75).

Symmetric Encryption

A fast encryption method (like AES-256) where the same key is used for both encryption and decryption. Fast but requires secure key distribution.

Example: Encrypting a zip file with AES and sharing the same password with a friend.

Syntax Error

A violation of a programming language's grammar rules that prevents the code from running. Usually flagged by the IDE during compilation.

Example: Forgetting the colon in if x > 5.

System Boundary

The line that separates what a system will do and contain from the external people and systems it interacts with.

Example: Loans and overdue lists are inside the boundary; email reminders are outside.

Systems Thinking

NESA

An understanding of how related objects or components interact to influence how systems function. Students are provided with opportunities to recognise the connectedness of, and interactions between phenomena, people, places and events in local and wider contexts and consider the impact of their decisions. Understanding the complexity of systems and the interdependence of components is important for scientific research and for the creation of solutions to technical, economic and social issues.

Example: Seeing that adding a self-serve kiosk to the canteen affects queue length, staffing and food waste, not only the ordering step.

↑ Back to Top
T

TCP Three-Way Handshake

The SYN, SYN-ACK, ACK exchange that opens a reliable TCP connection before any data is sent.

Example: A browser sends SYN to a web server, receives SYN-ACK and replies ACK before the TLS handshake begins.

TCP/IP

The core internet protocols: IP addresses and routes packets; TCP makes sure they all arrive, in order and without errors.

Example: Loading a web page relies on TCP/IP to deliver every packet of the page.

Technical Debt

The future cost of rework caused by choosing a quick fix now instead of a better solution.

Example: Hard-coding prices to meet a deadline, then having to change them in 20 places.

Tell, Don't Ask

A design guideline that an object should be told to do something through a method rather than having its data read and the decision made by the caller.

Example: Call member.borrow(item) instead of checking len(member.loans) and appending to it.

Template Engine

A tool that combines an HTML template with data to produce a web page.

Example: Jinja2 filling {{ student.name }} in a Flask page.

Test Case

A single test: the input or action, the expected result, and the actual result.

Example: Input 101 → expected "Invalid mark" → actual "Invalid mark" ✔

Test Data

Inputs chosen to check a program works, including normal, boundary and faulty or abnormal values.

Example: Marks of 50, 0, 100, −1 and "abc".

Test Set

Data held back entirely until final evaluation to provide an unbiased estimate of real-world model performance. Should never be used during development or hyperparameter tuning.

Example: Keeping 20% of photos aside to measure the finished model's accuracy.

Threat Modelling

Systematically identifying what could go wrong with a system's security, how likely it is, and how to prevent it, usually during design.

Example: Using STRIDE on a data flow diagram to list threats to each process.

Time to Live (TTL)

The number of seconds a DNS answer may be cached before it must be looked up again.

Example: An A record with a TTL of 3600 is reused for an hour without asking the authoritative server.

TLS (Transport Layer Security)

A modern cryptographic protocol that provides secure, encrypted communication over a network. The successor to SSL, used by HTTPS to secure web traffic.

Example: The encryption behind the padlock in a browser address bar.

Top-Down Design

Designing a system by starting with the whole problem and breaking it into smaller and smaller parts.

Example: "Run canteen app" → "take orders", "take payments", "print dockets".

Trace Table

A table that records the value of each variable, and each decision, after every step as an algorithm is worked through by hand.

Example: A trace table for a loop has a column for i and a column for total, with a new row for each pass.

Training Set

The portion of a dataset (typically 70–80%) used by an algorithm to learn patterns and adjust weights. The model sees these examples repeatedly during training.

Tree

A hierarchical data structure of nodes, where each node has one parent (except the root) and may have children.

Example: A computer's folder structure.

Two's Complement

The standard method for representing negative integers in binary by inverting the bits of the positive equivalent and adding one. Enables efficient arithmetic on signed numbers.

Example: −5 in 8 bits: 00000101 → invert to 11111010 → add 1 → 11111011.

↑ Back to Top
U

UART (Universal Asynchronous Receiver-Transmitter)

A two-wire serial protocol (TX and RX) that requires no clock signal, used for serial communication between microcontrollers and computers.

Example: An Arduino sending sensor readings to a laptop over USB serial.

UML (Unified Modeling Language)

A standardised visual language for specifying, visualising, constructing, and documenting software systems. HSC-relevant diagrams include Class, Use Case, Sequence, and Activity Diagrams.

Example: A class diagram and a use case diagram for a library system.

Unauthorised Access

Viewing, changing or using a system or data without permission.

Example: A former employee still logging in to the payroll system after leaving.

Underfitting

A model error where the algorithm is too simple to learn the underlying patterns in training data, resulting in poor performance on both training and test sets.

Example: Fitting a straight line to data that clearly curves.

Unicode

The character standard covering the writing systems of the world, usually stored as UTF-8.

Example: Storing "Nguyễn" and "日本" correctly in a database.

Unit Testing

The practice of testing individual units (functions, methods, classes) in isolation to verify correct behaviour. Foundation of automated test suites and CI/CD.

Example: assert add(2, 3) == 5

Unit, Subsystem and System Testing

Testing at three levels: single units such as functions, groups of units working together, and the whole system.

Example: Test add_to_cart(), then the checkout subsystem, then a full order from login to receipt.

Unsupervised Learning

A machine learning model that analyses unlabelled data to find hidden patterns or groupings autonomously, without being told what the correct output should be.

Example: Grouping shoppers into clusters by buying habits, with no labels given.

Usability

How easily users can learn and use software to reach their goals.

Example: Testing whether new students can find their timetable within 30 seconds.

User Acceptance Testing (UAT)

The final testing phase where actual users test the software in real-world scenarios to ensure it meets requirements and is ready for production deployment.

Example: The canteen manager tries the finished ordering app before it goes live.

Use Case Diagram

A UML diagram representing interactions between users (actors) and the system to achieve specific goals (use cases). Helps define system scope and requirements.

Example: A "Student" actor linked to "Borrow Book" and "Return Book".

User Experience (UX)

NESA

The usability, ease of use, and enjoyment provided in the interaction between the customer and the product.

Example: Cutting checkout from five steps to two after user testing.

User Interface (UI)

NESA

The means by which users interact with computer hardware or software. In software, this usually comprises fields for text and number entry, mouse pointers, buttons and other graphical elements. In hardware, switches, dials and light-emitting diodes (LEDs) provide information about the interactions between a user and a machine.

Example: Buttons, forms and menus in an app.

User Stories

Requirement statements written from an end-user's perspective in the format: "As a [role], I want [feature] so that [benefit]." Core to Agile development.

Example: "As a student, I want to see my timetable so that I know where to go."

↑ Back to Top
V

Validation Set

Data used during development to tune hyperparameters and compare different model configurations. Separate from training data but evaluated during development, unlike the test set.

Example: Comparing models with 3, 5 and 7 layers on held-out data before the final test.

Variable

A named location in memory used to store data that can change during program execution. Variables have names, types, and scope.

Example: score = 0

Velocity

The number of story points a team completes in one sprint, averaged over past sprints to forecast the remaining work.

Example: An average of 7 points a sprint with 5 points left forecasts one more sprint.

Version Control (Git)

A system that tracks every change to code, allowing developers to revert to previous states, create branches, and collaborate safely. Git is the industry standard.

Example: git commit -m "Add login page" saves a snapshot you can return to.

Viewport

The visible area of a web page in the browser window.

Example: <meta name="viewport" content="width=device-width">

Virtual Personal Assistant

Software that uses speech recognition and ML to understand requests and carry out tasks.

Example: Asking Siri to set a timer.

Voltage Divider

Two resistors in series that share a supply voltage, so the voltage at their joint depends on their resistances.

Example: An LDR and a 10 kΩ resistor form a voltage divider whose midpoint voltage is read by an ADC.

Volume Testing

Testing with a large amount of data or many users to check speed and stability.

Example: Feeding a program 100 000 orders to see whether it slows or fails.

Vulnerability

A weakness in software, hardware or processes that an attacker could use to cause harm.

Example: A login form that does not limit the number of password attempts.

Vulnerability Assessment

A systematic review that finds, ranks and reports security weaknesses in a system.

Example: A scanner reports an outdated library with a known exploit and rates it high risk.

↑ Back to Top
W

Watch

A debugger feature that shows the value of a chosen variable or expression as the program runs.

Example: Watching len(queue) to see when the queue empties.

Watchdog Timer

A hardware timer that restarts the controller if the program does not reset it regularly, which shows the program has stopped responding.

Example: A drone's controller restarts if its main loop freezes.

Waterfall

A linear, sequential development approach where each phase (requirements, design, implementation, testing) must be completed before the next begins. Best suited for large projects with fixed, well-understood requirements.

Example: Finishing and signing off the full design before any code is written.

Web Accessibility (WCAG)

International guidelines developed by the W3C to make web content usable for people with various disabilities. Covers visual, hearing, motor, and cognitive disabilities.

Example: Adding alt text so a screen reader can describe an image.

Web Browser

The client application that requests web pages, then renders HTML and CSS and runs JavaScript.

Example: Chrome, Firefox and Safari.

Web Server

Software (and the computer running it) that receives HTTP requests and sends back web pages, files or data.

Example: Nginx serving a Flask app.

Weighted Decision Matrix

A table that scores options against criteria and multiplies each score by the criterion's weight to compare the totals.

Example: A school scores three CMS types against five criteria and finds the headless CMS has the highest weighted total.

Wireframe

A low-fidelity layout sketch of a single screen showing the placement of UI elements (buttons, text fields, navigation). Created early in Design phase before detailed visual design.

Example: A grey-box sketch showing where the logo, menu and search bar go.

White-Box Testing

NESA

A testing technique used to examine the internal workings of an application including the design, code and inner workings of software. This technique gives the ability to verify the flow of inputs and outputs through the application.

Example: Writing tests that make every IF statement take both its true and false paths.

WAGILE

A hybrid of Waterfall and Agile where high-level phases are planned in advance, but internal development is iterative. Pragmatic approach balancing both methodologies.

Example: A fixed-date project with a planned design phase, then Agile sprints for development.

World Wide Web Consortium (W3C)

NESA

The World Wide Web Consortium is the international standards organisation for the world wide web. All of the standards used for web development are defined by this organisation.

Example: WCAG accessibility guidelines are published by the W3C's Web Accessibility Initiative.

WSGI

The Python standard that lets a web server such as Gunicorn pass requests to a web application such as a Flask app.

Example: Nginx passes a request to Gunicorn, which calls the Flask app through WSGI.

↑ Back to Top
X

XSS (Cross-Site Scripting)

A vulnerability where an attacker injects malicious client-side scripts into web pages viewed by other users. Caused by improper input validation and output encoding.

Example: A comment containing <script> that runs in every reader's browser.

↑ Back to Top
Z

Zero-Day Vulnerability

A security flaw that attackers know about before the developer has released a fix.

Example: An exploit for a browser bug used in attacks the same day it is discovered.

↑ Back to Top