Skip to content
Python Central Hub
Search
Ctrl
K
Cancel
GitHub
Instagram
X
Email
LinkedIn
Select theme
Dark
Light
Auto
Select language
English
简体中文
हिन्दी
Español
日本語
pch.sidebarCollapseAll
pch.sidebarNoResults
Guides
Welcome to Python Central Hub!
The Python Library
The Python Courses
Python Youtube Channels
Visual Studio Code Setup
Python Roadmap
Python Cheat Sheet
Interactive Visualizations
Tutorials
Introduction to Python
Installation Guide
Getting Started
Python Syntax
Python Comments
Python Variables
Variable Assignment
Naming Convention
Multiple Assignment
Global Variables
Python Data Types
Python Print Statement
Python Input Statement
Python Numbers
Python Boolean
Python Strings
Strings in Python
Python String Slicing
Python Modify Strings
Python String Formatting
Python String Concatenation
Python Escape String
Python String Methods
Python Operator
Operators in Python
Python Arithmetic Operators
Python Relational Operators
Python Logical Operators
Python Bitwise Operators
Python Assignment Operators
Python Membership Operators
Python Identity Operators
Python Operator Precedence
Python Tenary Operator
Python Operator Function
Python Datatype Casting
Python Control Statement
Control Statement in Python
If-else Statement in Python
Match Case Statement in Python
For Loop in Python
While Loop in Python
Break Statement in Loop in Python
Continue Statement in Loop in Python
Pass Statement in Python
Assert Statement in Python
Python Function
Function in Python
Types of Arguments in Python
*args and **kwargs in Python
Function Annotations in Python
Lambda Function
Python Module
Module in Python
Built-in and Online Modules
Python List
List in Python
Access List Item
List Operations
List Methods
Python Tuple
Tuple in Python
Access the Tuple
Update the Tuple
Unpack the Tuple
Tuple Operations
Tuple Methods
Python Set
Set in Python
Access the Set
Add and Remove Items from Set
Set Operations
Set Methods
Frozen Set
Python Dictionaries
Dictionaries in Python
Access the dictionary
Add and Remove in Dictionary
Dictionary Operations
Nested Dictionary
Dictionary Methods
Python Array
Array in Python
Access the Array
Add and Remove in Array
Array Operations
Array Methods
Python File Handling
File Handling in Python
Write and Read File
File Operations
File Methods
OS Methods
Python OOPS
OOPS in Python
Class in Python
Methods in Python
Constructor & Destructor in Python
Access Modifiers in Python
Inheritance in Python
Polymorphism in Python
Method Overloading in Python
Method Overriding in Python
Dyanamic Binding and Typing in Python
Abstract in Python
Encapsulation in Python
Interfaces in Python
Inner Class in Python
Anonymous Class in Python
Decorator in Python
Enums in Python
Reflection in Python
Python Errors and Exceptions
Errors and Exceptions in Python
try/except in Python
else and finally in Exception Handling
raise and Custom Exceptions
Debugging Tracebacks
Python Exception Handling
Exception Handling in Python
Python Iterators and Generators
Iterators and Generators in Python
Python Comprehensions
Comprehensions in Python
Python Functional Programming
Closures and Scope (LEGB) in Python
Map, Filter, and Reduce in Python
Recursion in Python
Python Context Managers
Context Managers (with statement) in Python
Python Threading
Threading in Python
Creating and Starting Threads
Daemon Threads
Thread Synchronization with Lock
Thread Communication (Queue)
Thread Pool with concurrent.futures
Python MultiProcessing
Multiprocessing in Python
Process (create, start, join)
Process Pool (Pool, map, starmap)
Sharing Data (Queue, Pipe, Manager)
Common Pitfalls (pickling, __main__)
Mini Project (Parallel Number Processing)
Python Synchronization
Synchronization in Python
Locks (Lock vs RLock)
Semaphores (limit concurrency)
Events (signal between threads)
Condition Variables
Barrier (start together)
Deadlocks and How to Avoid Them
Python Networking
Networking in Python
HTTP Requests with requests
Working with JSON APIs
Sockets (TCP Client and Server)
Building a Simple HTTP Server
Networking Errors and Timeouts
Python Asyncio
Asyncio in Python
Coroutines and await
Event Loop and asyncio.run
Tasks (create_task) and gather
Timeouts and Cancellation
Async Queues (producer-consumer)
Asyncio Synchronization (Lock, Semaphore)
Async HTTP with aiohttp
Asyncio Mini Project (Concurrent URL checker)
Async Context Managers and Async Generators
Structured Concurrency with TaskGroup
Python Standard Library
Python re — Regular Expressions
Python Date & Time — datetime, time, calendar
Python json — Parse & Serialize JSON
Python collections — Counter, defaultdict, namedtuple, deque
Python itertools & functools
Python math, random & statistics
Python sqlite3 — Database Basics
Python csv — Read & Write CSV
Python logging — Structured Application Logs
Python argparse & sys.argv — CLI Arguments
Python pathlib — Modern File Paths
Python Testing — unittest & pytest
Python pickle — Object Serialization
Modern Python
Python Type Hints & the typing Module
Python Concurrency — threading, multiprocessing, asyncio
Python Virtual Environments & pip
Python Networking — requests, urllib & sockets
Python Dataclasses (@dataclass)
Python Walrus Operator (:=)
Python f-strings Deep Dive
Algorithms Visualized
Sorting Visualized
Searching Visualized
Recursion Visualized
Big-O Visualized
Flask Tutorials
Flask Tutorials
Phase 1 - Flask Fundamentals
Phase 1 - Flask Fundamentals
Introduction to Web Frameworks
Flask vs Django
WSGI Concepts
Setting up Virtual Environment
Installing Flask
First Flask Application (Hello World)
Running the Dev Server
Debug Mode in Flask
Flask Command Line Interface (CLI)
Flask Directory Structure
Phase 2 - Routing and Views
Phase 2 - Routing and Views
Basic Routing
Variable Rules (Dynamic URLs)
URL Building (url_for)
HTTP Methods (GET vs POST)
Handling Query Parameters
Returning JSON Data
Redirects and Errors
Custom Error Pages (404, 500)
Phase 3 - Templating (Jinja2)
Phase 3 - Templating (Jinja2)
Introduction to Jinja2
Rendering Templates
Passing Variables to Templates
Jinja2 Delimiters
Control Structures (If/Else, Loops)
Template Inheritance (Extends)
Template Blocks
Jinja2 Filters
Custom Filters
Linking Static Files (CSS/JS)
Including Partials
Phase 4 - Forms and User Input
Phase 4 - Forms and User Input
The Request Object
Handling Form Data
Introduction to Flask-WTF
Creating Form Classes
Form Validation
CSRF Protection
Form Field Types
Rendering Forms in Templates
Flash Messages
File Uploading
Secure Filenames
Phase 5 - Databases (Flask-SQLAlchemy)
Phase 5 - Databases (Flask-SQLAlchemy)
Introduction to ORMs
Setting up Flask-SQLAlchemy
Configuring Database URI
Creating Database Models
Primary Keys and Column Types
Creating the Database (db.create_all)
CRUD - Create Record
CRUD - Read Record
CRUD - Update Record
CRUD - Delete Record
One-to-Many Relationships
Many-to-Many Relationships
Database Migrations (Flask-Migrate)
Executing Raw SQL
Phase 6 - User Authentication
Phase 6 - User Authentication
Cookies vs Sessions
Using Flask Sessions
Password Hashing (Werkzeug)
Introduction to Flask-Login
User Loader Function
Login View
Logout View
Protecting Routes (@login_required)
Remember Me Functionality
User Registration Flow
Phase 7 - Advanced Flask Architecture
Phase 7 - Advanced Flask Architecture
Introduction to Blueprints
Registering Blueprints
Application Factory Pattern
Handling Configuration (config.py)
Context Processors
Request Hooks (before_request)
Flask Extensions Overview
Flask-Mail (Sending Emails)
Flask-Admin Interface
Phase 8 - REST APIs with Flask
Phase 8 - REST APIs with Flask
Introduction to REST
JSON Serialization
Building a Simple API
Testing APIs with Postman
Flask-RESTful vs Plain Flask
Token-Based Authentication (JWT)
API Rate Limiting
Phase 9 - Deployment
Phase 9 - Deployment
Preparing for Production
Environment Variables (.env)
Gunicorn Web Server
Using Nginx as Reverse Proxy
Dockerizing Flask App
Deploying to Render
Deploying to PythonAnywhere
Deploying to AWS EC2
Python Automation and Scripting
Python Automation and Scripting
Safety Warning (Dry Runs and Backups)
Phase 1 - OS & File System Automation
The Power of Scripting - Why Automate?
The os Module - Navigating Directories
The shutil Module - Copying, Moving, and Deleting
Pattern Matching with glob
Managing Paths with pathlib
Automating File Backups
Batch Renaming Files Script
Searching Files by Content/Extension
Monitoring File System Changes (Watchdog)
Compressing Files (Zip and Tar archives)
Phase 2 - Office & Productivity Automation
Working with Excel - openpyxl Basics
Automating Excel Formulas and Charts
Processing CSV Data with the csv Module
PDF Manipulation - Merging and Splitting
Extracting Text from PDFs
Creating Word Documents with python-docx
Automating Google Sheets API
Generating Automated Reports
Phase 3 - Web Automation & Scraping
Introduction to Web Scraping Ethics & robots.txt
HTTP Requests with the requests Library
Parsing HTML with BeautifulSoup
CSS Selectors vs XPath
Downloading Images and Media in Bulk
Introduction to Selenium WebDriver
Handling Web Forms and Buttons
Wait Times - Implicit vs Explicit Waits
Scraping Dynamic JavaScript Websites
Automating Browser Tasks (Headless Mode)
Building a Price Tracker Bot
Phase 4 - Communication Automation
Sending Emails with smtplib
Sending HTML Emails and Attachments
Automating Outlook with pywin32
Sending SMS with Twilio API
Telegram Bot Integration for Notifications
Slack Webhooks for System Alerts
Automating Discord Messages
Phase 5 - GUI & System Control
Introduction to pyautogui
Controlling Mouse Movements and Clicks
Keyboard Automation - Typing and Hotkeys
Screen Recognition (Locating Images on Screen)
Creating Simple Message Box Alerts
Automating Desktop Applications
Phase 6 - Task Scheduling & Deployment
Running Scripts from the Command Line
Using Arguments with argparse
Scheduling Scripts on Windows (Task Scheduler)
Scheduling Scripts on Linux/Mac (Cron Jobs)
Using the schedule Library for Python
Logging for Automation Scripts (logging module)
Handling Errors in Long-Running Scripts
Data Analytics
Phase-01-Environment-and-Setup
Anaconda Distribution Setup
Jupyter Notebook Interface
Jupyter Shortcuts & Magic Commands
Google Colab Walkthrough
Virtual Environments for Data Science
Installing Data Science Libraries (pip & conda)
Phase-02-Numerical-Computing-NumPy
Introduction to NumPy
NumPy Array Creation
NumPy Data Types (dtypes)
Indexing and Slicing Arrays
Shape Manipulation & Reshape
Broadcasting in NumPy
NumPy Arithmetic Operations
NumPy Universal Functions (ufuncs)
Staking and Splitting Arrays
NumPy Random Module
Linear Algebra with NumPy
Statistical Functions in NumPy
Saving and Loading NumPy Data
Conditional Logic, Sorting & Set Logic
Structured Arrays & Random Walks
Phase-03-Data-Manipulation-with-Pandas
Introduction to Pandas
Series and DataFrames
Data Inspection (head, tail, info, describe)
Indexing and Selecting Data (loc, iloc)
Reindexing and Data Alignment
Filtering with Conditions (and, or, isin, query)
Sorting and Ranking
Applying Functions (apply, map, applymap)
Handling Missing Data (isna, fillna, dropna)
Cleaning Data (astype, duplicates, string cleaning)
Text and String Methods (str accessor and regex)
Reading and Writing Data (CSV, Excel, JSON)
Binary Formats and Web APIs (Parquet, pickle, requests)
Correlation and Covariance
Grouping and Aggregations (groupby, agg)
Advanced GroupBy (transform, filter, named agg)
Cross-Tabulation and Pivot Table Depth
Hierarchical Indexing (MultiIndex)
Reshaping Data (pivot, pivot_table, melt)
Merging and Joining Data (merge, join, concat)
Working with Dates and Times (to_datetime, dt accessor)
Date Ranges, Frequencies and Shifting
Time Zone Handling
Periods and Period Arithmetic
Resampling and Frequency Conversion
Rolling and Moving Window Functions
Phase-04-Data-Preprocessing-and-Cleaning
Understanding Data Quality
Outlier Detection (IQR Method)
Handling Outliers
Feature Scaling (MinMax vs Standard)
One-Hot Encoding
Label Encoding
Binning and Discretization
Train-Test Split Concepts
Preprocessing Pipeline (scikit-learn)
Feature Engineering Basics
Data Type Conversion and Validation
Categorical Data Type
Phase-05-Data-Visualization-with-Matplotlib
Introduction to Matplotlib
Anatomy of a Plot
Line Plot
Bar Chart and Horizontal Bar
Scatter Plot
Histogram
Pie Chart
Subplots and Figure Size
Axis Labels and Titles
Legends and Colors
Saving Plots as Images
Matplotlib Mini Project (EDA charts pack)
Phase-06-Statistical-Visualization-with-Seaborn
Phase 6 Overview - Statistical Visualization (Seaborn)
Introduction to Seaborn
Seaborn vs Matplotlib
Distribution Plots (displot, histplot)
Kernel Density Estimation (KDE)
Box Plots and Whiskers
Violin Plots
Count Plots
Bar Plots in Seaborn
Heatmaps for Correlation
Pair Plots
Joint Plots
Regression Plots (lmplot, regplot)
Facet Grids
Phase-07-Interactive-Visualization-with-Plotly
Introduction to Plotly Express
Interactive Line Charts
Interactive Bar Charts
Interactive Scatter Plots
Bubble Charts
Sunburst Charts
3D Scatter Plots
Creating Dashboards with Plotly
Choropleth Maps
Interactive Histograms and Distributions
Plotly Subplots and Facets
Animations in Plotly
Phase-08-Statistics-for-Data-Analytics
Introduction to Statistics for Data Analytics
Descriptive Statistics (mean, median, variance)
Probability Basics (events, conditional probability)
Distributions (normal, binomial, Poisson)
Sampling and the Central Limit Theorem (CLT)
Confidence Intervals (CI)
Hypothesis Testing (p-value, alpha, errors)
t-test (independent and paired)
ANOVA (one-way)
Correlation vs Causation (Pearson, Spearman)
Chi-Square Test (categorical association)
Non-Parametric Tests (Mann-Whitney, Wilcoxon)
A/B Testing Basics
Statistical Power (intuition)
Statistics Mini Project (Analyze a Marketing Campaign)
Linear Regression with statsmodels
Phase-09-SQL-for-Data-Analytics
Introduction to SQL for Data Analytics
SQL Basics (SELECT, WHERE, ORDER BY, LIMIT)
Aggregations (COUNT, SUM, AVG) and GROUP BY
Joins (INNER, LEFT) for Analytics
Window Functions (OVER, PARTITION BY)
CTEs (WITH) and Subqueries
Date and Time Analytics in SQL
SQL from Python (pandas + sqlite3)
SQL Mini Project (Build a KPI Dashboard Query Set)
Phase-10-Data-Analytics-Projects
Exploratory Data Analysis (EDA) on Titanic
Covid-19 Data Analysis & Visualization
E-commerce Sales Analysis
Netflix Movies & TV Shows Analysis
Stock Market Analysis (Finance)
Customer Churn Analysis
Housing Price Prediction (Regression)
Iris Flower Classification
Uber Ride Data Analysis
Credit Card Fraud Detection
Twitter Sentiment Analysis
Olympics Data Analysis
HR Analytics Dashboard
Spotify Song Popularity Analysis
Global Terrorism Database Analysis
Mathematics for Machine Learning
Mathematics for Machine Learning
Chapter 00 - Getting Ready
Getting Ready Overview
Notation and Symbols
Sums, Products, and Set Notation
Functions, Limits, and Continuity
Single-Variable Calculus Refresher
Complex Numbers in One Page
NumPy for Mathematics
Chapter 01 - Introduction and Motivation
Introduction and Motivation Overview
Finding Words for Intuitions
Two Ways to Read This Book
Chapter 02 - Linear Algebra
Linear Algebra Overview
Systems of Linear Equations
Matrices
Solving Systems of Linear Equations
Vector Spaces
Linear Independence
Basis and Rank
Linear Mappings
Affine Spaces
Chapter 2 Exercises and Solutions
Chapter 2 Formula Sheet
Chapter 03 - Analytic Geometry
Analytic Geometry Overview
Norms
Inner Products
Lengths and Distances
Angles and Orthogonality
Orthonormal Basis
Orthogonal Complement
Inner Product of Functions
Orthogonal Projections
Rotations
Chapter 3 Exercises and Solutions
Chapter 3 Formula Sheet
Chapter 04 - Matrix Decompositions
Matrix Decompositions Overview
Determinant and Trace
Eigenvalues and Eigenvectors
Cholesky Decomposition
Eigendecomposition and Diagonalization
Singular Value Decomposition
Matrix Approximation
Matrix Phylogeny
Chapter 4 Exercises and Solutions
Chapter 4 Formula Sheet
Chapter 05 - Vector Calculus
Vector Calculus Overview
Differentiation of Univariate Functions
Partial Differentiation and Gradients
Gradients of Vector-Valued Functions
Gradients of Matrices
Useful Identities for Computing Gradients
Backpropagation and Automatic Differentiation
Higher-Order Derivatives
Linearization and Multivariate Taylor Series
Chapter 5 Exercises and Solutions
Chapter 5 Formula Sheet
Chapter 06 - Probability and Distributions
Probability & Distributions — Overview
Construction of a Probability Space
Discrete and Continuous Probabilities
Sum Rule, Product Rule, and Bayes Theorem
Summary Statistics and Independence
Gaussian Distribution
Recall Drill
Machine Learning
Machine Learning
Phase 01 - The ML Foundation
Phase 1 - The ML Foundation
What is Machine Learning?
ML vs Traditional Programming
The Machine Learning Roadmap
Artificial Intelligence vs Machine Learning vs Deep Learning
Types of Machine Learning (Supervised, Unsupervised, Reinforcement)
The ML Lifecycle - From Data to Deployment
Setting up the ML Environment (Scikit-Learn, TensorFlow, PyTorch)
Phase 02 - Data Preprocessing & Feature Engineering
Phase 2 - Data Preprocessing & Feature Engineering
Framing an ML Problem & Getting the Data
Creating a Test Set (Avoiding Data Snooping)
Exploratory Data Analysis & Correlations
Data Cleaning & Handling Missing Values
Handling Text & Categorical Attributes
Feature Scaling (Normalization & Standardization)
Transformation Pipelines & Custom Transformers
End-to-End Machine Learning Project (California Housing)
Phase 03 - Supervised Learning - Regression
Phase 3 - Supervised Learning - Regression
Introduction to Regression Analysis
Simple Linear Regression
Multiple Linear Regression
Polynomial Regression
Cost Functions - Mean Squared Error (MSE)
Gradient Descent Explained
Regularization - Ridge and Lasso Regression
Metrics - R-Squared and Adjusted R-Squared
Phase 04 - Supervised Learning - Classification
Phase 4 - Supervised Learning - Classification
Introduction to Classification
Logistic Regression (Binary vs Multiclass)
K-Nearest Neighbors (KNN)
Support Vector Machines (SVM)
Decision Trees - Entropy and Gini Impurity
Naïve Bayes Classifier
Evaluation Metrics - Confusion Matrix
Precision, Recall, and F1-Score
The ROC Curve and AUC
Phase 05 - Ensemble Learning
Phase 5 - Ensemble Learning
The Power of Ensembles - Why Combine Models?
Bagging - Random Forest Regressor/Classifier
Boosting - Introduction to AdaBoost
Gradient Boosting (XGBoost, LightGBM, CatBoost)
Stacking and Voting Classifiers
Phase 06 - Unsupervised Learning & Dimensionality Reduction
Phase 6 - Unsupervised Learning & Dimensionality Reduction
Introduction to Clustering
K-Means Clustering Algorithm
Hierarchical Clustering (Dendrograms)
DBSCAN - Density-Based Clustering
Anomaly Detection with Isolation Forests
Association Rule Learning (Apriori Algorithm)
Principal Component Analysis (PCA)
t-SNE and Manifold Learning
Phase 07 - Model Optimization & Tuning
Phase 7 - Model Optimization & Tuning
Underfitting vs Overfitting
Bias vs Variance Tradeoff
K-Fold Cross-Validation
Hyperparameter Tuning with GridSearchCV
RandomizedSearchCV for Large Parameter Spaces
The ML Pipeline - Automating the Workflow
Phase 08 - Model Deployment (MLOps)
Phase 8 - Model Deployment (MLOps)
Saving and Loading Models (Pickle, Joblib)
Building an ML API with Flask/FastAPI
Deploying ML Models to Streamlit
Dockerizing an ML Application
Monitoring Model Drift
Phase 09 - Interpretability & Responsible ML
Phase 9 - Interpretability & Responsible ML
Why Interpretability Matters
Feature Importance and Its Traps
Partial Dependence and ICE Plots
SHAP Values from Scratch
Fairness Metrics and Bias Auditing
Phase 10 - Applied ML Problems
Phase 10 - Applied ML Problems
Imbalanced Classification and Fraud Detection
Cost-Sensitive Learning and Decision Thresholds
Time Series Forecasting Fundamentals
Text Classification with TF-IDF
Recommender Systems from Scratch
Anomaly and Outlier Detection
Phase 11 - ML Engineering
Phase 11 - ML Engineering
Experiment Tracking and Reproducibility
Data Validation and Schema Contracts
Feature Stores and Training-Serving Skew
Testing ML Code
Phase 12 - Capstone Projects
Phase 12 - Capstone Projects
Capstone 1 - Fraud Screening End to End
Capstone 2 - Churn with Point-in-Time Features
Capstone 3 - Demand Forecasting for Ordering
Capstone 4 - Ticket Triage with Text
Capstone 5 - A Recommender with an Honest Evaluation
Deep Learning
Deep Learning
Phase 01 - Neural Network Foundations
Phase 1 - Neural Network Foundations
Tensors and Tensor Operations
Introduction to Neural Networks (The Perceptron)
Multi-Layer Perceptron (MLP)
Activation Functions (ReLU, Sigmoid, Softmax)
Building Neural Networks with Keras (Sequential and Functional API)
How Neural Networks Learn (Gradient-Based Optimization)
Autograd from Scratch
The Same Network in PyTorch
First Example: Classifying Movie Reviews (IMDB, Binary)
First Example: Classifying Newswires (Reuters, Multiclass)
First Example: Predicting House Prices (Regression)
Phase 02 - Training Deep Neural Networks
Phase 2 - Training Deep Neural Networks
Backpropagation and Optimizers (Adam, SGD)
Loss Functions: Choosing What to Minimise
Vanishing & Exploding Gradients
Batch Normalization
Regularization & Dropout
Learning Rate Scheduling
The Universal Workflow of Machine Learning
Evaluating Models: Generalization and Validation
Callbacks and TensorBoard
Phase 03 - Computer Vision with CNNs
Phase 3 - Computer Vision with CNNs
Intro to Convolutional Neural Networks (CNN) for Images
Pooling & CNN Architecture
Famous CNN Architectures (LeNet to ResNet)
Normalisation Beyond Batch: Layer, Group and Instance
Transfer Learning - Using Pre-trained Models
Fine-Tuning and Parameter-Efficient Tuning (LoRA)
Data Augmentation for Small Datasets
Image Segmentation
Interpreting What Convnets Learn (Grad-CAM)
Object Detection (Bounding Boxes and YOLO)
Vision Transformers (ViT)
Phase 04 - Sequence Models with RNNs
Phase 4 - Sequence Models with RNNs
Intro to Recurrent Neural Networks (RNN) for Sequences
Padding, Masking and Variable-Length Sequences
LSTM & GRU Networks
Time Series Forecasting with RNNs
Advanced Recurrent Layers (Dropout, Stacking, Bidirectional)
Attention Before Transformers (Additive and Bahdanau)
Phase 05 - NLP & Transformers
Phase 5 - NLP & Transformers
Text Preprocessing (Tokenization, Stemming, Lemmatization)
Subword Tokenization (BPE and WordPiece)
Bag of Words (BoW) & TF-IDF
Word Embeddings (Word2Vec, GloVe)
Sentiment Analysis Tutorial
Named Entity Recognition (NER)
Attention from Scratch (Queries, Keys and Values)
The Transformer Architecture
Sequence-to-Sequence Learning (Machine Translation)
Evaluating Language Models (Perplexity and BLEU)
Phase 06 - Generative Deep Learning
Phase 6 - Generative Deep Learning
Autoencoders
Variational Autoencoders (VAE)
Generative Adversarial Networks (GANs)
Diffusion Models (Introduction)
Evaluating Generative Models (FID, Coverage and Memorisation)
Text Generation with Language Models
DeepDream
Neural Style Transfer
Phase 07 - Reinforcement Learning
Phase 7 - Reinforcement Learning
Introduction to Reinforcement Learning
Exploration vs Exploitation (Bandits and Epsilon Schedules)
Q-Learning & Deep Q-Networks
Policy Gradients (Intro)
Actor-Critic and PPO (Intro)
Phase 08 - Scaling & Deploying Deep Models
Phase 8 - Scaling & Deploying Deep Models
Loading & Preprocessing Data with tf.data
Custom Models and Training Loops (TensorFlow)
Distributed Training with tf.distribute
Hyperparameter Tuning with KerasTuner
Mixed Precision and Multi-GPU Training
Serving Models with TensorFlow Serving
Deploying to Mobile & Edge with TensorFlow Lite
Model Compression (Pruning, Quantisation and Distillation)
Limitations and the Future of Deep Learning
Phase 09 - Capstone Projects
Phase 9 - Capstone Projects
Capstone 1 - An Image Classifier End to End
Capstone 2 - A Text Classifier End to End
Capstone 3 - A Generative Model You Can Defend
DSA with Python
Start Here
8
00 · Start Here
Your DSA Interview Roadmap
How to Use This Course
The Sheets, Mapped
NeetCode 150
Blind 75
LeetCode Top Interview 150
Striver's A2Z DSA Sheet
Striver's SDE Sheet
Foundations
29
01 · Foundations
Introduction to DSA with Python
Setup for CP and Interviews
Big-O and Complexity Deep Dive
Recurrences and the Master Theorem
Space Complexity and the Call Stack
Python Recursion and Iterative Conversion
02 · Python for DSA & CP
Python Data Model Speed Reality
stdlib Power Tools for DSA
Fast IO and Beating TLE
Python Idioms and Tricks for CP
03 · Core Data Structures
Arrays and Dynamic Arrays
Strings
Linked Lists
Stacks and Queues
Hash Tables
Heaps and Priority Queues
Binary Trees and BST
Balanced Trees Overview
Tries (Prefix Trees)
Union-Find (Disjoint Set Union)
Graph Representations
Ordered Structures in Python
04 · Sorting & Searching
Elementary Sorts
Merge Sort
Quick Sort
Heap Sort
Counting, Radix, and Bucket Sort
Python Sorting and Timsort
Binary Search Template and Variants
Interview Patterns
77
05 · Arrays & Strings
Two Pointers
Sliding Window
Monotonic Deque
Prefix Sums and Difference Arrays
Prefix Sum with HashMap
Kadane and Maximum Subarray
Cyclic Sort
Matrix and Grid Manipulation
Monotonic Stack
Stack Parsing and Expression Evaluation
Frequency and Anagram Counting
Palindrome Patterns
Trie Patterns
Dutch National Flag and In-place Partitioning
06 · Search & Selection
Binary Search on Rotated Arrays and Matrices
Binary Search on Answer
Quickselect and Nth Element
Top K Elements
Two Heaps and Running Median
K-way Merge
07 · Intervals & Greedy
Merge Intervals
Sweep Line and Event Counting
Greedy Interval Scheduling
Greedy Reachability and Jumps
Sorting with Custom Comparators
08 · Linked Lists
Fast and Slow Pointers
In-place Linked List Reversal
Dummy Head Rewiring and Merging
Copy Flatten and Reorder
09 · Trees
Tree DFS Paths and Sums
Tree BFS and Level Order
BST Patterns
Lowest Common Ancestor
Tree Construction from Traversals
Serialize Compare and Subtree
Morris Traversal and O(1)-Space Tree Walks
Binary Lifting and Sparse LCA
10 · Graphs
Graph Traversal and Connected Components
Breadth First Search
Depth First Search
Grid Traversal Islands and Flood Fill
Multi-source BFS
Topological Sort
Cycle Detection and Bipartite Checking
Union-Find Problem Patterns
Shortest Paths: Dijkstra, Bellman-Ford, and Floyd-Warshall
Eulerian Paths and Reconstruct Itinerary
BFS and Dijkstra with Extra State
0-1 BFS and Deque Shortest Paths
11 · Recursion & Backtracking
Subsets and Combinations
Permutations and Arrangements
Backtracking
Divide and Conquer
12 · Dynamic Programming
From Recursion to DP
One Dimensional DP
Two Dimensional DP and Knapsack
Knapsack Variants and Subset Sum
Classic DP: LIS, LCS, and Edit Distance
DP on Grids and Intervals
Bitmask and Tree DP
DP on Stocks
Partition DP
String DP
LIS Variants and Patience Sorting
Digit DP
13 · Bit Manipulation & Math
Bit Manipulation Tricks
Bitwise XOR Patterns
Number Theory for Competitive Programming
Math and Geometry Problems
14 · Design Problems
Design LRU and LFU Caches
Design with Stacks and Queues
Design Iterators and Flatteners
Design with Randomization
Design Trackers and Feeds
Design Rate Limiter and Hit Counter
Design HashMap and Skiplist
15 · Simulation & Implementation
Simulation and Stateful Iteration
Advanced & Competitive
8
16 · Advanced Graph Algorithms
Minimum Spanning Trees: Kruskal and Prim
Strongly Connected Components and Bridges
Maximum Flow
17 · Advanced CP Topics
Segment Trees and Lazy Propagation
Fenwick Tree (Binary Indexed Tree)
Sparse Tables and Range Minimum Query
String Algorithms: KMP, Z, and Rabin-Karp
Advanced DP Optimizations
Reference & Strategy
14
18 · Templates & Cheatsheets
Data Structure Templates
Graph Algorithm Templates
Algorithm Templates
Master Complexity Cheatsheet
19 · Interview & Contest Strategy
FAANG Interview Playbook
Pattern Recognition Guide
Contest Strategy
Study Plans and Roadmap
Mock Interviews and Spaced Repetition
20 · Problem Sets
Getting Started Problem Set
Arrays and Strings Problem Set
Trees and Graphs Problem Set
Dynamic Programming Problem Set
Hard Mix Problem Set
Company Guides
10
21 · Company Guides
Company Comparison Matrix
Google Interview Guide
Meta Interview Guide
Amazon Interview Guide
Microsoft Interview Guide
Apple Interview Guide
Netflix Interview Guide
Uber Interview Guide
Bloomberg Interview Guide
ByteDance Interview Guide
Low-Level Design
5
22 · Low-Level Design (OOD)
The OOD Round: How to Approach It
Design an Elevator System
Design a Parking Lot
Design a Deck of Cards
Design a Library System
Concurrency
2
23 · Concurrency
Thread Ordering and Signalling
Bounded Buffers and Deadlock
Software Testing and Quality
Software Testing and Quality
Phase 1 - Testing Fundamentals (QA Theory)
Introduction to Software Quality Assurance (SQA)
The Cost of a Bug - Why Testing Matters
Software Development Life Cycle (SDLC) vs. STLC
The V-Model in Software Testing
Verification vs. Validation
Principles of Software Testing (Pesticide Paradox, etc.)
Manual vs. Automated Testing - When to Choose?
Black Box, White Box, and Grey Box Testing
Phase 2 - Levels of Testing
The Test Pyramid Strategy
Unit Testing - Testing Individual Components
Integration Testing - Testing Module Interactions
System Testing - Testing the Whole Product
User Acceptance Testing (UAT)
Regression Testing - Ensuring Old Features Still Work
Smoke and Sanity Testing
Phase 3 - Unit Testing with Python (unittest)
Introduction to Python’s unittest Library
Writing Your First Test Case
Using assertEqual and Other Assertions
Test Discovery and Running Tests
Organizing Tests into Test Suites
The Test Lifecycle - setUp() and tearDown()
Class-level Setup - setUpClass() and tearDownClass()
Skipping Tests and Expected Failures
Phase 4 - Modern Testing with pytest
Why Choose pytest over unittest?
Writing Concise Tests with Plain assert
Pytest Fixtures - Managing Test Dependencies
Parameterized Testing - Running Tests with Multiple Data Sets
Pytest Markers - Custom Tags and Filtering
Generating HTML Test Reports
Measuring Code Coverage with coverage.py
Mocking and Patching with unittest.mock
Phase 5 - API & Web Testing Automation
API Testing Fundamentals
Testing REST APIs with the requests Library
Automating UI Tests with Selenium & Python
The Page Object Model (POM) Pattern
Introduction to Playwright for Python
Behavior Driven Development (BDD) with behave
Writing Tests in Gherkin (Given-When-Then)
Phase 6 - Static Analysis & Code Quality
Introduction to Code Linting
Using Pylint to Enforce Standards
Using Flake8 for Style Checks
Static Type Checking with Mypy
Automated Refactoring with Black
Complexity Analysis with Radon
Finding Security Vulnerabilities with Bandit
Phase 7 - CI - CD & Professional QA Workflow
Introduction to Continuous Integration (CI)
Automating Tests with GitHub Actions
Setting up Pre-commit Hooks
Test-Driven Development (TDD) Workflow
Writing a Bug Report - Best Practices
Defect Life Cycle (Bug Statuses)
Suggested Testing Projects
Project - Building a Test Suite for a Calculator App
Project - Automated API Validation for a Weather Service
Project - E-commerce Checkout Flow UI Test
Project - Refactoring "Dirty" Code using TDD
Project - Building a CI/CD Pipeline for a Flask App
Projects
Advance
Advanced Chatbot with NLP
Advanced Image Captioning
Advanced Image Processing with OpenCV
Advanced Network Traffic Monitor
Advanced OCR with Deep Learning
Advanced OCR with Tesseract
Advanced Password Manager
Advanced Recommendation System
Advanced Spam Detection System
AI-based Chess Game
AI-based Image Captioning
AI-based Language Translation
AI-based News Summarizer
AI-based Predictive Analytics
AI-based Speech Synthesis
AI-based Voice Recognition
AI-driven Medical Diagnosis System
AI-powered Chat Translation
AI-powered Customer Support Chatbot
AI-powered Document Search
AI-powered Fraud Detection System
AI-powered Personal Assistant
AI-powered Recommendation System
AI-powered Stock Market Predictor
AI-powered Traffic Prediction
AI-powered Video Summarizer
Anomaly Detection System
AR (Augmented Reality) Game
Automated Code Review System
Automated Code Review Tool
Automated News Aggregator
Automated Resume Screening with NLP
Autonomous Drone Navigation
Autonomous Vehicle Simulation
Bioinformatics Data Analysis
Blockchain-Based Voting System
Cloud Storage Manager
Credit Card Fraud Detection
Customer Segmentation with ML
Data Encryption Tool
Data Visualization Dashboard
Deep Learning Image Classifier
Document Search Engine
Email Automation System
Face Recognition System
Handwriting Recognition System
Image Caption Generator
Intelligent Personal Assistant
Intrusion Detection System
Language Translation App
Machine Learning Recommendation System
Medical Diagnosis AI
NLP Text Summarizer
Object Detection System
Optical Character Recognition
Predictive Maintenance System
Real-Time Sentiment Analysis
Realtime Object Tracking
Speech to Text Converter
Time Series Forecasting
Video Processing Tool
Web Scraping Automation
WebApp Security Scanner
Weather Forecasting App
YouTube Video Downloader
Zodiac Sign Predictor
Stock Price Prediction Model
Speech Emotion Recognition
Virtual Reality Game (Pygame)
Object Detection with TensorFlow
Sentiment Analysis Model
Chatbot with Machine Learning
Image Segmentation
Gesture Recognition System
Autonomous Robot Simulation (Pygame)
Handwriting Recognition
Real-Time Face Mask Detection
Real-Time Object Tracking
Real-Time Sign Language Detection
Real-Time Vehicle Detection
Real-Time Emotion Detection
Real-Time Gesture Detection
Real-Time Handwriting Detection
Real-Time Speech Recognition
Real-Time Stock Price Prediction
Real-Time Weather Forecasting
Real-Time Air Quality Monitoring
Real-Time Fraud Detection
Real-Time Network Intrusion Detection
Real-Time Anomaly Detection
Real-Time Recommendation System
Real-Time Customer Segmentation
Real-Time Product Classification
Real-Time Sales Forecasting
Real-Time Inventory Management
Real-Time Demand Forecasting
Real-Time Price Optimization
Real-Time Churn Prediction
Real-Time Credit Scoring
Real-Time Risk Assessment
Real-Time Sentiment Classification
Real-Time Topic Modeling
Real-Time Text Summarization
Real-Time Text Classification
Real-Time Text Generation
Real-Time Text Translation
Real-Time Text Extraction
Real-Time Image Classification
Real-Time Image Generation
Real-Time Image Translation
Real-Time Image Extraction
Real-Time Image Segmentation
Real-Time Video Classification
Real-Time Video Generation
Real-Time Video Translation
Real-Time Video Extraction
Real-Time Video Segmentation
Beginners
Hello World Project
Simple Calculator
Guess the Number Game
Temperature Converter
Todo List Application (CLI)
Basic Web Scraper
Rock Paper Scissors Game
Dice Rolling Simulator
Currency Converter
Basic Chatbot (Jarvis-style)
Web Page Content Downloader
Hangman Game
ASCII Art Generator
URL Shortener
Random Password Generator
Basic File Explorer
Basic Email Sender
Basic Quiz Game
Morse Code Translator
Automated File Mover
Simple Reminder App
Simple Stopwatch
Word Counter
Password Strength Checker
Basic Alarm Clock
Reverse a String
Basic Music Player
Basic Text Editor
Fibonacci Sequence Generator
Binary to Decimal Converter
Calculator GUI
Simple Blog System
Text-Based Adventure Game
Basic Paint Application
Movie Recommendation System (Basic)
Basic Calendar App
Todo List Application
JSON Data Validator
Number Guessing Game with AI
RSS Feed Reader
Currency Exchange Rate Calculator GUI
Web Page Scraper with Notifications
Text-based Blackjack Game
Personal Diary Application
Basic Web Server (Flask)
Basic Web Crawler
intermediate
Image Recognition with OpenCV
Basic OCR with Tesseract
Advanced Web Scraping with BeautifulSoup
Weather App GUI with API Integration
Data Visualization Suite with Matplotlib & Seaborn
Flask REST API Server with Authentication
REST API with JWT Authentication
File Encryption Tool with Advanced Security
Morse Code Audio Player & Translator
Chat Application with Socket Programming
Dynamic Portfolio Website with Flask
Hangman Game with Database Integration
Automated Email Sender with Advanced Features
Content Management System
Cryptocurrency Portfolio Tracker
E-commerce Analytics Platform
URL Shortener with Analytics
Machine Learning Model Trainer
Personal Finance Tracker
Real-time Chat Application
Social Media Analytics Dashboard
AI-Powered Task Management System
Web Scraping Pipeline
News Aggregator
File Synchronization Tool
Basic Chatroom App
Anagram Game
Simple Blog with Flask
Quiz Game with Timer
Basic File Version Control System
Interactive Periodic Table
Multiplayer Tic-Tac-Toe (Socket Programming)
Weather App with Voice Commands
Simple Weather Forecast App
GUI-based SQL Database Viewer
QR Code Attendance System
GitHub Profile Viewer
E-commerce Website (Basic)
Real-time Chat Application (WebSocket)
URL Expander
Reference
Contact Us
GitHub
Instagram
X
Email
LinkedIn
Select theme
Dark
Light
Auto
Select language
English
简体中文
हिन्दी
Español
日本語
Python Cheat Sheet
Credits:
Laurent Pointal
Section titled “Credits: Laurent Pointal”
pch.share
pch.print
pch.coffeeTagline
pch.coffeeCta
pch.feedbackHeading
pch.feedbackSubheading
pch.feedbackNoscript
pch.feedbackEmail
*
pch.feedbackComment
*
pch.feedbackSubmit