Python One-Hour Crash Course: Syntax, Lists and Files
by Sofia Navarro
Improve messy code without breaking it, using small moves you can defend in review.
TE Created by Tom Eriksen
Every bullet below is something you will have built, shipped or be able to explain by the time you finish the last lesson.
5 modules · 23 lessons · 3h 6m of material
5 lessons running 40m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
5 lessons running 38m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
5 lessons running 42m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
4 lessons running 32m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
4 lessons running 34m in total. Each lesson ships with the finished source files and a short written recap, so you can follow along in your own editor and skim the module again later.
Lesson-by-lesson titles, code downloads and exercises live inside the course library you get access to straight after checkout.
5 modules · 23 lessons
3h 6m total length
Short list, and deliberately so. If you meet these you can start today.
Most clean code advice is either a list of rules with no context or a philosophy with no code. This course is neither. It works through realistic messy code, functions that are too long, classes that know too much, conditionals nested five deep, and improves them step by step with named refactorings you can point at during review.
The first half is about reading. You learn to spot the specific smells that predict future defects: unclear names, boolean parameters, primitive obsession, feature envy, shotgun surgery and temporal coupling. Each smell is paired with the refactoring that resolves it, extract function, introduce parameter object, replace conditional with polymorphism, guard clauses, and the mechanics of each are shown as small verified steps rather than a rewrite.
The second half covers doing this safely in a real codebase: adding characterisation tests before touching legacy code, using the compiler and type system as a refactoring tool, keeping commits small enough to revert, the strangler pattern for gradual replacement, and how to raise these changes in code review without sounding like a style pedant. Examples appear in TypeScript and C#, and the principles are language-neutral.
Still unsure about something? Write to misteryjj100@gmail.com and a human answers, usually the same working day.
Reviews are written by people who bought this course. We publish the critical ones too.
5.0
Rated 5.0 out of 5Course rating · 2 reviews
Ronan Fitzgerald
Senior developer
We had a billing file nobody would touch. Pinning down its current behaviour first, including the parts we suspected were wrong, is what finally let us refactor it without a fortnight of regression hunting afterwards.
Lena Brandt
Tech lead
That discipline sounds obvious written down and is emphatically not how anyone I work with operates. Watching a large extraction performed across eleven commits, every one of them green, was the most instructive twenty minutes in the course.
Platform engineer and DevOps instructor
Tom has built delivery pipelines for teams of three and teams of three hundred, and openly prefers the smaller ones. He teaches Docker, Kubernetes and CI/CD outward from a single commit, so nothing ever appears by magic, and he treats the test suite as part of the pipeline rather than a separate subject. Every course includes a deliberate outage that you have to diagnose from logs and metrics before you can continue. He is a CNCF contributor and a reluctant but formidable YAML expert.
One-time payment · lifetime access