This textbook is in beta – content is actively being refined. Report issues or suggestions

Glossary

A comprehensive reference of technical terms used throughout the NSW HSC Software Engineering course.

Filter by category:

A

Abstraction

The process of hiding complex implementation details and showing only essential features, reducing complexity and increasing efficiency.

Programming Fundamentals

Actuator

A component that converts electrical signals into physical motion or action, such as motors or servos.

Mechatronics

AI

Artificial Intelligence

The simulation of human intelligence processes by computer systems, including learning, reasoning, and self-correction.

Automation

Algorithm

A finite sequence of well-defined instructions to solve a problem or perform a computation.

Programming Fundamentals

API

Application Programming Interface

A set of protocols and tools for building software applications, defining how components interact.

Web Development

Array

A data structure consisting of a collection of elements, each identified by an index or key, stored in contiguous memory locations.

Programming Fundamentals

Asset

A resource file used in web development, including images, stylesheets, JavaScript files, and fonts.

Web Development

Attribute

A named property or characteristic of an object in object-oriented programming, storing data about the object.

OOP

Audit

A systematic examination and verification of an organization's records, processes, or systems to ensure compliance and identify improvements.

Security

B

Binary

A base-2 number system using only digits 0 and 1, fundamental to how computers store and process data.

Programming Fundamentals

Black Box Testing

A testing method that examines program functionality without knowledge of internal code structure or implementation details.

Programming Fundamentals

BPA

Business Process Automation

The use of technology to automate complex business processes and functions beyond conventional data manipulation and record-keeping activities.

Automation

Branch

A parallel version of a repository that allows you to work on different features or fixes independently from the main codebase.

Project Management

Breakpoint

A debugging tool that pauses program execution at a specific line of code, allowing inspection of program state.

Programming Fundamentals

Bug

An error, flaw, or fault in a computer program that causes it to produce incorrect or unexpected results.

Programming Fundamentals

C

Cache

A hardware or software component that stores data for faster retrieval on future requests, improving performance.

Web Development

Call Stack

A data structure that stores information about the active subroutines or function calls in a program, used for debugging and error tracing.

Programming Fundamentals

CDN

Content Delivery Network

A geographically distributed network of servers that work together to provide fast delivery of internet content.

Web Development

CI

Continuous Integration

A development practice where code changes are automatically tested and merged into a shared repository frequently.

Project Management

CISC

Complex Instruction Set Computer

A CPU design strategy that uses a large set of complex instructions that can execute multiple operations per instruction.

Mechatronics

Class

A blueprint or template for creating objects that defines attributes and methods common to all objects of that type.

OOP

Command Prompt

A command-line interface application available in Windows (cmd), PowerShell, or Unix shells (bash) for executing system commands.

Programming Fundamentals

Commit

A snapshot of changes to files in a version control system, representing a point in the project's history.

Project Management

Control Structure

Programming constructs that dictate the flow of execution, including conditionals (if/else), loops (for/while), and branching.

Programming Fundamentals

CPU

Central Processing Unit

The primary component of a computer that performs most processing operations, executing instructions from programs.

Mechatronics

CRLF

Carriage Return Line Feed

A line ending convention used primarily in Windows systems, consisting of a carriage return followed by a line feed character.

Programming Fundamentals

CRUD

Create, Read, Update, Delete

The four basic operations for persistent storage: Create, Read, Update, and Delete.

Web Development

CSP

Content Security Policy

A security standard that helps prevent cross-site scripting (XSS), clickjacking, and other code injection attacks.

Security

D

Database

An organized collection of structured data stored electronically in a computer system, typically accessed via a database management system.

Web Development

Debugging

The process of identifying, analyzing, and removing errors or bugs from computer software.

Programming Fundamentals

Decimal

A base-10 number system using digits 0-9, the standard system for denoting integer and non-integer numbers.

Programming Fundamentals

Decorator

A Python feature that allows you to modify or enhance functions or methods without changing their source code, using the @ syntax.

Programming Fundamentals

DNS

Domain Name System

A hierarchical naming system that translates human-readable domain names into IP addresses.

Web Development

Docstring

A string literal that appears as the first statement in a module, function, class, or method definition to document its purpose and usage.

Programming Fundamentals

Documentation

Written text or illustrations that accompany software, explaining how it works and how to use it, including comments, docstrings, and user guides.

Programming Fundamentals

DoH

DNS over HTTPS

A protocol for performing DNS resolution via the HTTPS protocol, encrypting DNS queries to improve privacy and security.

Security

E

Encapsulation

The bundling of data and methods that operate on that data within a single unit or class, restricting direct access.

OOP

End Effector

The device at the end of a robotic arm that interacts with the environment, such as a gripper or tool.

Mechatronics

F

Flask

A lightweight Python web framework that provides tools and libraries for building web applications.

