Prerequisite diagnosis
Find out that the thing you're stuck on isn't the thing you're stuck on; it's something from two years ago that never quite landed.
Computing rewards running something that fails honestly more than watching another tutorial succeed.
You’ll verify, debug with restraint, and practise selection, not copy-paste fluency.
Use the one subject where AI can write the answer, without letting that remove the thing you came to learn.
Know which methods exploit this subject's unique advantage (that verification is free and instant) and which popular study habits waste it.
Say what the code will do before you run it, which is free, takes ten seconds, and is the highest-return habit available in this subject.
Check AI-generated code properly, which in this subject is unusually easy and unusually often skipped for exactly that reason.
Get feedback on the things courses never assess, whether your code is comprehensible, survivable and safe, which is most of what separates a student programmer …
Get unstuck on a bug without having it fixed for you, which matters because debugging is the skill, and a pasted fix removes all of it.
Describe how you actually debug, have it drawn back as a flow, and discover that you don't have a procedure, which is the finding.
Start from nothing, which is the thing tutorials never train and the thing every real task requires.
Bridge the gap between following a solution and writing one, by getting code with the middle removed rather than the end.
Choose the right structure or algorithm for a problem, which is the skill, and which chapter-organised practice removes by construction.
Keep a bug log that turns dozens of unrelated- looking failures into three or four wrong beliefs about how your tools work.
Find out that the thing blocking you is something assumed in week one and never taught.
Find out that the thing you're stuck on isn't the thing you're stuck on; it's something from two years ago that never quite landed.
Get unstuck without getting rescued.
Practise in a way that feels worse, goes slower, and leaves you able to recognise what you're looking at.
Build a record of your own mistakes that tells you what to study, in what order, and that gets more valuable every week instead of less.
Receive a solution with the last steps missing, and finish it.
Before you run it, look it up, or turn the page, say what you think will happen, and why.
Have your code reviewed the way a senior engineer would review it, which is about judgement, not correctness, and is the thing courses don't teach.
Be made to produce the language rather than recognise it, which is the gap between understanding a language and being able to use one.
Tell, reliably and quickly, when the thing you're learning from is wrong, and build that into a habit rather than a worry.
Describe a procedure you think you know, have it drawn back as a flow, and see the branches you never accounted for.