Python Intermediate
The professional layer on top of Python Essentials: virtual environments and secrets, dates and time zones, CSV data work, real web APIs, testing with pytest, modern Python (dataclasses, enums, pathlib, match), iterator pipelines — and four capstone projects.
What you'll learn
Python Intermediate is organized into 8 focused modules. By the end you'll be comfortable with:
- Python Environment & Packages
- Working with Dates & Time
- CSV & Data Files
- APIs & HTTP Requests
- Testing
- Modern Python
- Iterators & Advanced Iteration
- Final Projects
Course curriculum
41 lessons across 8 modules. Lessons marked Free preview are readable without an account.
Module 1. Python Environment & Packages
pip, virtual environments, requirements.txt, and keeping secrets out of your code
- 8mpip & Package ManagementFree preview
Install and manage Python packages with pip.
- 10mVirtual EnvironmentsFree preview
Isolate project dependencies with venv.
- 8mrequirements.txt
Capture and share your project dependencies.
- 10mSecrets & .env Files
Keep API keys and passwords out of your code with environment variables and python-dotenv.
- 12mBuild: Bootstrap a Real Project
Put the whole module together: venv, dependencies, secrets, and project layout from zero.
Module 2. Working with Dates & Time
datetime, timedelta, formatting, and time zones
- 10mThe datetime Module
Work with dates and times using Python's built-in datetime module.
- 10mtimedelta & Date Arithmetic
Calculate durations and add/subtract time.
- 10mFormatting & Parsing Dates
Convert dates to strings with strftime and strings to dates with strptime.
- 12mTime Zones & UTC
Naive vs aware datetimes, UTC, and the golden rule of timestamps.
- 12mBuild: Habit Streak Calculator
Combine parsing, date arithmetic, and comparisons to compute a Duolingo-style streak.
Module 3. CSV & Data Files
Read, write, filter, group, and summarise real tabular data
- 10mReading CSV Files
Read tabular data from CSV files using Python's csv module.
- 8mWriting CSV Files
Write data to CSV files using Python's csv module.
- 10mFiltering & Sorting Data
The read-process-write pattern: filter rows, sort them, and survive messy data.
- 10mGrouping & Aggregating
Totals per category, counts per key — defaultdict and Counter turn rows into answers.
- 14mBuild: Sales Report Generator
Read a messy sales CSV, aggregate per product, and write a clean summary file.
Module 4. APIs & HTTP Requests
How the web talks, and how to talk back with the requests library
- 8mWhat Is an API?
Clients, servers, HTTP, and status codes — the vocabulary of the web, before any code.
- 8mThe requests Library
Make your first HTTP requests with the requests library.
- 12mGET Requests & JSON APIs
Fetch and navigate JSON data, pass query parameters, and send auth headers.
- 10mPOST & Other Methods
Send data to APIs with POST, and meet PUT, PATCH, and DELETE.
- 10mHandling API Failures
Timeouts, connection errors, bad statuses, retries — write API code that survives the real internet.
- 15mBuild: GitHub Repo Explorer
A real CLI tool against a live public API: fetch, rank, and display a user's repositories — robustly.
Module 5. Testing
assert, unittest, pytest — and how to write tests worth having
- 8massert Statements
Use assert to verify assumptions and catch bugs early.
- 12munittest Basics
Write organised test cases using Python's built-in unittest framework.
- 10mpytest Basics
Write and run tests with pytest — the framework the industry actually uses.
- 10mWriting Good Tests
Arrange-Act-Assert, edge cases, and the habits that separate useful suites from decorative ones.
- 14mBuild: Test an Expense Splitter
Write a real pytest suite — happy path, boundaries, error cases, and a bug hunt.
Module 6. Modern Python
dataclasses, enums, pathlib, match statements, and practical type hints
- 10mdataclasses
Create clean data models with @dataclass.
- 10mEnums
Define a fixed set of named constants with Python enums.
- 10mpathlib
Work with file system paths as objects — the modern replacement for path strings.
- 10mThe match Statement
Structural pattern matching — Python 3.10's answer to sprawling if/elif chains.
- 10mType Hints in Practice
Generics, unions, None-handling, and mypy — type hints as a real engineering tool.
- 14mBuild: Task Manager Models
dataclasses + enums + pathlib + match + type hints, composed into one clean data layer.
Module 7. Iterators & Advanced Iteration
The iterator protocol in depth, generator pipelines, and itertools
- 10mThe Iterator Protocol, Revisited
iter(), next(), and the iterable-vs-iterator distinction that explains a whole class of bugs.
- 14mCustom Iterators
Implement __iter__ and __next__ yourself — and learn when a class beats the generators you already know.
- 12mGenerator Pipelines
Chain lazy stages into assembly lines that process gigabytes in constant memory.
- 10mThe itertools Toolbox
count, cycle, chain, zip_longest, pairwise — the standard library's iterator building blocks.
- 14mBuild: Streaming Log Analyzer
A generator pipeline + Counter + itertools, pointed at a server log too big to load.
Module 8. Final Projects
Four real applications that combine everything in the course
- 20mProject: Weather App
Build a command-line weather app on the OpenWeatherMap API — keys, params, JSON, and robust errors.
- 20mProject: Expense Tracker
A CLI expense tracker with a dataclass model, CSV persistence, and grouped summaries.
- 18mProject: File Organizer
Tame a messy Downloads folder — pathlib, an Enum category map, dry-run safety, and collision handling.
- 20mProject: Quiz App
An interactive quiz game from a CSV question bank — plus a persistent high-score file and a pytest suite.
Frequently asked questions
- Is the Python Intermediate course free?
- You can preview lessons for free with no account. Full access to this Pro course is included with a Kodion Pro subscription.
- Do I need prior programming experience?
- This is a intermediate course, so you'll get the most from it if you're already comfortable with the basics of programming.
- How long does Python Intermediate take to complete?
- It's 41 lessons across 8 modules, roughly 8 hours of hands-on learning. You can go entirely at your own pace.
- What will I learn?
- You'll work through Python Environment & Packages, Working with Dates & Time, CSV & Data Files, and more, building real, applied skills through interactive lessons and coding challenges.
- Can I get help if I'm stuck?
- Yes. Kodion's built-in AI tutor gives instant, context-aware hints and explanations right inside each lesson as you code.
Ready to start Python Intermediate?
Create a free account to track progress, earn XP, and get instant help from the AI tutor as you code.
Create your free account