Glossary
A comprehensive reference of technical terms used throughout the NSW HSC Software Engineering course.
A ¶
Abstraction ¶
The process of hiding complex implementation details and showing only essential features, reducing complexity and increasing efficiency.
Programming FundamentalsActuator ¶
A component that converts electrical signals into physical motion or action, such as motors or servos.
MechatronicsAI ¶
Artificial Intelligence
The simulation of human intelligence processes by computer systems, including learning, reasoning, and self-correction.
AutomationAlgorithm ¶
A finite sequence of well-defined instructions to solve a problem or perform a computation.
Programming FundamentalsAPI ¶
Application Programming Interface
A set of protocols and tools for building software applications, defining how components interact.
Web DevelopmentArray ¶
A data structure consisting of a collection of elements, each identified by an index or key, stored in contiguous memory locations.
Programming FundamentalsAsset ¶
A resource file used in web development, including images, stylesheets, JavaScript files, and fonts.
Web DevelopmentB ¶
Binary ¶
A base-2 number system using only digits 0 and 1, fundamental to how computers store and process data.
Programming FundamentalsBlack Box Testing ¶
A testing method that examines program functionality without knowledge of internal code structure or implementation details.
Programming FundamentalsBPA ¶
Business Process Automation
The use of technology to automate complex business processes and functions beyond conventional data manipulation and record-keeping activities.
AutomationBranch ¶
A parallel version of a repository that allows you to work on different features or fixes independently from the main codebase.
Project ManagementBreakpoint ¶
A debugging tool that pauses program execution at a specific line of code, allowing inspection of program state.
Programming FundamentalsBug ¶
An error, flaw, or fault in a computer program that causes it to produce incorrect or unexpected results.
Programming FundamentalsC ¶
Cache ¶
A hardware or software component that stores data for faster retrieval on future requests, improving performance.
Web DevelopmentCall Stack ¶
A data structure that stores information about the active subroutines or function calls in a program, used for debugging and error tracing.
Programming FundamentalsCDN ¶
Content Delivery Network
A geographically distributed network of servers that work together to provide fast delivery of internet content.
Web DevelopmentCI ¶
Continuous Integration
A development practice where code changes are automatically tested and merged into a shared repository frequently.
Project ManagementCISC ¶
Complex Instruction Set Computer
A CPU design strategy that uses a large set of complex instructions that can execute multiple operations per instruction.
MechatronicsClass ¶
A blueprint or template for creating objects that defines attributes and methods common to all objects of that type.
OOPCommand Prompt ¶
A command-line interface application available in Windows (cmd), PowerShell, or Unix shells (bash) for executing system commands.
Programming FundamentalsCommit ¶
A snapshot of changes to files in a version control system, representing a point in the project's history.
Project ManagementControl Structure ¶
Programming constructs that dictate the flow of execution, including conditionals (if/else), loops (for/while), and branching.
Programming FundamentalsCPU ¶
Central Processing Unit
The primary component of a computer that performs most processing operations, executing instructions from programs.
MechatronicsCRLF ¶
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 FundamentalsCRUD ¶
Create, Read, Update, Delete
The four basic operations for persistent storage: Create, Read, Update, and Delete.
Web DevelopmentD ¶
Database ¶
An organized collection of structured data stored electronically in a computer system, typically accessed via a database management system.
Web DevelopmentDebugging ¶
The process of identifying, analyzing, and removing errors or bugs from computer software.
Programming FundamentalsDecimal ¶
A base-10 number system using digits 0-9, the standard system for denoting integer and non-integer numbers.
Programming FundamentalsDecorator ¶
A Python feature that allows you to modify or enhance functions or methods without changing their source code, using the @ syntax.
Programming FundamentalsDNS ¶
Domain Name System
A hierarchical naming system that translates human-readable domain names into IP addresses.
Web DevelopmentDocstring ¶
A string literal that appears as the first statement in a module, function, class, or method definition to document its purpose and usage.
Programming FundamentalsDocumentation ¶
Written text or illustrations that accompany software, explaining how it works and how to use it, including comments, docstrings, and user guides.
Programming FundamentalsE ¶
Encapsulation ¶
The bundling of data and methods that operate on that data within a single unit or class, restricting direct access.
OOPEnd Effector ¶
The device at the end of a robotic arm that interacts with the environment, such as a gripper or tool.
MechatronicsF ¶
Flask ¶
A lightweight Python web framework that provides tools and libraries for building web applications.
Web DevelopmentFramework ¶
A pre-built structure providing a foundation and tools for developing software applications more efficiently.
Web DevelopmentFTP ¶
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 DevelopmentFull-Stack ¶
Development that involves working with both front-end (client-side) and back-end (server-side) technologies of a web application.
Web DevelopmentFunction ¶
A reusable block of code that performs a specific task and returns a value to the caller.
Programming FundamentalsG ¶
Generalisation ¶
The process of extracting common characteristics from specific instances to create more abstract classes in object-oriented design.
OOPGit ¶
A distributed version control system for tracking changes in source code during software development.
Project ManagementGrey Box Testing ¶
A testing method that combines black box and white box approaches, with partial knowledge of internal structures.
Programming FundamentalsGZIP Compression ¶
A file compression format used to reduce the size of files for faster transmission over networks, commonly used for web content.
Web DevelopmentH ¶
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 FundamentalsHSTS ¶
HTTP Strict Transport Security
A web security policy mechanism that helps protect websites against protocol downgrade attacks and cookie hijacking.
SecurityHTML ¶
HyperText Markup Language / Cascading Style Sheets
The standard markup language for creating web pages. CSS is used for styling and layout.
Web DevelopmentHTTP ¶
Hypertext Transfer Protocol
The foundation protocol for data communication on the World Wide Web.
Web DevelopmentHTTPS ¶
Hypertext Transfer Protocol (Secure)
The foundation protocol for data communication on the World Wide Web. HTTPS is the secure version using encryption.
Web DevelopmentI ¶
I/O ¶
Input/Output
The communication between an information processing system and the outside world, involving input devices and output devices.
Programming FundamentalsIDE ¶
Integrated Development Environment
A software application that provides comprehensive facilities for software development, including a code editor, debugger, and build automation tools.
Programming FundamentalsK ¶
KNN ¶
K-Nearest Neighbors
A machine learning algorithm that classifies data points based on the classes of their nearest neighbors in the feature space.
AutomationL ¶
LF ¶
Line Feed
A line ending convention used in Unix-based systems, consisting of a single line feed character.
Programming FundamentalsM ¶
Maintainability ¶
The ease with which software can be modified to correct faults, improve performance, or adapt to a changed environment.
Project ManagementMethod ¶
A function defined within a class that describes the behaviors of objects created from that class.
OOPMicrocontroller ¶
A compact integrated circuit designed to govern a specific operation in an embedded system, containing a processor, memory, and I/O peripherals.
MechatronicsN ¶
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 FundamentalsO ¶
Observer Pattern ¶
A design pattern where objects (observers) automatically receive notifications when the state of another object (subject) changes.
OOPOpcode ¶
The portion of a machine language instruction that specifies the operation to be performed by the CPU.
MechatronicsORM ¶
Object-Relational Mapping
A programming technique for converting data between incompatible type systems in object-oriented languages and relational databases.
Web DevelopmentP ¶
Paradigm ¶
A fundamental style or approach to programming, such as procedural, object-oriented, or functional programming.
Programming FundamentalsPartitioning ¶
The process of dividing a complex system or data set into smaller, more manageable parts or modules.
Programming FundamentalsPEP 8 ¶
Python Enhancement Proposal 8
The style guide for Python code that provides conventions for formatting Python code to improve readability.
Programming FundamentalsPolymorphism ¶
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.
OOPPolynomial ¶
A mathematical expression consisting of variables and coefficients, involving operations of addition, subtraction, multiplication, and non-negative integer exponents.
Programming FundamentalsProcedure ¶
A reusable block of code that performs a specific task but does not return a value, similar to a void function.
Programming FundamentalsProfiling ¶
A form of dynamic program analysis that measures program performance, such as execution time and memory usage, to identify bottlenecks.
Programming FundamentalsPrototype ¶
An early sample or model of a product built to test a concept, design, or functionality before full-scale production.
Project ManagementPseudocode ¶
An informal high-level description of a computer program or algorithm using natural language mixed with programming conventions.
Programming FundamentalsPWA ¶
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 DevelopmentR ¶
Refactoring ¶
The process of restructuring existing code without changing its external behavior to improve readability, reduce complexity, or improve maintainability.
Programming FundamentalsRegression ¶
A statistical method or machine learning technique for predicting numerical values based on relationships between variables.
AutomationRepository ¶
A storage location for software packages, code, and project files, often managed by version control systems like Git.
Project ManagementRISC ¶
Reduced Instruction Set Computer
A CPU design strategy that uses a small, highly optimized set of instructions, executing them very quickly.
MechatronicsROI ¶
Return on Investment
A performance measure used to evaluate the efficiency or profitability of an investment or compare efficiency of different investments.
Project ManagementRPA ¶
Robotic Process Automation
The use of software with artificial intelligence and machine learning capabilities to handle high-volume, repeatable tasks.
AutomationRuntime ¶
The period during which a program is executing, or errors that occur during program execution rather than compilation.
Programming FundamentalsS ¶
SDLC ¶
Software Development Life Cycle
A structured process for planning, creating, testing, and deploying software systems.
Project ManagementSensor ¶
A device that detects and measures physical properties from the environment and converts them into signals for processing.
MechatronicsSequence ¶
An ordered collection of elements that can be accessed by their position, including lists, tuples, and strings.
Programming FundamentalsService Worker ¶
A script that runs in the background of a web browser, enabling features like offline functionality and push notifications.
Web DevelopmentSFTP ¶
Secure File Transfer Protocol
A secure file transfer protocol that uses SSH to encrypt both commands and data during transmission between client and server.
SecuritySHA-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 ManagementSMART Requirements ¶
A framework for setting objectives that are Specific, Measurable, Achievable, Relevant, and Time-bound.
Project ManagementSQL ¶
Structured Query Language
A standardized programming language used for managing and manipulating relational databases.
Web DevelopmentSSL ¶
Secure Sockets Layer
A cryptographic protocol that provides secure communication over a computer network, now superseded by TLS.
SecurityStaging ¶
A pre-production environment that mirrors the production environment, used for final testing before deployment.
Project ManagementState ¶
The set of values of all attributes of an object at a particular point in time during program execution.
OOPStructure Chart ¶
A hierarchical diagram that shows the breakdown of a system into modules and their relationships, used in structured design.
Programming FundamentalsSubprogram ¶
A self-contained section of code that performs a specific task, including functions and procedures.
Programming FundamentalsSyntax ¶
The set of rules that defines the combinations of symbols that are considered correctly structured in a programming language.
Programming FundamentalsSynthesize ¶
The process of combining separate elements or information to form a coherent whole, often used in analysis and design phases.
Project ManagementT ¶
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 DevelopmentTelemetry ¶
The automated process of collecting and transmitting data from remote sources to receiving equipment for monitoring and analysis.
MechatronicsTerminal ¶
A text-based interface for entering commands to interact with the operating system and execute programs.
Programming FundamentalsTest Case ¶
A set of conditions, inputs, and expected results designed to verify that a specific aspect of a program functions correctly.
Programming FundamentalsTimestamp ¶
A sequence of characters or encoded information identifying when a certain event occurred, recording date and time.
Programming FundamentalsTLS ¶
Transport Layer Security
A cryptographic protocol designed to provide secure communication over a computer network, the successor to SSL.
SecurityTorque ¶
A measure of the rotational force applied to an object, important in motor and actuator specifications.
MechatronicsTrace ¶
The process of manually or automatically following the execution path of a program step-by-step to understand its behavior or find errors.
Programming FundamentalsU ¶
UDP ¶
User Datagram Protocol
A connectionless communication protocol that allows data transmission without establishing a connection, offering speed over reliability.
Web DevelopmentUI ¶
User Interface
The means by which a user interacts with a computer, website, or application, including visual elements and controls.
Web DevelopmentUnix ¶
A family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix.
Programming FundamentalsUTF-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 FundamentalsV ¶
Variable ¶
A named storage location in memory that holds a value which can change during program execution.
Programming FundamentalsVersion Control ¶
A system that records changes to files over time, allowing you to recall specific versions and collaborate with others effectively.
Project ManagementW ¶
WAgile ¶
A hybrid project management approach that combines elements of Waterfall's structured planning with Agile's iterative development.
Project ManagementWatch ¶
A debugging feature that allows you to monitor the value of variables or expressions during program execution.
Programming FundamentalsWCAG ¶
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 DevelopmentWhite Box Testing ¶
A testing method that examines internal structures, code logic, and implementation details of the program.
Programming FundamentalsWorkspace ¶
A directory or collection of directories containing project files, configuration, and settings for development work.
Programming Fundamentals