M&T

Term

One-Sentence Definition

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.

Term

One-Sentence Definition

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.

Term

One-Sentence Definition

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.

Term

One-Sentence Definition

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.

Term

One-Sentence Definition

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.

Term

One-Sentence Definition

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.