FTCE Computer Science key terms
FTCE Computer Science · Get comfortable with the vocabulary.
- algorithm
- Related: pseudocode, flowchart, computational complexity
A finite, ordered set of unambiguous steps that transforms input into a desired output and terminates. Every step must be precise enough to be carried out mechanically, and the procedure must work for all valid inputs.
- pseudocode
- Related: algorithm, flowchart
A structured, informal notation mixing English phrases with programming constructs such as IF, WHILE, and assignment. It communicates logic independent of any language's syntax, making it a common tool for planning and for exam-style algorithm questions.
- flowchart
- Related: algorithm, pseudocode, control structure
A diagram of an algorithm using standard symbols: ovals for start and end, parallelograms for input and output, rectangles for processes, diamonds for decisions, and arrows for control flow. It shows branching and looping visually.
- control structure
- Related: flowchart, loop invariant
A construct that determines the order in which statements execute: sequence, selection (if/else, switch), and iteration (for, while, do-while). Any algorithm can be expressed by combining these three basic forms.
- loop invariant
- Related: control structure, algorithm
A property that is true before and after every iteration of a loop, used to reason about correctness. Establishing initialization, maintenance, and termination for the invariant proves the loop achieves its intended result.
- computational complexity
- Related: Big-O notation, algorithm
A measure of the resources an algorithm consumes, usually time or memory, expressed as a function of input size. It lets programmers compare approaches independently of hardware and predict how performance degrades as data grows.
- Big-O notation
- Related: computational complexity, binary search
A notation describing an upper bound on growth rate, ignoring constants and lower-order terms. For example, a loop nested inside another loop over n items is O(n squared), while binary search is O(log n).
- binary search
- Related: Big-O notation, sorting algorithm
A search that repeatedly halves a sorted collection by comparing the target with the middle element. It runs in O(log n) time but requires the data to be sorted and randomly accessible.
- sorting algorithm
- Related: binary search, recursion
A procedure that arranges elements into a defined order. Common examples include bubble, selection, insertion, merge, and quick sort, which differ in average time complexity, stability, and memory use.
- recursion
- Related: stack, sorting algorithm
A technique in which a method calls itself on a smaller version of the same problem. It needs a base case that stops the calls and a recursive case that makes measurable progress toward that base case.
- variable
- Related: data type, scope
A named storage location whose value can change during program execution. In most languages a variable has a declared or inferred data type, a scope, and a lifetime determined by where it is declared.
- data type
- Related: variable, type casting
A classification that specifies which values a variable may hold and which operations apply, such as integer, floating point, character, Boolean, or string. It determines memory representation and allowed behavior.
- type casting
- Related: data type
Converting a value from one data type to another. Widening conversions, such as int to double, happen implicitly and safely; narrowing conversions, such as double to int, may lose precision and often require an explicit cast.
- scope
- Related: variable, parameter passing
The region of a program where a declared name is visible and usable. Block scope limits a variable to the braces where it is declared, while global scope makes it accessible throughout the file or program.
- parameter passing
- Related: scope, recursion
How arguments move into a method. Pass-by-value copies the argument, so changes stay local; pass-by-reference gives access to the caller's variable. Java passes object references by value.
- object-oriented programming
- Related: inheritance, polymorphism, encapsulation
A paradigm organizing code into classes that bundle data and behavior, with objects as instances. Its pillars are encapsulation, inheritance, polymorphism, and abstraction, which support reuse and manageable large programs.
- encapsulation
- Related: object-oriented programming, polymorphism
Hiding an object's internal state behind private fields and exposing controlled access through public methods such as getters and setters. It protects invariants and lets implementation details change without breaking callers.
- inheritance
- Related: polymorphism, object-oriented programming
A relationship in which a subclass acquires fields and methods from a superclass and may extend or override them. It models an is-a relationship and promotes code reuse, though deep hierarchies can become brittle.
- polymorphism
- Related: inheritance, encapsulation
The ability of one interface or method name to work with multiple types. Method overriding resolves at run time, while overloading resolves at compile time based on argument lists.
- compiler
- Related: interpreter, syntax error, linker
A program that translates an entire source file into machine code or intermediate code before execution. It reports syntax errors at compile time and generally produces faster-running programs than an interpreter.
- interpreter
- Related: compiler, runtime error
A program that reads source code and executes it statement by statement without producing a separate executable. It simplifies debugging and portability but typically runs slower than compiled code.
- syntax error
- Related: compiler, runtime error, logic error
A violation of a language's grammar, such as a missing semicolon or unbalanced parenthesis, detected during compilation or parsing. The program cannot run until the error is corrected.
- runtime error
- Related: syntax error, logic error, exception
A fault that occurs while a program is executing, such as dividing by zero, dereferencing null, or indexing outside an array. The code was syntactically valid but an operation failed during execution.
- logic error
- Related: runtime error, syntax error
A mistake in the program's reasoning that produces incorrect output without crashing, such as using less-than instead of less-than-or-equal in a loop condition. It is found by testing and tracing, not by the compiler.
- exception
- Related: runtime error, compiler
An object signaling an abnormal condition during execution. Languages use try, catch, and finally blocks or similar constructs to handle it, allowing recovery instead of abrupt termination.
- linker
- Related: compiler, operating system
A tool that combines compiled object files and library code into a single executable, resolving references between modules. Unresolved external symbols are reported as link errors before the program can run.
- operating system
- Related: virtual memory, process, linker
System software that manages hardware resources, schedules processes, allocates memory, handles file systems, and provides services to applications. Examples include Windows, macOS, Linux, and mobile systems such as Android.
- process
- Related: operating system, virtual memory
A running instance of a program with its own address space, program counter, and resources. Processes are isolated from one another, unlike threads, which share memory inside a single process.
- virtual memory
- Related: operating system, cache memory, process
A technique giving each process an abstract address space mapped by hardware and the operating system to physical frames. It enables isolation, larger-than-RAM programs, and paging between memory and disk.
- cache memory
- Related: virtual memory, operating system
A small, fast memory between the processor and main memory that holds recently used data. Locality of reference makes caches effective, and cache misses cost far more cycles than register or cache hits.
- stack
- Related: queue, recursion
A last-in, first-out structure where push and pop act at one end. It supports function call management, expression evaluation, and backtracking, and its LIFO behavior underlies depth-first traversal.
- queue
- Related: stack
A first-in, first-out structure where insertion happens at the rear and removal at the front. It models waiting lines, scheduling, and breadth-first traversal of graphs and trees.
- binary search tree
- Related: binary search, Big-O notation
A binary tree in which every left descendant is smaller and every right descendant is larger than the node. Search, insert, and delete average O(log n) when balanced but degrade to O(n) when skewed.
- hash table
- Related: Big-O notation, binary search tree
A structure mapping keys to values through a hash function that computes an index into an array. Average lookup is O(1), but collisions require chaining or open addressing and can degrade performance.
- IP address
- Related: subnet mask, DNS, DHCP
A numeric label identifying a device on a network. IPv4 uses 32-bit dotted-decimal addresses; IPv6 uses 128-bit hexadecimal addresses. Addresses are assigned statically or dynamically via DHCP.
- subnet mask
- Related: IP address, router
A 32-bit pattern that separates the network portion of an IPv4 address from the host portion. Devices on the same subnet communicate directly; traffic to other subnets goes through a router.
- DNS
- Related: IP address, DHCP
The Domain Name System translates human-readable host names into IP addresses through a distributed hierarchy of name servers. It also stores mail routing and other records used across the internet.
- DHCP
- Related: IP address, DNS
A protocol that automatically assigns IP addresses, subnet masks, default gateways, and DNS servers to clients when they join a network, reducing manual configuration errors.
- router
- Related: subnet mask, TCP/IP model
A device that forwards packets between networks by consulting a routing table of destination addresses. It operates at the network layer and connects distinct subnets, unlike a switch within one local network.
- TCP/IP model
- Related: router, IP address
A layered framework describing network communication: application, transport, internet, and network access. Each layer provides services to the layer above and uses the layer below, supporting protocol independence.
- encryption
- Related: digital signature, authentication
Transforming readable data into ciphertext so only authorized parties can recover it. Symmetric schemes share one key; asymmetric schemes use public and private key pairs and often exchange symmetric keys.
- authentication
- Related: encryption, digital signature
Verifying that a user or system is who it claims to be, typically through something known, possessed, or inherent. It is distinct from authorization, which decides what an authenticated identity may access.
- digital signature
- Related: encryption, authentication
A cryptographic value created with a sender's private key that proves origin and integrity of a message. Recipients verify it with the public key, detecting tampering and supporting nonrepudiation.
- intellectual property
- Related: open source license
Legal protection for creations of the mind, including copyright, patents, trademarks, and trade secrets. Software may be covered by copyright as source code and by patents for certain processes.
- open source license
- Related: intellectual property
A license granting rights to use, modify, and redistribute source code under stated conditions. Permissive licenses impose few restrictions; copyleft licenses require derivative works to keep the same terms.
- digital divide
- Related: intellectual property, authentication
The gap between groups with reliable access to computing devices, broadband, and digital skills and those without. It affects education, employment, and civic participation and is a common social-impact topic.