Web Development

Framework

A pre-built structure providing a foundation and tools for developing software applications more efficiently.

Web Development

FTP

File Transfer Protocol

A standard network protocol used to transfer files between a client and server on a computer network, without encryption by default.

Web Development

Full-Stack

Development that involves working with both front-end (client-side) and back-end (server-side) technologies of a web application.

Web Development

Function

A reusable block of code that performs a specific task and returns a value to the caller.

Programming Fundamentals

G

Generalisation

The process of extracting common characteristics from specific instances to create more abstract classes in object-oriented design.

OOP

Git

A distributed version control system for tracking changes in source code during software development.

Project Management

Grey Box Testing

A testing method that combines black box and white box approaches, with partial knowledge of internal structures.

Programming Fundamentals

GZIP Compression

A file compression format used to reduce the size of files for faster transmission over networks, commonly used for web content.

Web Development

H

Hexadecimal

A base-16 number system using digits 0-9 and letters A-F, commonly used in computing as a compact representation of binary data.

Programming Fundamentals

HSTS

HTTP Strict Transport Security

A web security policy mechanism that helps protect websites against protocol downgrade attacks and cookie hijacking.

Security

HTML

HyperText Markup Language / Cascading Style Sheets

The standard markup language for creating web pages. CSS is used for styling and layout.

Web Development

HTTP

Hypertext Transfer Protocol

The foundation protocol for data communication on the World Wide Web.

Web Development

HTTPS

Hypertext Transfer Protocol (Secure)

The foundation protocol for data communication on the World Wide Web. HTTPS is the secure version using encryption.

Web Development

I

I/O

Input/Output

The communication between an information processing system and the outside world, involving input devices and output devices.

Programming Fundamentals

IDE

Integrated Development Environment

A software application that provides comprehensive facilities for software development, including a code editor, debugger, and build automation tools.

Programming Fundamentals

Inheritance

A mechanism where a new class derives properties and behaviors from an existing class.

OOP

Instance

A concrete occurrence of a class in object-oriented programming, created by instantiating the class.

OOP

K

KNN

K-Nearest Neighbors

A machine learning algorithm that classifies data points based on the classes of their nearest neighbors in the feature space.

Automation

L

LF

Line Feed

A line ending convention used in Unix-based systems, consisting of a single line feed character.

Programming Fundamentals

M

Maintainability

The ease with which software can be modified to correct faults, improve performance, or adapt to a changed environment.

Project Management

Method

A function defined within a class that describes the behaviors of objects created from that class.

OOP

Microcontroller

A compact integrated circuit designed to govern a specific operation in an embedded system, containing a processor, memory, and I/O peripherals.

Mechatronics

N

Naming Convention

A set of rules for choosing the character sequence to be used for identifiers in source code, improving code readability and maintainability.

Programming Fundamentals

O

Observer Pattern

A design pattern where objects (observers) automatically receive notifications when the state of another object (subject) changes.

OOP

Opcode

The portion of a machine language instruction that specifies the operation to be performed by the CPU.

Mechatronics

ORM

Object-Relational Mapping

A programming technique for converting data between incompatible type systems in object-oriented languages and relational databases.

Web Development

OWASP

Open Web Application Security Project

An online community that produces freely available articles, methodologies, documentation, tools, and technologies in the field of web application security.

Security

P

Paradigm

A fundamental style or approach to programming, such as procedural, object-oriented, or functional programming.

Programming Fundamentals

Partitioning

The process of dividing a complex system or data set into smaller, more manageable parts or modules.

Programming Fundamentals

PEP 8

Python Enhancement Proposal 8

The style guide for Python code that provides conventions for formatting Python code to improve readability.

Programming Fundamentals

Polymorphism

The ability of different classes to be treated as instances of the same class through inheritance, allowing methods to behave differently based on the object.

OOP

Polynomial

A mathematical expression consisting of variables and coefficients, involving operations of addition, subtraction, multiplication, and non-negative integer exponents.

Programming Fundamentals

Procedure

A reusable block of code that performs a specific task but does not return a value, similar to a void function.

Programming Fundamentals

Profiling

A form of dynamic program analysis that measures program performance, such as execution time and memory usage, to identify bottlenecks.

Programming Fundamentals

Prototype

An early sample or model of a product built to test a concept, design, or functionality before full-scale production.

Project Management

Pseudocode

An informal high-level description of a computer program or algorithm using natural language mixed with programming conventions.

Programming Fundamentals

PWA

Progressive Web Application

A type of web application that uses modern web capabilities to deliver an app-like experience, working offline and installable on devices.

Web Development

R

Refactoring

The process of restructuring existing code without changing its external behavior to improve readability, reduce complexity, or improve maintainability.

Programming Fundamentals

Regression

A statistical method or machine learning technique for predicting numerical values based on relationships between variables.

