Advanced

Advanced Python is where the language stops feeling like a list of syntax rules and starts feeling like a practical toolkit. This path assumes you are comfortable with the Beginner path (Units 1–3) and most of the Intermediate path (Units 4–6): functions, lists and dictionaries, files, and small programs.

The units below run in a deliberate order, each building on the one before. Nothing is locked, though, so you can start wherever your current problem is. Coming for data analysis? That is Unit 12, and you can go straight there.

Unit 7 | Working with APIs and JSON

  1. APIs Explained Simply 9 min
  2. Calling Web APIs with Requests 13 min
  3. Building a JSON API Endpoint 11 min
  4. HTTP Methods and CRUD 9 min
  5. API Keys, Secrets, and Safe Configuration 10 min
  6. Django and FastAPI: What Comes After Flask? 9 min

Unit 8 | Databases and Text Patterns

  1. Why Programs Need Databases 8 min
  2. SQLite with Python: Tables, Inserts, and Queries 13 min
  3. Safe Queries and When to Reach for an ORM 11 min
  4. Regular Expressions: Finding Patterns in Text 13 min
  5. Unit 8 Project: Parse a Log File into a Database 15 min

Unit 9 | Code That Holds Up

  1. From print() to Real Logging 11 min
  2. Error Handling That Holds Up 12 min
  3. Type Hints and What mypy Catches 11 min
  4. Dataclasses: Structure Without Boilerplate 12 min
  5. Unit 9 Project: Harden a Script You Already Wrote 15 min

Unit 10 | Python Power Features

  1. How for Loops Really Work: The Iterator Protocol 12 min
  2. Building Pipelines with itertools 10 min
  3. Decorators: Wrapping Functions Without Rewriting Them 14 min
  4. Context Managers and the with Statement 12 min
  5. Unit 10 Project: A Retry-and-Timer Toolkit 15 min

Unit 11 | Doing Many Things at Once

  1. Waiting vs Working: Why Programs Are Slow 12 min
  2. Doing Many Things at Once with Thread Pools 14 min
  3. async and await Explained Simply 14 min
  4. The GIL, Processes, and Shared State 14 min
  5. Unit 11 Project: Fetch Many Pages Politely 16 min

Unit 12 | Data Science Basics

  1. Python for Data: The Big Picture 12 min
  2. NumPy Arrays Explained Simply 13 min
  3. Pandas DataFrames: Tables in Python 15 min
  4. Cleaning Data: Missing Values and Messy Text 15 min
  5. Charts with Matplotlib 14 min
  6. Unit 12 Project: Analyze a Small CSV 18 min

Unit 13 | Machine Learning Basics

  1. What Machine Learning Really Means 13 min
  2. Regression: Predicting Numbers 13 min
  3. Classification: Predicting Categories 13 min
  4. Train/Test Split and Overfitting 14 min
  5. Using scikit-learn Without Panic 14 min
  6. Unit 13 Project: First Tiny ML Model 18 min

Unit 14 | Games and Desktop Apps

  1. How Interactive Programs Think 13 min
  2. Build a Better Number Guessing Game 14 min
  3. Pygame Basics: Windows, Loops, and Drawing 14 min
  4. Pygame Movement, Collisions, and Scores 14 min
  5. Tkinter Basics: Windows, Buttons, and Inputs 13 min
  6. Unit 14 Project: Build a Tiny Quiz App 18 min

Unit 15 | Debugging, Testing, and Shipping

  1. Python Concepts Review: From Variables to APIs 15 min
  2. A Debugging Playbook That Always Works 16 min
  3. Tests That Catch Real Bugs: assert to pytest 16 min
  4. Writing Clean Python: Names, Functions, and Docstrings 14 min
  5. Packaging: Turn Your Script Into an Installable Tool 18 min
  6. Continuous Integration with GitHub Actions 15 min
  7. Containers in Plain English (and a First Dockerfile) 14 min
  8. Your Portfolio, and How to Ask a Question That Gets Answered 13 min
  9. Unit 15 Project: Plan a Capstone You Will Actually Finish 17 min

Unit 16 | What to Learn Next

  1. Choosing Your Next Python Path 13 min
  2. Advanced Python: What's Left, and When You'll Need It 17 min
  3. Reading Documentation Without Getting Lost 14 min
  4. Is This Library Worth Installing? 14 min
  5. Unit 16 Project: Build and Ship Your Capstone 20 min
  6. Careers, Interviews, and Whether Certificates Matter 15 min
  7. You Finished. Here Is What Happens Next. 10 min

What to know first

Before diving in, make sure you are solid on:

  • Functions and scope, defining functions, arguments, return values, and where names live.
  • Core data structures, lists, dictionaries, sets, and tuples, and when to use each.
  • Files and paths, reading and writing text with pathlib, covered in the Intermediate path.
  • Errors and exceptions, using try/except to handle the things that go wrong.

Every topic below assumes these are familiar, and links back to the relevant lessons where it helps.

How this path is ordered

