Typorithm learning path
Python: practical foundations
Build useful Python scripts through values, Unicode, collections, functions, iteration, data records, files, JSON/CSV and meaningful tests. Six sections per lesson with small independent tasks and hints. Reviewed against Python 3.15 documentation; examples verified on 3.13, 3.14 and 3.15. Reading and self-checks work in the app; execution uses the downloadable computer lab.

Study with a practical destination
Use the linked lessons in order, complete the lab and explain the decisions without the reference. Select the path and depth that match your role.
Python: from small functions to a validated local report
Before starting: No previous Python is required. Basic familiarity with files and running a program helps; each language concept builds from a small worked example. Reading and self-checks work in the app. Optional execution needs a maintained Python 3.13+ on a computer, with no third-party exercise packages.
Build and explain: Write a small reproducible script that validates data, preserves identity and caller-owned input, handles Unicode and structured formats, and has tests that reject a meaningful controlled defect.
- 1. Scripts, imports and a reproducible Python environment
- 2. Values, names, exact types and numeric boundaries
- 3. Strings, Unicode and explicit comparison rules
- 4. Conditions, None and meaningful zero
- 5. Lists, aliases and the limits of a shallow copy
- 6. Dictionaries, sets and deterministic summaries
- 7. Iteration, enumerate and complete boundaries
- 8. Functions, return contracts and fresh defaults
- 9. Comprehensions, filtering and stable sorting
- 10. Parsing, validation and narrow exception handling
- 11. Iterators, generators and consumption boundaries
- 12. Classes, dataclasses and runtime contracts
- 13. Files, UTF-8 and context-managed lifetimes
- 14. JSON boundaries and correct CSV quoting
- 15. Tests that reject a plausible wrong filter
- 16. Capstone: a validated, duplicate-aware catalogue report
Review evidence: Attempt the small task before revealing its solution. Include booleans versus integers, None versus zero, repeated calls, Unicode, shallow references, consumed iterators, invalid records and conflicting identities. Optional stretches do not block the core. Local checks establish the stated fixture behavior, not a security sandbox or professional certification.
Your learning path
0 of 16 lessons completed
Saved on this device
Module 1 · 1 lessons
Scripts, imports and a reproducible Python environment
Separate defining reusable behavior from running a script, and identify the interpreter you actually use.
Module 2 · 1 lessons
Values, names, exact types and numeric boundaries
Use object and type semantics deliberately instead of treating every numeric-looking value as interchangeable.
Module 3 · 1 lessons
Strings, Unicode and explicit comparison rules
Normalize text for the intended comparison while keeping human-language and encoding assumptions visible.
Module 4 · 1 lessons
Conditions, None and meaningful zero
Make missingness and branch priority explicit instead of using a truthiness shortcut.
Module 5 · 1 lessons
Lists, aliases and the limits of a shallow copy
Return a changed outer list without accidentally modifying the caller's list.
Module 6 · 1 lessons
Dictionaries, sets and deterministic summaries
Use keys for counts, membership for uniqueness and an explicit sort for presentation.
Module 7 · 1 lessons
Iteration, enumerate and complete boundaries
Visit each intended element once and distinguish a displayed position from a source index.
Module 8 · 1 lessons
Functions, return contracts and fresh defaults
Keep repeated calls independent and avoid mutating an optional caller-owned collection.
Module 9 · 1 lessons
Comprehensions, filtering and stable sorting
Express one clear transformation without hiding the population rule or mutating the source.
Module 10 · 1 lessons
Parsing, validation and narrow exception handling
Convert only the representations the contract accepts and report invalid data without inventing success.
Module 11 · 1 lessons
Iterators, generators and consumption boundaries
Distinguish a reusable iterable from a one-pass iterator and observe when work actually occurs.
Module 12 · 1 lessons
Classes, dataclasses and runtime contracts
Use a small data object without confusing type hints, generated methods and deep immutability.
Module 13 · 1 lessons
Files, UTF-8 and context-managed lifetimes
Write Unicode deliberately and verify content, bytes and handle closure in a temporary fixture.
Module 14 · 1 lessons
JSON boundaries and correct CSV quoting
Validate structured records and use the format writer instead of concatenating delimiters by hand.
Module 15 · 1 lessons
Tests that reject a plausible wrong filter
Use independent exact expectations and prove a test fails when the implementation is deliberately wrong.
Module 16 · 1 lessons
Capstone: a validated, duplicate-aware catalogue report
Build a small reproducible pipeline that preserves identity, rejects conflicts and counts only the selected population.