No terms found
We couldn't find any results matching your search. Try a different keyword or browse the categories.
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.
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.
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.
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.
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.
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.
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).
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.
Artificial Intelligence (AI)
The broad field of building machines that can simulate human cognitive functions such as learning, reasoning, and problem-solving. AI encompasses many sub-fields including machine learning, natural language processing, and computer vision.
Algorithm
A step-by-step procedure required to solve a problem or accomplish a task, defined by its efficiency, clarity, and finiteness. Every algorithm must eventually terminate with a definite result.
API (Application Programming Interface)
A contract defining how different software components communicate, specifying request formats and expected responses โ without exposing implementation details.
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.
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.
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.
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.
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?"
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?"
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.
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.
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.
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.
Binary Search
An efficient algorithm that finds an item in a sorted list by repeatedly dividing the search interval in half. It has a time complexity of O(log n), making it far faster than linear search for large datasets.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Coupling
The degree of interdependence between software modules. Loose coupling โ minimising direct knowledge between modules โ improves maintainability, testability, and security isolation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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."
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.
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.
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.
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.
Flowchart
A visual diagram using standardised symbols (oval for start/end, rectangle for process, diamond for decision) connected by arrows to represent the flow of logic through an algorithm.
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.
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.
Functional Requirements
Descriptions of the specific behaviors, features, and functions that a software system must provide. They define *what* the system should do.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
IDE (Integrated Development Environment)
A software application providing comprehensive facilities for development, typically including a code editor, build tools, debugger, and integrated version control.
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.
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.
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.
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.
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.
JavaScript
A client-side scripting language used to create interactivity and dynamic behaviour on web pages. Enables DOM manipulation, form validation, and asynchronous requests.
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.
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.
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.
Linear Search
A search algorithm that checks every element in a list sequentially until a match is found or the list ends. Time complexity is O(n), making it slow for large datasets.
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.
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.
Maintenance
The ongoing SDLC phase involving patching bugs, fixing security issues, and adding new features after software is deployed to production.
Manipulator
The parts of a mechatronic system (such as robotic grippers or arms) that physically interact with objects in the environment.
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.
Mechatronics
An interdisciplinary field integrating mechanical, electrical, and software engineering to design intelligent systems, robotics, and embedded devices.
Message-Passing
The process by which objects communicate by calling each other's methods. A fundamental concept in OOP describing object interaction.
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.
Microcontroller
An integrated circuit containing a processor, memory, and I/O peripherals on a single chip, used for real-time control of embedded systems.
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.
MLOps
The automated process of designing, training, validating, deploying, and monitoring machine learning models, integrating DevOps principles into the ML lifecycle.
MVC (Model-View-Controller)
An architectural design pattern separating an application into three independent layers: Model (data & logic), View (UI), and Controller (input handling).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
Prototype
An early sample or interactive mock-up built to test a concept or elicit stakeholder requirements. Helps visualise the final system before full development.
Pseudocode
A method of describing algorithm logic using capitalised keywords and indentation to show control structures, without language-specific syntax. NESA specifies a standard format for HSC examinations.
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.
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.
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.
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.
Requirements Elicitation
The process of seeking and capturing requirements of a system from users and stakeholders through interviews, surveys, focus groups, and observation.
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.
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.
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.
Scrum
A lightweight Agile framework organising development into fixed-length iterations called Sprints (typically 2โ4 weeks). Defines roles and ceremonies for iterative delivery.
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.
Selection
A control structure that evaluates a condition to choose between different execution paths using IF/ELSE or CASE statements.
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.
Sensor
An input device that converts physical properties (light, temperature, motion, distance) into electrical signals for a microcontroller to process.
Sequence
A control structure where instructions are executed in order, one after another, as they are written.
Service Worker
A JavaScript file that runs in the background to handle caching, push notifications, and offline functionality in Progressive Web Apps.
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.
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.
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.
SQL (Relational) Database
A database that stores data in structured tables with rows and columns, enforcing relationships between tables using primary and foreign keys.
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.
Storyboard
A sequence of visual layouts used in the Design phase to show the user's journey through a system, screen by screen.
Stepper Motor
A motor that moves in discrete, precise steps rather than continuously, ideal for positioning tasks in 3D printers and CNC machines.
STRIDE
A threat modelling framework identifying security risks: Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege.
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.
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.
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.
Syntax Error
A violation of a programming language's grammar rules that prevents the code from running. Usually flagged by the IDE during compilation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Variable
A named location in memory used to store data that can change during program execution. Variables have names, types, and scope.
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.
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.
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.
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.
White-Box Testing
A testing technique where the tester has full knowledge of internal code structure and logic. Designs tests to cover all branches, paths, and conditions โ maximising code coverage.
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.
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.