A concept-first programming course
Learn how programs work and how programmers solve problems.
The ideas here — state, control flow, decomposition, data structures, objects — are the same across every programming language. This course teaches those ideas directly, and always shows them in Python because its plain syntax stays out of the way. Every lesson tells you which part is the transferable concept and which part is simply how Python happens to write it.
Four strands, one way of thinking
Programming Essentials
Values, state, conditions, loops, functions, and how to debug when things go wrong.
Algorithmic Thinking & Problem Solving
A repeatable process for turning a vague problem into a precise, testable plan.
Foundational Data Structures
Lists, dictionaries, sets, stacks, queues, trees, and graphs — and when to reach for each.
Object-Oriented Programming
Modeling programs as objects with state and behavior, without treating it as mandatory.
Try a prediction question
Lessons regularly ask you to predict what a short program will do before you find out — a habit that builds a real mental model instead of pattern-matching on syntax.
Or reveal the answer without checking
Answer:15
Assignment evaluates the right-hand side first (10 + 5), then stores the result in score. The name score is reused, not duplicated.
Who this is for
You're new to programming
Start at the beginning — every idea is introduced before it's used, and nothing assumes prior experience.
You've seen Python but get stuck
If you can read code but freeze on a blank problem, the algorithmic-thinking strand is built for you.
You're moving between languages
Every lesson separates the general idea from Python's specific syntax, so the concepts transfer with you.
How the lessons work
Each lesson follows the same shape: a mental model first, a small worked example, a trace of the program's state, a common misconception, a prediction or check, scaffolded practice, and a plain-language summary. Content is readable at any zoom level, fully usable by keyboard, and never relies on color alone to convey meaning.