Computer Science Glossary
25 essential terms — because precise language is the foundation of clear thinking in Computer Science.
Showing 25 of 25 terms
The process of hiding complex implementation details and exposing only essential features, allowing users to interact with systems at a higher level without understanding internal workings.
A finite, well-defined sequence of instructions designed to perform a specific task or solve a particular problem, which can be analyzed for correctness and efficiency.
A set of defined rules and protocols that allow different software applications or components to communicate and exchange data with each other.
A base-2 number system using only the digits 0 and 1, serving as the fundamental representation of data in digital computing systems.
A data type with only two possible values, true or false, named after mathematician George Boole. Used extensively in conditional logic and control flow.
A high-speed storage layer that stores a subset of frequently accessed data so future requests can be served faster than accessing the primary data source.
A program that translates source code written in a high-level programming language into lower-level machine code or intermediate code that a computer can execute.
The ability of a system to handle multiple tasks or processes in overlapping time periods, which may involve parallelism on multi-core systems or interleaved execution on a single core.
A specialized format for organizing, managing, and storing data that enables efficient access and modification according to specific use cases.
The process of identifying, isolating, and fixing errors (bugs) in software code to ensure the program behaves as intended.
The process of converting plaintext data into ciphertext using an algorithm and key, making it unreadable to unauthorized parties and protecting data confidentiality.
A non-linear data structure consisting of vertices (nodes) connected by edges, used to model relationships and networks such as social connections, road maps, and web links.
A problem-solving approach that uses practical methods or shortcuts to produce solutions that may not be optimal but are sufficient for reaching an immediate goal.
An OOP mechanism where a new class (subclass) derives attributes and methods from an existing class (superclass), promoting code reuse and hierarchical organization.
A program that executes source code line by line at runtime, translating each statement into machine actions on the fly rather than compiling the entire program beforehand.
The time delay between a request being initiated and the response being received, commonly used to measure network performance or system responsiveness.
Software that acts as a bridge between an operating system or database and applications, facilitating communication and data management in distributed systems.
In databases, the process of organizing data to reduce redundancy and dependency by dividing tables and defining relationships, typically following normal forms (1NF, 2NF, 3NF).
In OOP, an instance of a class that encapsulates data (attributes) and behavior (methods), representing a specific entity with state and functionality.
An OOP concept allowing objects of different types to be accessed through the same interface, where each type provides its own implementation of shared methods.
A set of rules and conventions governing how data is transmitted and received over a network, ensuring consistent and reliable communication between systems.
A programming technique in which a function calls itself to solve progressively smaller subproblems, terminating when a base case is reached.
The period during which a program is executing, or the environment that provides services to a running program, such as memory management and type checking.
The set of rules defining the correct structure and format of statements in a programming language, analogous to grammar in natural languages.
A memory management technique that provides an idealized abstraction of the storage resources available to a process, allowing programs to use more memory than is physically available by swapping data to disk.