Stay Practiced.
Local toolsSite guideSettings
Curriculum

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.

Select a node. Drag the background to pan.100%

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.

Open this unit

The course, in order

Open a unit in the map to inspect its activities. Reading, guided completion, independent work and review remain distinct evidence.

  1. 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
  2. Two names, one object

    Distinguish equal values from shared list identity and observe how mutation differs from rebinding a name.

    Open this unit
  3. Fix the expiry sweep

    Remove every expired session while preserving the caller’s list identity, survivor order and inclusive expiry boundary.

    Open this unit
  4. 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
  5. Records, and things built from other things

    Construct independent mutable defaults and derive a changed frozen record without modifying its original.

    Open this unit
  6. Translate it out of JavaScript

    Translate filtering and sorting into Python while preserving deliberately empty values and returning new collections.

    Open this unit
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. Count it, do not estimate it

    Instrument actual comparisons and pair visits so an algorithm’s reported work matches its execution.

    Open this unit
  16. A graph is a dictionary

    Represent directed adjacency explicitly, retaining target-only vertices and a deterministic neighbor order.

    Open this unit
  17. Numbers that are nearly right

    Apply the stated numeric tolerance boundary and normalize weights without dividing an all-zero vector.

    Open this unit
  18. 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
  19. 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
  20. 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
TheoryHands-on codingEvidence / reviewTechnical wikiMembership access