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.

53 cards English Level: University Computer fundamentals Published
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.