Computer Science Terms
Shared by a Flashcards.gg user · generated with AI · Report this set
This set covers core computer science terms and definitions for students and developers.
Tap the card to flip it
Cards · 55
- Algorithm
- A step-by-step set of instructions or rules designed to solve a specific problem or perform a task.
- Variable
- A named storage location in memory that holds a value which can change during program execution.
- Data Structure
- A specialized format for organizing, processing, retrieving, and storing data efficiently.
- Array
- A collection of items stored at contiguous memory locations, typically accessed by numeric indexes.
- Linked List
- A linear collection of data elements where each element points to the next, allowing efficient insertion and deletion.
- Stack
- A linear data structure following the Last In, First Out (LIFO) principle.
- Queue
- A linear data structure following the First In, First Out (FIFO) principle.
- Hash Table
- A data structure that maps keys to values using a hash function for rapid lookups.
- Binary Tree
- A hierarchical data structure where each node has at most two children, referred to as left and right.
- Graph
- A non-linear data structure consisting of a set of vertices (nodes) connected by edges.
- Recursion
- A programming technique where a function solves a problem by calling itself with smaller inputs.
- Big O Notation
- A mathematical representation used to describe the limiting behavior and performance scaling of an algorithm.
- Time Complexity
- A measure of the amount of computational time an algorithm takes to run as a function of input length.
- Space Complexity
- A measure of the amount of working memory an algorithm needs relative to the input size.
- Binary Search
- An efficient search algorithm that repeatedly divides a sorted list in half to locate a target value.
- Compiler
- A program that translates source code written in a high-level language into machine code before execution.
- Interpreter
- A program that directly executes source code instructions line by line without prior compilation.
- Operating System
- System software that manages computer hardware, software resources, and provides common services for programs.
- Process
- An instance of a computer program that is being executed by one or many threads.
- Thread
- The smallest unit of execution within a process that can be scheduled by an operating system.
- Deadlock
- A situation where two or more processes are unable to proceed because each is waiting for the other to release resources.
- Concurrency
- The ability of different parts of a program to be executed out-of-order or in partial order without affecting the outcome.
- Parallelism
- The simultaneous execution of multiple computations or processes on separate processing units.
- Object-Oriented Programming (OOP)
- A programming paradigm based on the concept of objects containing data fields and methods.
- Encapsulation
- The bundling of data and the methods that operate on that data, restricting direct access to internal components.
- Inheritance
- A mechanism where a new class adopts properties and behaviors from an existing parent class.
- Polymorphism
- The ability of different classes to respond to the same method call in their own specific ways.
- Abstraction
- The process of hiding complex implementation details and showing only the essential features of an object or system.
- Pointer
- A variable that stores the memory address of another value rather than the value itself.
- Garbage Collection
- An automatic memory management feature that reclaims memory occupied by objects no longer in use.
- Cache
- A high-speed data storage layer that stores a subset of data for faster access on future requests.
- Virtual Memory
- A memory management capability that uses secondary storage to let a system act as if it has more RAM.
- Relational Database
- A database that stores data in tables consisting of rows and columns, related by predefined schemas.
- SQL
- Structured Query Language, a standard domain-specific language used to manage and query relational databases.
- NoSQL
- A broad class of database management systems that store unstructured or semi-structured data without fixed schemas.
- API (Application Programming Interface)
- A set of rules and protocols that allows different software applications to communicate with each other.
- HTTP
- Hypertext Transfer Protocol, the foundational protocol used for transmitting web pages and data over the internet.
- TCP/IP
- A fundamental suite of communication protocols used to connect network devices on the internet.
- DNS (Domain Name System)
- A hierarchical naming system that translates human-friendly domain names into machine-readable IP addresses.
- Bit
- The most basic unit of information in computing, representing either a 0 or a 1.
- Byte
- A unit of digital information that most commonly consists of eight bits.
- Boolean
- A binary data type that can hold one of only two possible values: true or false.
- Functional Programming
- A programming paradigm that treats computation as the evaluation of mathematical functions, avoiding mutable state.
- Asynchronous Programming
- A design pattern where operations run independently from the main program flow without blocking execution.
- Git
- A distributed version control system used to track changes in source code during software development.
- Repository
- A centralized digital storage space where developers keep and version-track files and project history.
- Dead Code
- Source code in a computer program that is executed but whose result is never used, or code that is never reached.
- Idempotence
- A property where an operation can be applied multiple times without changing the result beyond the initial application.
- Syntax
- The set of rules that defines the combinations of symbols and structure considered valid in a programming language.
- Semantics
- The meaning or logical effect of statements and expressions written in a programming language.
- Dynamic Typing
- A programming language feature where variable types are checked at runtime rather than during compilation.
- Static Typing
- A programming language feature where variable types are explicitly declared and verified at compile time.
- Unit Testing
- A software testing method where individual components or functions are isolated and verified for correctness.
- Continuous Integration (CI)
- A software practice of automatically building and testing code changes whenever a developer pushes commits.
- Firewall
- A network security system that monitors and controls incoming and outgoing traffic based on predetermined security rules.