Automation

Repository

A storage location for software packages, code, and project files, often managed by version control systems like Git.

Project Management

RISC

Reduced Instruction Set Computer

A CPU design strategy that uses a small, highly optimized set of instructions, executing them very quickly.

Mechatronics

ROI

Return on Investment

A performance measure used to evaluate the efficiency or profitability of an investment or compare efficiency of different investments.

Project Management

RPA

Robotic Process Automation

The use of software with artificial intelligence and machine learning capabilities to handle high-volume, repeatable tasks.

Automation

Runtime

The period during which a program is executing, or errors that occur during program execution rather than compilation.

Programming Fundamentals

S

SDLC

Software Development Life Cycle

A structured process for planning, creating, testing, and deploying software systems.

Project Management

Sensor

A device that detects and measures physical properties from the environment and converts them into signals for processing.

Mechatronics

Sequence

An ordered collection of elements that can be accessed by their position, including lists, tuples, and strings.

Programming Fundamentals

Service Worker

A script that runs in the background of a web browser, enabling features like offline functionality and push notifications.

Web Development

SFTP

Secure File Transfer Protocol

A secure file transfer protocol that uses SSH to encrypt both commands and data during transmission between client and server.

Security

SHA-1

Secure Hash Algorithm 1

A cryptographic hash function that produces a 160-bit hash value, commonly used by Git to identify commits and objects.

Project Management

SMART Requirements

A framework for setting objectives that are Specific, Measurable, Achievable, Relevant, and Time-bound.

Project Management

SQL

Structured Query Language

A standardized programming language used for managing and manipulating relational databases.

Web Development

SSL

Secure Sockets Layer

A cryptographic protocol that provides secure communication over a computer network, now superseded by TLS.

Security

Staging

A pre-production environment that mirrors the production environment, used for final testing before deployment.

Project Management

State

The set of values of all attributes of an object at a particular point in time during program execution.

OOP

Structure Chart

A hierarchical diagram that shows the breakdown of a system into modules and their relationships, used in structured design.

Programming Fundamentals

Subprogram

A self-contained section of code that performs a specific task, including functions and procedures.

Programming Fundamentals

Syntax

The set of rules that defines the combinations of symbols that are considered correctly structured in a programming language.

Programming Fundamentals

Synthesize

The process of combining separate elements or information to form a coherent whole, often used in analysis and design phases.

Project Management

T

TCP/IP

Transmission Control Protocol/Internet Protocol

A suite of communication protocols used to interconnect network devices on the internet and most private networks.

Web Development

Telemetry

The automated process of collecting and transmitting data from remote sources to receiving equipment for monitoring and analysis.

Mechatronics

Terminal

A text-based interface for entering commands to interact with the operating system and execute programs.

Programming Fundamentals

Test Case

A set of conditions, inputs, and expected results designed to verify that a specific aspect of a program functions correctly.

Programming Fundamentals

Timestamp

A sequence of characters or encoded information identifying when a certain event occurred, recording date and time.

Programming Fundamentals

TLS

Transport Layer Security

A cryptographic protocol designed to provide secure communication over a computer network, the successor to SSL.

Security

Torque

A measure of the rotational force applied to an object, important in motor and actuator specifications.

Mechatronics

Trace

The process of manually or automatically following the execution path of a program step-by-step to understand its behavior or find errors.

Programming Fundamentals

U

UDP

User Datagram Protocol

A connectionless communication protocol that allows data transmission without establishing a connection, offering speed over reliability.

Web Development

UI

User Interface

The means by which a user interacts with a computer, website, or application, including visual elements and controls.

Web Development

Unix

A family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix.

Programming Fundamentals

UTF-8

Unicode Transformation Format - 8-bit

A variable-width character encoding capable of encoding all possible characters in Unicode, the dominant character encoding for the web.

Programming Fundamentals

V

Variable

A named storage location in memory that holds a value which can change during program execution.

Programming Fundamentals

Version Control

A system that records changes to files over time, allowing you to recall specific versions and collaborate with others effectively.

Project Management

W

WAgile

A hybrid project management approach that combines elements of Waterfall's structured planning with Agile's iterative development.

Project Management

Watch

A debugging feature that allows you to monitor the value of variables or expressions during program execution.

Programming Fundamentals

WCAG

Web Content Accessibility Guidelines

A set of guidelines developed to make web content more accessible to people with disabilities, including visual, auditory, physical, and cognitive impairments.

Web Development

White Box Testing

A testing method that examines internal structures, code logic, and implementation details of the program.

Programming Fundamentals

Workspace

A directory or collection of directories containing project files, configuration, and settings for development work.

Programming Fundamentals

X

X-Frame-Options

An HTTP response header that can be used to indicate whether a browser should be allowed to render a page in a frame or iframe.

Security