About Course
Most Python courses were designed before AI changed how data work gets done. Today, AI can write code in seconds. But someone still has to know what to ask for, read what the AI produced, and catch the mistakes before they reach a report or a manager’s inbox.
This course trains you to be that person.
You’ll learn Python, NumPy, pandas, visualization and statistics properly, so you understand what every line of code does to your data. Then you’ll move into real data engineering: Git and GitHub, APIs, SQL, PySpark, Delta Lake, and scheduled ETL pipelines on Databricks. Finally, you’ll deliver results to the business through interactive Dash dashboards, automated Excel, Word and PDF reports, and delivery by Outlook email and SharePoint.
Every lesson follows a four-step method:
- Understand the concept: a clear explanation and a small hands-on example, without AI.
- Read the code: learn to explain AI-generated code line by line.
- Build with AI: write a clear specification and let Claude Code or the Databricks Assistant build it.
- Verify the result: check row counts, totals and edge cases, and find the bugs AI introduces.
You’ll work in Databricks, the cloud platform used by data teams worldwide, and in VS Code with Claude Code for larger projects. All exercises use one realistic business dataset from a fictional airline’s customer-experience operation, so every module builds on the last.
The course ends with a capstone project that you publish on GitHub as a portfolio piece. You’ll build a complete, scheduled pipeline that ingests raw data, transforms it through bronze, silver and gold layers, runs statistical analysis, powers a live dashboard, and emails automated reports to managers.
What Will You Learn?
- Write and read Python with confidence, from basic syntax to functions, generators and classes
- Clean, reshape, join and analyze data in depth with pandas (40 lessons)
- Create clear charts with Matplotlib, Seaborn and Plotly
- Run hypothesis tests, A/B tests and regression with SciPy and statsmodels
- Manage projects professionally with Git, GitHub, uv and Ruff
- Ingest data from files, REST APIs and SQL databases
- Process large datasets with PySpark and Spark SQL
- Build a lakehouse with Delta Lake and the medallion architecture
- Build ETL pipelines with data quality checks, and schedule them with Databricks Jobs
- Build and deploy interactive web dashboards with Dash
- Generate Excel, Word and PDF reports automatically
- Deliver reports through Outlook and SharePoint with Microsoft Graph
- Use Claude Code and the Databricks Assistant productively, and verify everything they produce
Course Content
Module 0: Setup and the AI Workflow
-
0.1 Course roadmap and the SkyCare dataset
-
0.2 Databricks Free Edition tour
-
0.3 Loading the course data
-
0.4 Desktop setup
-
0.5 How to work with an AI coding assistant
-
0.6 AI risks in data work
Module 1: Python Essentials with AI Pair Programming
-
1.1 How Python code runs
-
1.2 Variables and naming
-
1.3 Numbers and arithmetic
-
1.4 Booleans and comparisons
-
1.5 Type conversion
-
1.6 Strings basics
-
1.7 String methods and f-strings
-
1.8 Lists
-
1.9 Tuples and unpacking
-
1.10 Dictionaries
-
1.11 Sets
-
1.12 Nested data and mutability
-
1.13 Conditions
-
1.14 for loops
-
1.15 while loops and loop control
-
1.16 Comprehensions
-
1.17 Functions basics
-
1.18 Functions in depth
-
1.19 Iterators and generators
-
1.20 Modules and the standard library
-
1.21 Errors and exceptions
-
1.22 Working with files
-
1.23 Classes 1: Classes and objects
-
1.24 Classes 2: Methods
-
1.25 Classes 3: Inheritance
-
1.26 Classes 4: Special methods and dataclasses
-
1.27 Reading and debugging AI code
Module 2: NumPy for Fast Numerical Computing
-
2.1 Why NumPy
-
2.2 Creating arrays
-
2.3 Indexing and slicing
-
2.4 Vectorized operations and broadcasting
-
2.5 Aggregations and statistics
-
2.6 NumPy inside pandas
Module 3: Data Analysis with pandas
-
3.1 Why pandas and the Series
-
3.2 The DataFrame
-
3.3 Creating DataFrames
-
3.4 Reading CSV files
-
3.5 Reading Excel files
-
3.6 Reading JSON and Parquet
-
3.7 Writing data
-
3.8 Inspecting a dataset
-
3.9 Counting and profiling
-
3.10 Selecting columns and rows
-
3.11 Boolean filtering
-
3.12 Filtering with query()
-
3.13 Sorting and ranking
-
3.14 Finding missing values
-
3.15 Handling missing values
-
3.16 Duplicates
-
3.17 Data types and conversion
-
3.18 Columns and index management
-
3.19 Cleaning text with .str
-
3.20 Regex with pandas
-
3.21 Working with dates
-
3.22 Time series basics
-
3.23 Creating new columns
-
3.24 apply, map and replace
-
3.25 Binning values
-
3.26 GroupBy basics
-
3.27 GroupBy advanced
-
3.28 Pivot tables
-
3.29 Crosstab and pivot
-
3.30 Melt: wide to long
-
3.31 Stack, unstack and MultiIndex
-
3.32 Merging DataFrames
-
3.33 Merge pitfalls
-
3.34 Combining with concat
-
3.35 Period comparisons
-
3.36 Rolling and cumulative metrics
-
3.37 Method chaining and pipe
-
3.38 Performance and memory
-
3.39 Styling tables
-
3.40 Verifying AI-written pandas code
Module 4: Data Visualization (Matplotlib, Seaborn, Plotly)
-
4.1 Choosing the right chart
-
4.2 Matplotlib fundamentals
-
4.3 Customizing Matplotlib charts
-
4.4 Seaborn for statistical charts
-
4.5 Seaborn for relationships
-
4.6 Plotly Express
-
4.7 Plotly Graph Objects
-
4.8 Databricks built-in visuals
-
4.9 Prompting AI for charts
Module 5: Statistics with SciPy and statsmodels
-
5.1 Descriptive statistics
-
5.2 Probability distributions
-
5.3 Sampling and confidence intervals
-
5.4 Hypothesis testing logic
-
5.5 t-tests and ANOVA
-
5.6 Chi-square tests
-
5.7 Correlation
-
5.8 Linear regression with statsmodels
-
5.9 A/B testing
Module 6: Professional Python Workflow: Git, GitHub, uv and Ruff
-
6.1 Introduction to Git and GitHub
-
6.2 Git fundamentals
-
6.3 Installing Git
-
6.4 Basic Git workflow
-
6.5 Undoing changes
-
6.6 GitHub account setup and authentication
-
6.7 Cloning, push and pull
-
6.8 Creating repositories and .gitignore
-
6.9 Branches and merging
-
6.10 Pull requests and code review
-
6.11 Merge conflicts
-
6.12 Using Git in the VS Code UI
-
6.13 Git folders in Databricks
-
6.14 Environment variables and secrets (.env)
-
6.15 Using the python-dotenv package
-
6.16 Introduction to Ruff
-
6.17 Setting up Ruff in VS Code
-
6.18 Ruff in action
-
6.19 Introduction to uv
-
6.20 Installing uv
-
6.21 Using uv (init, add, sync, run)
-
6.22 Git with Claude Code
-
6.23 Complete Python project workflow exercise
Module 7: Data Sources: Files, APIs and SQL
-
7.1 File formats compared
-
7.2 Working with Parquet
-
7.3 REST APIs with requests
-
7.4 Reliable API ingestion
-
7.5 Relational database concepts
-
7.6 SQLite with Python
-
7.7 SQLAlchemy Core
-
7.8 pandas and SQL together
-
7.9 Connecting to PostgreSQL
Module 8: PySpark and Spark SQL
-
8.1 Why Spark
-
8.2 Spark DataFrames
-
8.3 Defining schemas
-
8.4 Transformations
-
8.5 Aggregations
-
8.6 Joins in Spark
-
8.7 Window functions
-
8.8 Spark SQL
-
8.9 pandas vs PySpark
-
8.10 Performance basics
Module 9: Delta Lake and the Lakehouse
-
9.1 Data warehouse, data lake, lakehouse
-
9.2 Unity Catalog basics
-
9.3 Creating Delta tables
-
9.4 Medallion architecture
-
9.5 MERGE (upserts)
-
9.6 Time travel and history
-
9.7 Schema enforcement and evolution
-
9.8 Table maintenance
Module 10: ETL Pipelines, Data Quality and Scheduling
-
10.1 ETL vs ELT
-
10.2 Incremental loading
-
10.3 Data quality checks
-
10.4 Parameterized notebooks
-
10.5 Pipeline code as functions
-
10.6 Scheduling with Databricks Jobs
-
10.7 Declarative pipelines (overview)
-
10.8 Testing pipeline code
-
10.9 Building a pipeline with Claude Code
Module 11: Web Dashboards with Dash
-
11.1 How a Dash app works
-
11.2 Layout and components
-
11.3 Callbacks
-
11.4 Interactive filters
-
11.5 KPI cards and tables
-
11.6 Reading data from Databricks
-
11.7 Building the dashboard with Claude Code
-
11.8 Deploying as a Databricks App
-
11.9 Dash vs BI tools
Module 12: Automated Reporting: Excel, Word, PDF
-
12.1 Report automation design
-
12.2 Excel with XlsxWriter
-
12.3 Excel with openpyxl
-
12.4 Word reports with python-docx
-
12.5 Templates with Jinja2
-
12.6 Word templates with docxtpl
-
12.7 PDF reports with ReportLab
-
12.8 Working with PDFs using pypdf
-
12.9 One report per team
-
12.10 Scheduling report generation
Module 13: Microsoft 365 Automation
-
13.1 Microsoft 365 automation options
-
13.2 Azure app registration
-
13.3 Authentication with MSAL
-
13.4 Sending email with Microsoft Graph
-
13.5 SharePoint with Office365-REST-Python-Client
-
13.6 SharePoint lists
-
13.7 End-to-end delivery
-
13.8 Bonus: Outlook desktop with pywin32
Module 14: Capstone: End-to-End AI-Built Pipeline
-
14.1 Capstone brief and specification
-
14.2 Building ingestion and bronze/silver layers
-
14.3 Gold layer, statistics and insights
-
14.4 Dashboard and reports
-
14.5 Scheduling, delivery and monitoring
-
14.6 Portfolio and presentation