Appearance
Web Resources for Programming from First Principles
This page keeps source links outside the lessons so the modules remain easy to read.
- Easy second explanation: learn the idea in another friendly way.
- Official technical reference: verify syntax and exact language rules.
- Practice resource: run or modify code yourself.
Core References
- Easy second explanation: Python Tutorial
- Official technical reference: Python Language Reference
- Practice resource: Python Standard Library
Module 1: Data Types and Collections
- Easy second explanation: Built-in types
- Official technical reference: Data model
- Practice resource: Create values in the Python REPL and inspect
type(...).
Module 2 to 6: Higher-Order Functions, Standard Constructs, Iteration, Lambda Calculus, First-Class Functions
- Easy second explanation: Functional programming HOWTO
- Official technical reference: Expressions and statements
- Practice resource: Run
map,filter, comprehensions, lambdas, and generator examples in Python.
Module 7 and 8: Type Discipline and Type Hints
- Easy second explanation: Type hints in the Python docs
- Official technical reference: The typing module
- Practice resource: Add annotations and check them with
mypyor Pyright.
Module 9 and 10: User-Defined and Concrete Types
- Easy second explanation: dataclasses
- Official technical reference: class definitions
- Practice resource: Define
Student,Shape, andTrafficLightexamples in Python.
Module 11 to 14: Recursion, Operational Semantics, Shared Behavior, Polymorphism
- Easy second explanation: Recursion and algorithm thinking
- Official technical reference: Execution model
- Practice resource: Trace recursive functions by hand, then test them in Python.
Extra learning
How to use these links
- Read the module's simple idea and worked example.
- Answer the self-check without looking at the solution.
- Open the easy resource if the idea is unclear.
- Use the official reference for exact rules.
- Run the practice in Python.