Python: beginner to production
Learn the language from first values through records, iteration, files, concurrency, tested services and failure-safe production workflows.
20 units · Web, Plus, Pro · 20 programming subjects + 2 security tracks
Branches show this unit’s authored theory, coding and assessment work.
Unit 1 / 20
Run a program, name a value, and return arithmetic results
Name and print a string, then distinguish displayed output from the values returned by the separate arithmetic functions.
0 prerequisite skills · Reading, guided completion and independent success remain separate evidence.
The course, in order
Open a unit in the map to inspect its activities. Reading, guided completion, independent work and review remain distinct evidence.
- Run a program, name a value, and return arithmetic results
Name and print a string, then distinguish displayed output from the values returned by the separate arithmetic functions.
Open this unit - Two names, one object
Distinguish equal values from shared list identity and observe how mutation differs from rebinding a name.
Open this unit - Fix the expiry sweep
Remove every expired session while preserving the caller’s list identity, survivor order and inclusive expiry boundary.
Open this unit - Deciding, and the block that follows
Return the correct threshold branch and count matching records through a complete loop without an early return.
Open this unit - Records, and things built from other things
Construct independent mutable defaults and derive a changed frozen record without modifying its original.
Open this unit - Translate it out of JavaScript
Translate filtering and sorting into Python while preserving deliberately empty values and returning new collections.
Open this unit - Reading and writing, without losing anything
Read and write the declared text format using owned file contexts while preserving interior blank lines.
Open this unit - The base case, and the call you have not written yet
Choose an empty base case and combine one smaller recursive result without indexing outside the input.
Open this unit - Validate configuration without flattening values
Validate configuration types and values before use, preserving explicit zero and false instead of applying truthy defaults.
Open this unit - Dates, consecutive runs and a command line
Use deterministic calendar arithmetic, consecutive-run grouping and explicit command-line parsing under their separate toolkit contracts.
Open this unit - The visited set is the algorithm
Use a FIFO frontier and discovery set to visit each reachable graph node once, even in a cycle.
Open this unit - Validate an entire dynamic call before invoking it
Validate a complete positional and keyword call before invoking its callback, preserving binding failures and return identity.
Open this unit - Validate a complete CSV row schema without splitting quoted cells
Parse quoted CSV through its actual row grammar and reject an invalid complete schema before returning accepted records.
Open this unit - Replay a command batch with exact duplicate identity
Apply each new command identity once and reject conflicting replays without publishing any part of an invalid batch.
Open this unit - Count it, do not estimate it
Instrument actual comparisons and pair visits so an algorithm’s reported work matches its execution.
Open this unit - A graph is a dictionary
Represent directed adjacency explicitly, retaining target-only vertices and a deterministic neighbor order.
Open this unit - Numbers that are nearly right
Apply the stated numeric tolerance boundary and normalize weights without dividing an all-zero vector.
Open this unit - Build an all-or-nothing import report
Stage an entire one-shot CSV import, report physical source locations and publish once only after every row validates.
Open this unit - Sort ordered records without losing equal-item order
Implement ordered merges and partitioning without changing caller data, while preserving equal-key order where required.
Open this unit - Preserve rank mass through one graph distribution round
Distribute one previous rank vector into a fresh vector, sharing dangling mass without losing total rank.
Open this unit
