What you’ll be able to do

You’ve got an AI assistant and a laptop and some vague idea that this is the year you learn to code. That’s enough to start. You don’t need a course or a degree, and you don’t need to know what a “variable” is yet. You need to be willing to type things yourself and read what comes back, properly read it, not skim it. This guide is about using the assistant as a tutor rather than a code vending machine. There’s a difference, and it matters more than you’d think.

By the end of working through this properly (and I mean weeks, not an afternoon), you’ll be able to write small programs and actually understand every line in them. You’ll be able to read an error message without panicking, because you’ll know it’s just the computer telling you something, not judging you. You’ll be able to test your own code, break it on purpose, and fix it again. And you’ll have one small, real project finished. Not a tutorial you followed along with. Something you built.

That last bit is the whole point, really. Finishing something tiny beats starting something big.

Before you start

First thing: pick one language and stick with it. I know there’s a temptation to compare Python versus JavaScript versus whatever your mate uses at work, but honestly, don’t. The assistant can teach you either one perfectly well. Your job isn’t to compare languages for three weeks, it’s to pick one and go.

For almost everyone, that’s Python. It reads almost like English, it’s used for automation and data and little tools, and there’s a huge amount of good material aimed at beginners. If your goal is specifically a web page, something with buttons and layout that lives in a browser, go with JavaScript instead. Otherwise, Python.

Now, the rules. These are the bit people skip and then wonder why they’re not learning anything.

Tell the assistant not to write the code for you. Only to explain, and to set you an exercise. You type every line yourself, no copy and paste, not for the first few weeks at least. Muscle memory matters more than you’d expect. You run the code yourself, every time. When it errors (and it will, constantly, that’s normal), you paste the exact error message and ask what it means before you ask for a fix. And every so often, ask “what would happen if I changed this line” and then actually try it, because that question does more for your understanding than a hundred explanations.

If you skip all that and just ask it to write you a quiz app, you’ll have a quiz app and no idea how it works. Which isn’t learning to code. It’s outsourcing.

Get set up

Cheapest option first: Google Colab, at colab.research.google.com. It’s free, it runs Python in your browser on Google’s own computers, and you don’t install anything. You just need a Google account. This is genuinely the easiest way to write your first ten lines of Python today, right now, no faff.

Once you’re past the very first steps, you’ll probably want Python properly installed on your own machine, which is a free download from python.org/downloads. And the official tutorial that lives at docs.python.org/3/tutorial is worth knowing about, honestly, because it’s the reference your assistant should be pointing you to when you ask “is this actually right” about something.

After that, most people end up in VS Code (code.visualstudio.com), which is free and open source. It’s got AI help built in, but ignore that for now. You’re not there to have code written for you. You’re there to write your own and have somewhere sensible to do it.

One more thing worth adding to the mix: freeCodeCamp, at freecodecamp.org. It’s a non-profit, and the whole curriculum is free, projects and certifications included. It gives you structure, a path with exercises in order, while the assistant gives you the explaining. Use both. They’re not competing with each other.

Try it yourself

Right, open your assistant and paste this in, word for word:

I am a complete beginner learning Python. Be my tutor. Do not write full solutions for me. Explain one idea at a time in plain English, give me a small exercise to type myself, then wait for my answer before continuing. Start with variables and printing.

That’s it. That’s the whole opening move.

A good session after that looks like a loop. It explains one idea, small, like what a variable actually is. It gives you a tiny exercise. You type it yourself, in Colab or VS Code, whichever you’ve set up. You run it. You paste back what happened, or what you wrote, and it checks in before moving on.

Don’t rush this. If it explains something and you sort of get it but not really, say so. “I don’t get why the quotes matter” is a completely fine thing to type. That’s what it’s there for.

Your first proper project should be small and a bit personal. Not “build me a web app”. Something like a script that renames a folder of files, or a unit converter, or a quiz that runs in the terminal, or a page that shows the bus times you actually care about. Small, finishable, yours.

