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.

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