1/75
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Object-Oriented Programming (OOP)
A programming paradigm that models software as interacting objects containing data and behavior.
Class
A blueprint for creating objects that defines their attributes and methods.
Object
An instance of a class representing a real-world entity in code.
Encapsulation
Bundling data and methods inside a class while restricting direct access to internal details.
Abstraction
Hiding complex implementation details while exposing only the essential functionality.
Inheritance
Allowing one class to reuse and extend the properties and methods of another class.
Polymorphism
The ability for the same function or interface to behave differently based on the object using it.
Composition
Building complex objects by combining simpler ones rather than relying solely on inheritance.
Interface
A contract that defines a set of methods a class must implement without specifying how.
Abstract Class
A class that cannot be instantiated and serves as a template for subclasses.
Overloading
Defining multiple methods with the same name but different parameters.
Overriding
Redefining a parent class’s method in a subclass to change its behavior.
Constructor
A special method used to initialize new objects of a class.
Array
A contiguous collection of elements stored at fixed indices for fast random access.
Linked List
A sequence of nodes where each node points to the next, enabling dynamic memory allocation.
Stack
A Last-In-First-Out (LIFO) data structure used for undo operations and function calls.
Queue
A First-In-First-Out (FIFO) data structure used for scheduling and buffering tasks.
Deque
A double-ended queue allowing insertion and removal from both ends.
Hash Map / Hash Table
A structure storing key-value pairs with near-constant-time lookups using hashing.
Set
A collection of unique, unordered elements that supports fast membership tests.
Tree
A hierarchical structure of nodes with one root and child nodes.
Binary Tree
A tree where each node has at most two children.
Binary Search Tree (BST)
A binary tree that maintains sorted order for efficient O(log n) lookups.
Heap (Priority Queue)
A complete binary tree used to quickly access the smallest or largest element.
Graph
A network of nodes (vertices) connected by edges representing relationships.
Adjacency Matrix
A 2D array representation of graph edges.
Adjacency List
A dictionary-like mapping from each vertex to its list of connected neighbors.
Trie (Prefix Tree)
A tree optimized for prefix-based string searching.
Hash Function
Converts input data into a fixed-size hash key for quick lookups.
Collision (in Hashing)
When two keys produce the same hash value, requiring a resolution strategy.
Load Factor
A measure of how full a hash table is before resizing.
Algorithm
A step-by-step procedure for solving a computational problem.
Big-O Notation
Describes the worst-case time or space complexity growth rate of an algorithm.
Time Complexity
The measure of how an algorithm’s runtime increases with input size.
Space Complexity
The measure of memory an algorithm requires relative to input size.
Linear Search
Scanning each element sequentially to find a match (O(n)).
Binary Search
Recursively dividing a sorted array to find a target in O(log n) time.
Recursion
A function that calls itself to solve smaller subproblems.
Iteration
Repeated execution of a set of statements using loops.
Sorting Algorithm
A method for ordering elements in a list or array.
Bubble Sort
Repeatedly swapping adjacent out-of-order elements (O(n²)).
Insertion Sort
Gradually building a sorted portion by inserting elements in order (O(n²)).
Merge Sort
Divide-and-conquer sorting algorithm with O(n log n) complexity and stability.
Quick Sort
Partition-based sorting algorithm with O(n log n) average complexity.
Heap Sort
Sorting algorithm using a heap structure for O(n log n) performance.
Dynamic Programming (DP)
Breaking problems into overlapping subproblems and caching results.
Greedy Algorithm
Builds a solution step-by-step by choosing the locally optimal option.
Breadth-First Search (BFS)
Traverses a graph level by level using a queue.
Depth-First Search (DFS)
Traverses a graph by exploring one branch fully before backtracking.
Frontend
The part of an application that users interact with directly (UI).
Backend
The server side of an application handling logic, data, and APIs.
Full Stack
Working across both frontend and backend layers of an application.
RESTful API
API architecture that uses standard HTTP methods (GET, POST, PUT, DELETE) to manage resources.
GraphQL
A query language that lets clients request exactly the data they need from a single endpoint.
Containerization
Packaging software and its dependencies to run consistently across environments.
Docker
A containerization platform that isolates applications for consistent deployment.
Cloud Computing
Delivering computing resources (storage, servers, databases) over the internet.
Database
A structured collection of data that can be accessed and managed electronically.
SQL (Structured Query Language)
A language for storing, retrieving, and managing data in relational databases.
Python
A high-level, interpreted language known for readability and versatility in data science and web development.
Java
An object-oriented, platform-independent language widely used in enterprise systems.
JavaScript (JS)
A lightweight scripting language that powers interactivity on the web.
TypeScript
A superset of JavaScript adding static typing for safer and scalable code.
React.js
A JavaScript library for building reusable UI components.
Node.js
A JavaScript runtime for building scalable backend servers.
Express.js
A minimalist web framework for building REST APIs on Node.js.
Spring Boot
A Java framework for quickly building production-ready web applications.
Redux
A predictable state management library for JavaScript applications.
Streamlit
A Python framework for building interactive data-driven web apps.
Plotly
A graphing library for creating interactive, web-based data visualizations.
Matplotlib
A Python library for creating static 2D plots and charts.
Seaborn
A Python visualization library built on Matplotlib for statistical graphics.
Pandas
A Python library for data manipulation and analysis using DataFrames.
scikit-learn
A Python library offering tools for machine learning and data preprocessing.
PyTorch
A deep learning framework using dynamic computational graphs for neural networks.
OpenAI API
Cloud-based endpoints providing access to large language and image models.