Check the result

You want to know if it’s actually going in, not just whether the code ran. Three ways to check.

Close the chat and, from memory, write out a program you wrote last week. Doesn’t need to be perfect, but if you genuinely can’t remember what a for loop does, that’s useful information. It tells you where to slow down.

Explain a piece of code out loud, line by line, to a person, or to the assistant itself. Ask it to grade your explanation and tell you what you missed. This feels a bit daft the first time. Do it anyway.

And break something on purpose. Take a program that works, change one line so it doesn’t, and fix it yourself before you ask for help. That’s basically the whole job of a programmer, honestly: things break, you work out why.

If it doesn’t work

A few things tend to go wrong, and they’re all fixable.

The assistant keeps writing whole solutions even though you asked it not to. This happens. Restate the rule at the start of every single session, it’s not being clever by remembering last time. ChatGPT’s custom instructions and a Claude project let you set the rule once so it stays; worth setting up if you use either.

The explanation uses words you don’t know, like it assumes you know what a “boolean” is when you very much do not. Just ask for the twelve-year-old version. Then ask it to build back up from there once that clicks. There’s no shame in this, everyone starts at “wait, what’s a boolean” once.

An error feels genuinely impossible to fix. Paste the full error text, not a summary of it, the actual code, and what you expected to happen instead. That’s the prompt that gets you unstuck:

Here is my code and the exact error message. Explain what the error means in plain English first, then ask me a question that helps me find the fix myself. Code: [paste]. Error: [paste].

You feel stuck at the same level for a while, which happens to everyone learning anything. Try a section of freeCodeCamp without the assistant at all, just you and the exercises, then come back. Sometimes the struggle without help is the bit that actually teaches you.

And a real one: don’t paste work code, passwords, API keys or anything with customer data in it into a chat while you’re practising. The code you write while learning is yours, there’s nothing sensitive in a bus times script. But free-tier chats can sometimes be used for training under a provider’s default settings, so it’s worth checking the privacy settings once and just knowing where you stand.

Once you’ve got working code you’re proud of, this prompt is a good one to run it through:

Here is my working solution to the exercise. Do not rewrite it. Tell me what is good, what an experienced Python programmer would do differently and why, and one thing I should learn next. [paste]

Questions people ask

Should I learn Python or JavaScript first?

Pick one and stick with it. For almost everyone that's Python — it reads almost like English and is used for automation, data and little tools. If your goal is specifically a web page with buttons and layout in a browser, go with JavaScript instead.

What prompt should I use to get AI to be my coding tutor?

Paste: "I am a complete beginner learning Python. Be my tutor. Do not write full solutions for me. Explain one idea at a time in plain English, give me a small exercise to type myself, then wait for my answer before continuing. Start with variables and printing."

Do I need to pay for anything to start coding?

No. Google Colab is free and runs Python in your browser with just a Google account, Python itself is a free download, VS Code is free and open source, and freeCodeCamp's whole curriculum is free including projects and certifications.

What should I not paste into an AI chat while learning to code?

Don't paste work code, passwords, API keys or anything with customer data. Free-tier chats can sometimes be used for training under a provider's default settings, so check the privacy settings once and know where you stand.

How do I check I'm actually learning and not just copying?

Three ways: close the chat and write out from memory a program you wrote last week; explain code line by line out loud and ask the assistant to grade your explanation; and break a working program on purpose, then fix it yourself before asking for help.

Keep exploring

Once you can read a fifty-line program and roughly predict what it’ll do before you run it, you’re past this stage. From there, “How to get AI to write code” covers the next loop, where the assistant does more of the writing and you direct, tools like Claude Code, Cursor, Copilot. “How to get AI to understand my code” is for handing over a whole project rather than one file. And “How to get AI to build me an app” is worth a look once you want to make something bigger than a script.

Sources and review notes

Review date: 2026-09-22