OAE Computer Science study materials
OAE Computer Science study resources

OAE Computer Science key terms

OAE Computer Science · Get comfortable with the vocabulary.

Algorithm

A finite, ordered set of unambiguous steps that transforms input into output and terminates. It must be definite, effective, and produce a result for every valid input.

Related: Pseudocode, Big-O Notation, Recursion
Pseudocode

A structured, informal language used to describe an algorithm's logic without the syntax rules of a real programming language. It emphasizes control flow and readability over compilability.

Related: Algorithm, Flowchart
Flowchart

A diagram that represents an algorithm using standardized symbols such as ovals for start and end, parallelograms for input and output, diamonds for decisions, and rectangles for processes.

Related: Pseudocode, Algorithm
Recursion

A technique where a function calls itself on a smaller version of the problem. It requires a base case that stops the calls and a recursive case that moves toward that base case.

Related: Base Case, Call Stack, Algorithm
Base Case

The condition in a recursive function that is solved directly without another recursive call, ending the recursion. Missing or unreachable base cases cause infinite recursion and stack overflow.

Related: Recursion, Call Stack
Iteration

Repetition of a block of statements using a loop construct such as for, while, or do-while. Each pass through the loop body is one iteration.

Related: Control Structure, Algorithm
Control Structure

A construct that determines the order in which statements execute, such as sequence, selection (if/else, switch), and repetition (loops). It shapes an algorithm's flow of control.

Related: Iteration, Boolean Expression
Boolean Expression

An expression that evaluates to either true or false, typically built from comparison operators and combined with AND, OR, and NOT. It controls selection and loop conditions.

Related: Control Structure, Truth Table
Truth Table

A table listing every combination of input truth values for a logical expression and the resulting output. It is used to verify logical equivalence and simplify conditions.

Related: Boolean Expression, De Morgan's Laws
De Morgan's Laws

Two rules for negating compound conditions: NOT (A AND B) equals (NOT A) OR (NOT B), and NOT (A OR B) equals (NOT A) AND (NOT B). They simplify and correct logical expressions.

Related: Truth Table, Boolean Expression
Variable Scope

The region of a program where a declared identifier is visible and usable. Local scope limits access to a block or function, while global scope makes it accessible throughout the program.

Related: Parameter Passing, Call Stack
Parameter Passing

The mechanism by which arguments are supplied to a function. Pass-by-value copies the argument, while pass-by-reference lets the function modify the caller's original data.

Related: Variable Scope, Call Stack
Call Stack

A runtime structure that tracks active function calls, storing return addresses and local data in stack frames. It grows with each call and shrinks on return.

Related: Recursion, Stack, Variable Scope
Compiler

A program that translates an entire source file into machine code or an intermediate form before execution. It reports syntax errors and typically produces faster-running executables than interpretation.

Related: Interpreter, Syntax Error
Interpreter

A program that reads and executes source code statement by statement at runtime rather than translating the whole program in advance. It simplifies testing but often runs slower than compiled code.

Related: Compiler, Syntax Error
Syntax Error

A violation of a language's grammar rules, such as a missing semicolon or unmatched parenthesis, detected during compilation or parsing. The program cannot run until it is fixed.

Related: Compiler, Runtime Error, Logic Error
Runtime Error

An error that occurs while a program is executing, such as division by zero, an out-of-bounds index, or a null reference. Compilation succeeds but execution fails abnormally.

Related: Exception Handling, Syntax Error
Logic Error

A flaw in a program's reasoning that produces incorrect results without crashing or violating syntax. It is found through testing and tracing rather than by the compiler.

Related: Debugging, Syntax Error
Exception Handling

A mechanism using try, catch, and finally blocks to detect and respond to runtime errors without terminating the program. It separates error recovery from normal control flow.

Related: Runtime Error, Debugging
Debugging

The systematic process of locating and correcting defects in a program, using techniques such as breakpoints, stepping, print statements, and code review.

Related: Logic Error, Exception Handling
Unit Testing

Testing individual functions or modules in isolation against expected inputs and outputs. It catches defects early and supports safe refactoring of code.

Related: Debugging, Test Case
Test Case

A specific set of inputs, preconditions, and expected results used to verify program behavior. Good suites include normal, boundary, and invalid inputs.

Related: Unit Testing, Debugging
Array

A fixed-size, indexed collection of elements of the same type stored in contiguous memory. Access by index is constant time, but insertion and deletion may require shifting elements.

Related: Linked List, Index, Big-O Notation
Linked List

A linear structure of nodes, each holding data and a reference to the next node. Insertion and deletion at a known position are constant time, but access requires traversal.

Related: Array, Stack, Queue
Stack

A last-in, first-out structure where insertion (push) and removal (pop) occur at the same end, called the top. It supports function calls, undo operations, and expression evaluation.

Related: Queue, Call Stack
Queue

A first-in, first-out structure where elements are added at the rear (enqueue) and removed from the front (dequeue). It models scheduling, buffering, and breadth-first traversal.

