learn
Week 0 · About 2 hours, before the clock starts

Getting your computer ready

Install the two pieces of software you will use for the next nine months, and prove they work.

Do this once, then never think about it again. Nothing here teaches you anything about programming — it just clears the desk so you can start.

Setup problems are the most common reason people give up in week one. They feel like failure but they are not: they are plumbing. Getting them out of the way now, as a separate job, means that when you sit down to actually learn, nothing is in your way.

What Python actually is

Python is the readable set of instructions you write, plus the interpreter that turns those instructions into running work.

Reach for it whenChoose Python over C when fast development and a large library ecosystem matter more than tight control of memory and raw speed.

Think of it likeThink of the interpreter as a translator who reads your instructions aloud to the machine, one line at a time.

When you install Python, you are installing that translator. Your own code is just a plain text file ending in .py — there is nothing special about the file itself.

Some languages make you run a separate step called compiling before your code can run, which turns the whole program into machine instructions in one go. Python does not. You save the file and run it. That shorter loop between writing something and seeing what it does is a real advantage while you are learning.

Syntax you can use
python3 --version
Prints the installed version, which proves the command works at all.On Windows the command is usually python or py, not python3.
python3
Opens the interactive prompt, where each line runs the moment you press Enter.
exit()
Leaves the interactive prompt and returns you to the shell.
print("Hello")
Writes text to the terminal. The quotes are part of the syntax, not the message.
python3 hello.py
Runs a file from top to bottom, then exits.
# a note to yourself
A comment. Python ignores everything after the # on that line.
pip --version
Confirms the package installer is present, and says which Python it belongs to.
Several ways to see it
What the machine doesThe interpreter is the program doing the reading

Your file is inert text until the Python interpreter opens it, parses it, and executes the resulting instructions. A syntax error stops that preparation; a runtime error happens later, after execution has begun.

Against the alternativePython trades machine control for human speed

C makes memory and compilation choices visible, while Python hides most of them behind a runtime. That extra machinery costs execution speed but lets one person express and revise an idea much faster.

The Python you typeThe prompt and the file serve different experiments

The `>>>` prompt runs one thought immediately, which is ideal for checking an expression. A `.py` file preserves a sequence of thoughts so it can be rerun, reviewed, and shared.

In the wild
  • Instagram — runs much of its web backend on Django, a Python web framework.
  • PyTorch — exposes Python APIs that assemble and run tensor operations for machine-learning workloads.
Commonly gets misread as
  • "Python is only for beginners." Correction: production web services, data pipelines, and ML systems use it at scale.
  • "The .py file runs itself." Correction: a Python interpreter reads and executes it.

What a code editor is for

A code editor is the workbench that understands the text you are changing and helps you inspect it while it runs.

Reach for it whenUse VS Code instead of a plain text editor when you want code-aware navigation, warnings, tests, and debugging; use a plain editor only for tiny emergency edits.

You could write Python in Notepad. You should not. An editor catches a whole class of small mistakes — a missing bracket, a misspelt name — before you ever run the program.

VS Code is free, works the same on Windows and Mac, and is what a large share of working programmers actually use. The Python extension is what teaches it Python specifically, so install both.

Syntax you can use
mkdir learn
Creates a folder for your work, from the terminal.
cd learn
Moves the terminal into that folder, so every later command runs there.
code .
Opens the current folder in VS Code. The dot means “here”.
ls
Lists what is in the current folder.Windows Command Prompt uses dir instead; PowerShell accepts ls.
Several ways to see it
Why it existsPlain text needed tools that understand structure

A normal text editor can save Python, but it does not know that a missing parenthesis or shifted indent changes the program. Code editors grew around those structural signals so mistakes become visible before execution.

What the machine doesThe editor never runs Python by itself

Syntax colouring and autocomplete are predictions made from text; the interpreter remains the authority. The Run button merely starts a command in a terminal and shows that command's output.

How it breaksA helpful editor can hide the command you need to learn

One-click execution feels magical until it uses the wrong interpreter or working folder. Read the terminal command it launches, because that is the portable explanation of what happened.

In the wild
  • VS Code Python extension — connects Python files to completion, linting, testing, and debugger tools.
  • GitHub Codespaces — opens a VS Code environment backed by a remote development container.
Commonly gets misread as
  • "The editor is Python." Correction: the editor changes files; the interpreter runs them.
  • "Warnings prove the program works." Correction: editor checks catch some mistakes, not incorrect behavior.

Reading about this stage is not the same as finishing it. Type every one of these from a blank file rather than copying — the writing is the part that teaches.

Prove Python is installed

Open a terminal — Command Prompt or PowerShell on Windows, Terminal on Mac — and type: python --version. You should see a version number printed back, something like 3.13.1. If you see an error instead, Python is either not installed or was installed without being added to PATH. Reinstall and tick that box.

Make a folder called learning-python

Put it somewhere you will find it again. Every file you write for the next nine months lives in here. Open that folder in VS Code with File then Open Folder, so the editor knows where your work is.

Run one line of code

In that folder, make a file called hello.py containing exactly this: print("hello"). Run it. Seeing the word hello appear proves that every piece — Python, the editor, the extension — is connected correctly. That is the whole point of this week.

Exit checkYou can open your learning-python folder in VS Code, create a new .py file, run it, and see its output — without looking up how.

If you cannot do this, repeat the stage rather than moving on. Nothing later gets easier by skipping it.

This stage corresponds to Phase 0 — Setup in the source roadmap.