Computer Science
Shared by a Flashcards.gg user · generated with AI · Report this set
This set covers core computer science concepts and definitions for students and developers.
Tap the card to flip it
Cards · 53
- Algorithm
- A step-by-step set of instructions designed to solve a specific problem or complete a task.
- Data Structure
- A specialized format for organizing, processing, retrieving, and storing data efficiently.
- Time Complexity
- A computational measure quantifying the amount of time an algorithm takes to run as a function of the input length.
- Space Complexity
- The amount of memory or storage an algorithm requires relative to the size of the input.
- Big-O Notation
- A mathematical notation describing the limiting behavior or worst-case performance of an algorithm as inputs grow.
- Variable
- A named storage location in memory that holds a value which can change during program execution.
- Constant
- An identifier bound to a value that cannot be altered by the program during execution.
- Data Type
- A classification of data specifying the possible values it can hold and operations performed on it.
- Array
- A contiguous collection of elements of the same type identified by index or key.
- Linked List
- A linear data structure where elements are stored in nodes, each pointing to the next node.
- Stack
- A Last-In, First-Out (LIFO) linear data structure where elements are added and removed from the same end.
- Queue
- A First-In, First-Out (FIFO) linear data structure where elements are added at the rear and removed from the front.
- Hash Table
- A data structure mapping keys to values using a hash function for rapid retrieval.
- Tree
- A hierarchical, non-linear data structure consisting of nodes connected by edges, starting from a root node.
- Binary Search Tree
- A node-based binary tree where left descendants are smaller than the node, and right descendants are larger.
- Graph
- A non-linear data structure consisting of vertices (nodes) connected by edges.
- Recursion
- A programming technique where a function calls itself to solve smaller instances of the same problem.
- Sorting Algorithm
- An algorithm that arranges elements of a list in a systematic numerical or lexicographical order.
- Binary Search
- An efficient search algorithm that finds an item in a sorted list by repeatedly dividing the search interval in half.
- Object-Oriented Programming (OOP)
- A programming paradigm based on the concept of objects containing data and code.
- Class
- A blueprint or prototype from which objects are created in object-oriented programming.
- Object
- An instance of a class containing concrete state values and executable behaviors.
- Encapsulation
- The bundling of data with methods operating on that data, restricting direct access from outside.
- Inheritance
- A mechanism where a class derives properties and behaviors from another parent class.
- Polymorphism
- The ability of different objects to respond to the same message or method call in unique ways.
- Abstraction
- The practice of hiding complex implementation details and showing only necessary features to the user.
- Functional Programming
- A programming paradigm treating computation as the evaluation of mathematical functions, avoiding mutable state.
- Compiler
- A program translating source code written in a high-level language into machine code before execution.
- Interpreter
- A program that directly executes source code line-by-line without compiling it beforehand.
- Operating System
- System software managing computer hardware, software resources, and common services for applications.
- Kernel
- The core component of an operating system with complete control over all subsystems in the system.
- Process
- An instance of a computer program being executed by one or many threads.
- Thread
- The smallest unit of execution within a process that can be scheduled by an operating system.
- Concurrency
- The ability of different parts or units of a program to be executed out-of-order without affecting the final outcome.
- Deadlock
- A state in which two or more competing processes are unable to proceed because each waits for the other to release a resource.
- Virtual Memory
- A memory management capability that creates an illusion of a large, continuous memory space using disk storage.
- Cache
- A high-speed data storage layer that stores a subset of data for faster retrieval upon future requests.
- CPU (Central Processing Unit)
- The primary hardware component that interprets and carries out instructions of a computer program.
- RAM (Random Access Memory)
- A type of computer memory that can be read and changed in any order, used for storing working data.
- Computer Network
- A group of interconnected computing devices that exchange data and share resources.
- IP Address
- A unique numerical identifier assigned to each device connected to a computer network using the IP protocol.
- DNS (Domain Name System)
- A hierarchical naming system resolving human-readable domain names into numerical IP addresses.
- TCP/IP
- A suite of communication protocols used to interconnect network devices on the internet.
- HTTP
- An application layer protocol for transmitting hypermedia documents across the World Wide Web.
- Database
- An organized collection of structured data stored electronically in a computer system.
- Relational Database
- A type of database that stores data in tables related to each other via keys and schemas.
- SQL
- A standardized domain-specific language used for managing and manipulating data in relational databases.
- NoSQL
- Non-relational databases designed to handle unstructured, semi-structured, or large-scale distributed data.
- Encryption
- The process of converting plain text information into unreadable ciphertext to prevent unauthorized access.
- Turing Machine
- A theoretical mathematical model of computation defining an abstract machine that manipulates symbols on a tape.
- Computability Theory
- A branch of theoretical computer science examining which problems can be solved computationally using algorithms.
- Deterministic Finite Automaton
- A state machine that accepts or rejects strings of symbols by running through a unique state sequence for each input.
- Version Control System
- A software tool that tracks and manages changes to source code over time.