Related: Stack, Graph Traversal
Binary Search Tree

A binary tree where every left descendant is smaller and every right descendant is greater than the node's key. Search, insert, and delete average O(log n) when balanced.

Related: Tree Traversal, Hash Table, Big-O Notation
Hash Table

A structure that maps keys to values using a hash function to compute bucket indices, giving average constant-time lookup. Collisions are resolved by chaining or open addressing.

Related: Binary Search Tree, Big-O Notation
Graph Traversal

Systematically visiting every vertex of a graph, typically by depth-first search using a stack or breadth-first search using a queue. Both run in O(V + E) time.

Related: Queue, Stack, Big-O Notation
Tree Traversal

Visiting each node of a tree in a defined order: preorder, inorder, postorder, or level order. Inorder traversal of a binary search tree yields sorted keys.

Related: Binary Search Tree, Recursion
Big-O Notation

A notation describing an upper bound on how an algorithm's time or space grows as input size increases, ignoring constants. Common classes include O(1), O(log n), O(n), O(n log n), and O(n^2).

Related: Time Complexity, Space Complexity, Algorithm
Time Complexity

A measure of how the number of basic operations performed by an algorithm scales with input size. It is usually expressed with asymptotic notation such as Big-O.

Related: Big-O Notation, Space Complexity
Space Complexity

A measure of the total memory an algorithm requires as a function of input size, including auxiliary structures and recursion depth. It is often traded against time complexity.

Related: Big-O Notation, Time Complexity
Sorting Algorithm

A procedure that arranges elements in a specified order. Comparison sorts such as merge sort run in O(n log n) worst case, while quicksort averages O(n log n) but can degrade to O(n^2).

Related: Big-O Notation, Binary Search
Binary Search

A search on a sorted array that repeatedly halves the interval by comparing the target with the middle element. It runs in O(log n) time and requires sorted input.

Related: Sorting Algorithm, Big-O Notation
Number Base Conversion

Changing a numeral's representation between bases such as binary, octal, decimal, and hexadecimal while preserving its value. Grouping four bits per hex digit and three per octal digit simplifies conversion.

Related: Two's Complement, ASCII
Two's Complement

A binary encoding for signed integers in which the most significant bit indicates sign and negation is performed by inverting bits and adding one. It represents one more negative value than positive.

Related: Number Base Conversion, Overflow
Overflow

A condition where a computed value exceeds the range representable by its data type's fixed number of bits, causing wraparound or an error. Signed overflow is a common source of logic defects.

Related: Two's Complement
ASCII

A 7-bit character encoding assigning numeric codes 0-127 to letters, digits, punctuation, and control characters. Its superset Unicode extends encoding to most of the world's writing systems.

Related: Number Base Conversion
Logic Gate

A physical or abstract device implementing a Boolean function, such as AND, OR, NOT, NAND, or XOR. Gates combine into circuits that perform arithmetic and control operations.

Related: Truth Table, Boolean Expression
Operating System

Software that manages hardware resources, schedules processes, allocates memory, and provides file systems and interfaces for applications. Examples include Windows, Linux, and macOS.

Related: Virtual Memory, Process
Process

A program in execution with its own address space, program counter, and resources. Processes are isolated from one another, unlike threads, which share memory within a process.

Related: Operating System, Call Stack
Virtual Memory

A memory-management technique giving each process an abstract address space mapped to physical memory or disk. It enables isolation and allows programs larger than available RAM.

Related: Operating System, Process
IP Address

A numeric label assigned to a device on a network for routing data. IPv4 uses 32 bits in dotted-decimal form; IPv6 uses 128 bits in hexadecimal groups.

Related: Subnet Mask, DNS
Subnet Mask

A bit pattern that identifies which portion of an IP address denotes the network and which denotes the host. It supports routing decisions and network segmentation.

Related: IP Address, Router
DNS

The Domain Name System translates human-readable hostnames into IP addresses through a distributed hierarchy of name servers. It is a foundational lookup service for most internet traffic.

Related: IP Address, Router
Router

A network device that forwards packets between networks by consulting routing tables and destination IP addresses. It connects distinct subnets and often performs address translation.

Related: IP Address, Subnet Mask, TCP/IP
TCP/IP

The layered protocol suite underlying the internet. TCP provides reliable, ordered, connection-oriented delivery, while IP handles addressing and best-effort packet routing between hosts.

Related: IP Address, Router
Encryption

The transformation of readable data into ciphertext using a key so that only authorized parties can recover it. Symmetric methods share one key; asymmetric methods use public and private key pairs.

Related: Digital Signature, Hash Function
Digital Signature

A cryptographic value created with a sender's private key that verifies authenticity and integrity of a message. Recipients validate it using the corresponding public key.

Related: Encryption, Hash Function
Hash Function

A one-way function that maps data of any size to a fixed-length digest. It is used for integrity checks, password storage, and hash tables; good ones resist collisions.

Related: Hash Table, Encryption