The units above run in a deliberate sequence. Each one leaves you with a problem the next one solves:

  1. Unit 7, APIs and JSON — pull real data off the web. It ends with a script full of data and nowhere to put it.
  2. Unit 8, databases and regular expressions — store what you fetched so it survives the script ending, and pull structure out of messy text.
  3. Unit 9, code that lasts — logging, real error handling, type hints, and dataclasses, applied to the script you just wrote.
  4. Unit 10, power features — iterators, decorators, and context managers, the tools that delete repeated logic.
  5. Unit 11, concurrency — stop fetching one thing at a time.
  6. Units 12 and 13, data analysis and machine learning — pandas, charts, and a first model, now that you can fetch and store real data to work on.
  7. Unit 14, games and GUIs — a change of pace, and a different way to think about program state.
  8. Unit 15, review and shipping — consolidate everything, debug and test properly, then turn a script into something other people can install, with CI and containers behind it.
  9. Unit 16, what to learn nextchoose one of seven directions, meet the features that lie past this course, learn to read documentation and judge a library, then ship the capstone you planned in Unit 15.

Nothing is locked. Jump straight to whatever solves your current problem; the order above is a sensible default, not a gate.

Advanced topics worth learning

Each of these solves a real category of problem, and each note says what it helps you build. Learn them as you need them.

  • Working with APIs, use the requests library to call web services, send query parameters and headers, check status codes, and handle pagination and rate limits. Build: scripts that pull live data, weather, prices, search results, your own dashboards. Unit 7: APIs explained and calling them with requests.
  • Working with JSON, parse nested API responses, validate their shape, and turn messy responses into clean records. Build: tools that connect two services together. Unit 7: parsing nested responses and serving JSON of your own.
  • Tabular data at scale, go beyond the csv module into an introduction to data analysis with pandas. Build: reports and summaries from spreadsheets and exports. Unit 12: DataFrames, cleaning messy data, and charts.
  • Databases — store and query data with sqlite3, write simple queries, and learn when to reach for an ORM. Build: apps that remember data between runs. Unit 8: SQLite basics and safe queries and ORMs.
  • Iterators, build your own iterable objects, a natural step after generators and yield. Build: memory-efficient pipelines over large data. Unit 10: the iterator protocol and itertools pipelines.
  • Decorators, wrap functions to add behavior such as timing, caching, or validation without changing their code. Build: reusable, cross-cutting features. Unit 10: decorators.
  • Context managers, write your own with blocks using contextlib or __enter__/__exit__ to manage setup and cleanup safely. Build: code that always releases files, connections, and locks. Unit 10: context managers.
  • Type hints, annotate functions and run a checker like mypy to catch mistakes before the code runs. Build: larger projects that stay easy to change. Unit 9: type hints and mypy.
  • Dataclasses, concise classes for structured data, building on the object-oriented Python from Unit 4. Build: clean models for the things your program works with. Unit 9: dataclasses.
  • Logging, replace scattered print() calls with configurable, leveled logs. Build: scripts you can debug once they run unattended. Unit 9: logging and error handling.
  • Regular expressions, match and extract text patterns. Build: tools that pull structured details out of messy text and logs. Unit 8: regular expressions.
  • Concurrency basics — speed up I/O-bound work with async/await or threads. Build: scripts that fetch many things at once instead of one at a time. Unit 11: waiting vs working, thread pools, and async/await.
  • Packaging and distribution, turn a script into an installable tool with pyproject.toml and entry points. Build: tools other people can install and run. Unit 15: packaging and distribution, plus CI with GitHub Actions and containers.
  • Testing and debugging properly, a repeatable debugging method and a pytest suite that catches the bugs which never raise. Build: projects you can change without fear. Unit 15: the debugging playbook and tests that catch real bugs.
  • Learning without a curriculum — reading documentation without getting lost, judging whether a library is worth installing, and choosing which direction to take next. Build: whatever you decide to, once nobody is setting the syllabus. Unit 16: reading documentation, evaluating libraries, and choosing a path.

How these topics show up in real scripts

These ideas rarely appear alone. A realistic small project might:

  • Call an API and parse its JSON response,
  • Validate the data with type hints and dataclasses,
  • Store it in a SQLite database,
  • Wrap the network calls in a decorator that retries on failure and logs what happened,
  • And ship as an installable command-line tool.

That is the real goal of advanced Python: combining a handful of these tools into something genuinely useful.

Practice ideas

  • Fetch data from a free public API and save a cleaned-up version to a CSV file.
  • Take an existing script and add logging plus a try/except strategy so it fails clearly.
  • Model some real data (books, expenses, tasks) with a dataclass, then store it in SQLite.
  • Write a decorator that times any function it wraps.
  • Package one of your scripts so you can pip install it locally and run it as a command.

Pick one that matches a real itch you have. You will learn far more building something you actually want.

What to learn next

The lessons above are the path, and Unit 16 is the one about this question: it lays out seven directions and helps you pick by what you want to build. Alongside it: