Python Quest

Curriculum

Learning map

17 tracks in a recommended order. Each lesson builds on the ones before it; each track ends with a test. Start at the beginning, or take the placement check to find your starting point.

Foundations

  1. Track 1 · FreeGetting Started with PythonWrite, run and debug your first Python programs, assuming no programming experience at all.11 lessons · 40 exercises · about 5 h
  2. Track 2 · FreeVariables, Data Types and OperatorsStore values in variables, work with numbers, text and booleans, convert between types and process input.11 lessons · 45 exercises · about 6 h
  3. Track 3 · First lesson freeConditional LogicMake programs choose what to do with if, elif and else, and express real business rules as conditions.11 lessons · 44 exercises · about 7 h
  4. Track 4 · First lesson freeLoops and IterationRepeat work with for and while loops, count and accumulate results, and avoid loops that never end.11 lessons · 44 exercises · about 7 h
  5. Track 5 · First lesson freeFunctions and Program StructurePackage logic into reusable functions with parameters and return values, and structure programs clearly.12 lessons · 48 exercises · about 7 h

Building real programs

  1. Track 6 · First lesson freeCore Data StructuresOrganise data with lists, tuples, dictionaries and sets, and transform collections with comprehensions.12 lessons · 51 exercises · about 8 h
  2. Track 7 · First lesson freeWorking with TextClean, validate, parse and format real-world text, including regular expressions and Unicode basics.11 lessons · 46 exercises · about 8 h
  3. Track 8 · First lesson freeFiles, CSV and JSONRead and write files, process CSV and JSON data, validate records and build small data pipelines.11 lessons · 46 exercises · about 8 h
  4. Track 9 · First lesson freeExceptions and DebuggingRead tracebacks, handle exceptions deliberately, validate input and debug code systematically.11 lessons · 45 exercises · about 7 h
  5. Track 10 · First lesson freeModules, Libraries and the Python EcosystemUse the standard library, organise code into modules, and understand pip, virtual environments and dependencies.12 lessons · 49 exercises · about 9 h
  6. Track 11 · First lesson freeObject-Oriented ProgrammingModel real problems with classes, objects, methods, inheritance, composition, properties and dataclasses.12 lessons · 52 exercises · about 9 h

Professional Python

  1. Track 12 · First lesson freeIntermediate and Advanced PythonUse iterators, generators, decorators, closures, context managers, type hints and asyncio — and know when not to.12 lessons · 51 exercises · about 10 h
  2. Track 13 · First lesson freeTesting and Software QualityWrite tests that catch real bugs, refactor safely, and structure code so it stays reliable and maintainable.12 lessons · 39 exercises · about 8 h
  3. Track 14 · First lesson freeData Analysis with PythonLoad, clean, analyse and visualise data with NumPy, pandas and matplotlib, and communicate what it shows.12 lessons · 45 exercises · about 10 h
  4. Track 15 · First lesson freeAutomation and Practical PythonAutomate repetitive work: batch-process files, combine exports, validate data, generate reports and log failures.11 lessons · 44 exercises · about 10 h
  5. Track 16 · First lesson freeAlgorithms and Problem SolvingDesign clear algorithms, choose efficient data structures, and reason about the cost of different approaches.12 lessons · 49 exercises · about 10 h
  6. Track 17 · First lesson freeApplied Projects and CapstonesCombine everything in substantial projects built from realistic requirements, with automated checks at each milestone.12 lessons · 73 exercises · about 20 h