1/118
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Turning Machine
A theoretical concept in computer science used to understand how computers process information. It consists of a tape that can be read from and written to and a set of rules for moving and changing symbols on the tape.
CPU (Central Processing Unit)
The brain of a computer, responsible for executing instructions and performing calculations.
Transistor
A tiny electronic component that acts as a switch or amplifier in electronic circuits. Transistors are the building blocks of modern computer chips.
Bit (Binary Digit)
The smallest unit of data in computing, representing either a 0 or a 1.
Byte
A group of 8 bits, often used to represent a single character of text or a small amount of data.
Character Encoding (ASCII)
A system that assigns numerical values to characters, making it possible for computers to represent text. ASCII is one such encoding.
Binary
A base-2 number system using only 0s and 1s, essential for representing data in computers.
Hexadecimal
A base-16 number system that uses digits 0-9 and letters A-F, helpful for representing binary data in a more human-readable form.
Nibble
Half a byte, or 4 bits.
Machine Code
Low-level instructions that a computer's CPU can directly execute.
RAM (Random Access Memory)
Temporary computer memory that stores data and instructions that the CPU is currently using.
Memory Address
A unique identifier for a location in RAM where data is stored.
I/O (Input/Output)
The process of sending data to or receiving data from external devices, such as keyboards, screens, or printers.
Kernel (Drivers)
The core part of an operating system responsible for managing hardware and providing essential services. Drivers are software components that enable communication between the operating system and hardware devices.
Shell
A user interface that allows interaction with the computer's operating system through text-based commands.
Command Line Interface
A text-based interface for interacting with a computer or software by typing commands.
SSH (Secure Shell)
A protocol for securely connecting to and managing remote computers over a network.
Mainframe
A powerful and large computer used by organizations to process massive amounts of data and run critical applications.
Programming Language
A set of rules and instructions for writing computer programs.
Abstraction
The process of simplifying complex systems or ideas to make them easier to understand and work with.
Interpreted
A type of programming language that is executed line by line by an interpreter software.
Compiled
A type of programming language that is first translated into machine code by a compiler and then executed.
Executable
A program or application that can be run on a computer.
Data Types
Categories that define the kind of data a variable can hold, such as numbers, text, or Boolean values.
Variable
A named container for storing data in a program.
Dynamic Typing
A programming language feature where variable types are determined at runtime.
Static Typing
A programming language feature where variable types are determined at compile-time.
Pointer
A reference to a memory location, often used in low-level programming.
Garbage Collector
A part of a programming language's runtime system that automatically manages memory by deallocating objects that are no longer needed.
int
A data type representing integers in programming.
Signed / Unsigned
Describes whether a data type can hold both positive and negative values (signed) or only positive values (unsigned).
float
A data type representing floating-point numbers with decimal places.
Double
A data type representing double-precision floating-point numbers.
Char
A data type representing a single character.
String
A data type representing a sequence of characters.
Big endian / Little endian
Different ways of ordering bytes in multi-byte data representations.
Array
A data structure that stores a fixed-size collection of elements of the same data type.
Linked List
A data structure that consists of nodes, each of which contains data and a reference to the next node.
Set
A data structure that stores a collection of unique elements.
Stack
A data structure that follows the Last-In-First-Out (LIFO) principle.
Queue
A data structure that follows the First-In-First-Out (FIFO) principle.
Hash
A data structure that maps keys to values for efficient data retrieval.
Tree
A hierarchical data structure with nodes connected by edges, often used in organizing data.
Graph
A data structure consisting of nodes (vertices) and edges, used to represent relationships between objects.
Nodes and Edges
The fundamental components of a graph data structure.
Algorithms
Step-by-step instructions for solving specific problems or performing tasks.
Functions
Named blocks of code that perform specific tasks.
Return
A statement in a function that specifies the value to be returned to the caller.
Arguments
Values passed to a function for it to work with.
Operators
Symbols or keywords used to perform operations on data.
Boolean
A data type representing true or false values.
Expression
A combination of values, variables, and operators that can be evaluated to a single value.
Statement
An instruction in a program that performs a specific action.
Conditional Logic
The use of conditions (e.g., if statements) to make decisions in a program.
While Loop
A control structure that repeats a block of code while a condition is true.
For Loop
A control structure that iterates a specific number of times or over a range of values.
Iterable
An object that can be looped over, like a list or an array.
Void
A return type indicating that a function does not return a value.
Recursion
A programming technique where a function calls itself to solve a problem.
Call Stack
A data structure that keeps track of function calls in a program.
Stack Overflow
An error that occurs when the call stack becomes too large.
Base Condition
A condition that stops the recursion in a recursive function.
Big-O
Notation used to describe the upper bound of the time complexity of an algorithm.
Time Complexity
A measure of how long an algorithm takes to run based on its input size.
Space Complexity
A measure of how much memory an algorithm uses based on its input size.
Brute Force
A straightforward but often inefficient approach to problem-solving.
Divide and Conquer
A problem-solving technique that breaks a problem into smaller subproblems.
Dynamic Programming
A method for solving complex problems by breaking them into simpler overlapping subproblems.
Memoization
A technique to optimize recursive algorithms by storing and reusing previously computed results.
Dijkstra's Shortest Path
An algorithm used to find the shortest path between nodes in a graph with non-negative edge weights.
Backtracking
A problem-solving technique that explores potential solutions and returns when it finds that a solution cannot be reached.
Declarative
A programming paradigm that focuses on describing what you want to achieve, rather than specifying how to achieve it.
Functional Language
A programming language that emphasizes the use of functions as the primary building blocks for programs.
Imperative
A programming paradigm that focuses on specifying a sequence of steps to achieve a goal.
Procedural Language
A type of programming language that emphasizes procedures or functions to structure code.
Multiparadigm
A programming language that supports multiple programming paradigms, such as imperative, object-oriented, and functional.
OOP (Object-Oriented Programming)
A programming paradigm that organizes code into objects, which have both data (attributes) and methods (functions).
Class
A blueprint or template for creating objects in object-oriented programming.
Properties
Characteristics or attributes of objects in object-oriented programming.
Methods
Functions associated with objects in object-oriented programming.
Inheritance
A mechanism in object-oriented programming where a new class can inherit properties and methods from an existing class.
Design Patterns
Reusable solutions to common programming problems.
Instantiate
The process of creating an instance (object) of a class in object-oriented programming.
Heap Memory
A region of a computer's memory used for dynamic memory allocation.
Reference
A value that refers to an object or data stored in memory.
Threads
Lightweight processes that can run concurrently within a program.
Parallelism
The execution of multiple tasks or threads simultaneously to improve performance.
Concurrency
The ability of a system to handle multiple tasks and execute them in overlapping time periods.
Bare Metal
Refers to running software directly on hardware without an intervening operating system.
Virtual Machine
A software emulation of a physical computer that runs on a host operating system.
IP Address (Internet Protocol Address)
A unique numerical label assigned to each device connected to a computer network.
URL (Uniform Resource Locator)
A web address that specifies the location of a resource on the internet.
DNS (Domain Name System)
A system that translates human-readable domain names into IP addresses.
TCP (Transmission Control Protocol)
A protocol used for reliable and ordered data transmission over a network.
Packets
Small units of data transmitted over a network.
SSL (Secure Sockets Layer)
A security protocol used to establish encrypted connections on the internet.
HTTP (Hypertext Transfer Protocol)
A protocol used for transferring web pages and other resources on the World Wide Web.
API (Application Programming Interface)
A set of rules and protocols that allows different software applications to communicate with each other.
Printers
Peripheral devices that produce physical copies of digital documents or images.
Primitives
boolean, char, integers (byt/short/int/long), floating points (float/double)