OAE Computer Science key terms
OAE Computer Science · Get comfortable with the vocabulary.
- Algorithm
- Related: Pseudocode, Big-O Notation, Recursion
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.
- Pseudocode
- Related: Algorithm, Flowchart
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.
- Flowchart
- Related: Pseudocode, Algorithm
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.
- Recursion
- Related: Base Case, Call Stack, Algorithm
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.
- Base Case
- Related: Recursion, Call Stack
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.
- Iteration
- Related: Control Structure, Algorithm
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.
- Control Structure
- Related: Iteration, Boolean Expression
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.
- Boolean Expression
- Related: Control Structure, Truth Table
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.
- Truth Table
- Related: Boolean Expression, De Morgan's Laws
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.
- De Morgan's Laws
- Related: Truth Table, Boolean Expression
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.
- Variable Scope
- Related: Parameter Passing, Call Stack
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.
- Parameter Passing
- Related: Variable Scope, Call Stack
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.
- Call Stack
- Related: Recursion, Stack, Variable Scope
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.
- Compiler
- Related: Interpreter, Syntax Error
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.
- Interpreter
- Related: Compiler, Syntax Error
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.
- Syntax Error
- Related: Compiler, Runtime Error, Logic 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.
- Runtime Error
- Related: Exception Handling, Syntax 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.
- Logic Error
- Related: Debugging, Syntax 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.
- Exception Handling
- Related: Runtime Error, Debugging
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.
- Debugging
- Related: Logic Error, Exception Handling
The systematic process of locating and correcting defects in a program, using techniques such as breakpoints, stepping, print statements, and code review.
- Unit Testing
- Related: Debugging, Test Case
Testing individual functions or modules in isolation against expected inputs and outputs. It catches defects early and supports safe refactoring of code.
- Test Case
- Related: Unit Testing, Debugging
A specific set of inputs, preconditions, and expected results used to verify program behavior. Good suites include normal, boundary, and invalid inputs.
- Array
- Related: Linked List, Index, Big-O Notation
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.
- Linked List
- Related: Array, Stack, Queue
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.
- Stack
- Related: Queue, Call 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.
- Queue
- Related: Stack, Graph Traversal
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.
- Binary Search Tree
- Related: Tree Traversal, Hash Table, Big-O Notation
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.
- Hash Table
- Related: Binary Search Tree, Big-O Notation
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.
- Graph Traversal
- Related: Queue, Stack, Big-O Notation
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.
- Tree Traversal
- Related: Binary Search Tree, Recursion
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.
- Big-O Notation
- Related: Time Complexity, Space Complexity, Algorithm
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).
- Time Complexity
- Related: Big-O Notation, Space 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.
- Space Complexity
- Related: Big-O Notation, Time 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.
- Sorting Algorithm
- Related: Big-O Notation, Binary Search
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).
- Binary Search
- Related: Sorting Algorithm, Big-O Notation
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.
- Number Base Conversion
- Related: Two's Complement, ASCII
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.
- Two's Complement
- Related: Number Base Conversion, Overflow
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.
- Overflow
- Related: Two's Complement
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.
- ASCII
- Related: Number Base Conversion
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.
- Logic Gate
- Related: Truth Table, Boolean Expression
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.
- Operating System
- Related: Virtual Memory, Process
Software that manages hardware resources, schedules processes, allocates memory, and provides file systems and interfaces for applications. Examples include Windows, Linux, and macOS.
- Process
- Related: Operating System, Call Stack
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.
- Virtual Memory
- Related: Operating System, Process
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.
- IP Address
- Related: Subnet Mask, DNS
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.
- Subnet Mask
- Related: IP Address, Router
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.
- DNS
- Related: IP Address, Router
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.
- Router
- Related: IP Address, Subnet Mask, TCP/IP
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.
- TCP/IP
- Related: IP Address, Router
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.
- Encryption
- Related: Digital Signature, Hash Function
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.
- Digital Signature
- Related: Encryption, Hash Function
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.
- Hash Function
- Related: Hash Table, Encryption
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.