Installations: Everything You Install in the Course
- Explain in simple words what each tool is for — VS Code, Python, Git, Docker, Terminal
- Install Python, VS Code, Git and Docker Desktop, including the PATH checkbox on Windows
- Check every installation with the
--versionflag and read the output - Recognize and fix a “not recognized” error and a Docker Desktop that is not open
- Know what else gets installed later in the course, in which topic and why
In this lesson
This lesson is built from a few short chapters, in the same order as the slides:
- Chapter 1 — the course tools: what each tool does
- Chapter 2 — the installation steps, one by one
- Chapter 3 — checking that everything is installed, and what we will install later in the course
Chapter 1: The Course Tools
What will we learn?
In this lesson we will get to know the course and how we work in it, and then set up the development environment — the set of tools we will use to write and run code throughout the course. By the end of the lesson all the tools will be installed on your computer, and you will know what each one is for:
- VS Code — where you write code.
- Python — the program that runs the code we wrote.
- Git — the tool that keeps the history of the code.
- Docker — runs ready-made programs, such as a database, inside an isolated “box”.
- Terminal — a window where you give the computer written commands.
Why do we need this?
Before you build a house, you bring the tools to the building site and check that they work. Programming is the same: if one tool is missing or installed incorrectly, every lesson later on will get stuck on installation problems instead of on the material itself.
In the real world, a developer’s first day at a new company looks exactly like this: you get a computer, install a code editor, a programming language, Git and Docker, and check that you can run the project. It is a skill you will need at every workplace.
How the course is built
- The course is split into topics, in the order they are taught and exactly in the order of the slide decks: installations, the computer and operating system, networks, Python, Git, OOP, backend and databases.
- Every topic is split into lessons. Each lesson stands on its own and has the same fixed structure: what we will learn → why we need it → explanation from the basics → syntax → example → line-by-line breakdown → another example → common mistake → practice → summary. The theory topics (the computer and operating system, networks) have no code — their practice is comprehension questions.
- At the end of every lesson there are 5 exercises — the same exercises as in the deck’s exercise file. The solutions are hidden and open only when you click, so that you try on your own first.
- At the top and bottom of every lesson there is a Mark as complete button, and every page shows your overall progress in the course.
Don’t just read. Every time a code example appears — type it yourself (no copy-paste) and run it. Typing forces your brain to notice every character, and it is the fastest way to learn syntax.
Explanation from the basics
What is code, and who understands it?
Code is text written according to the exact rules of a programming language. The computer itself does not “understand” text — it understands only very simple binary instructions (we will learn about that in the lesson on computer components). So we need a go-between: a program that reads our code and translates it into actions the computer performs.
Python — the interpreter
Python is both the name of the language and the name of the program that runs it. That program is called an interpreter — it reads our file line by line and carries out each line.
Imagine you write a recipe in English, and the cook speaks only Japanese. The interpreter is the translator standing next to the cook, reading the recipe line by line and telling them what to do. Without a translator — the recipe is just a sheet of paper.
VS Code — the code editor
VS Code (Visual Studio Code) is a code editor — a program for writing text, specially adapted for code. You could write code in Notepad too, but VS Code gives you:
- Syntax highlighting — different words in the code get different colors, so mistakes are easy to spot.
- Autocomplete — suggests names of functions and variables while you type.
- A built-in terminal — you can run the code without leaving the editor.
- A debugger — a tool for stopping the code in the middle and checking what is happening in it (we will learn it in the Python topic).
It is important to understand: VS Code does not run the code by itself. When you click “Run”, it simply asks Python to run the file. That is why you need to install both.
Git — the time machine of your code
Git is a version control tool. It saves “snapshots” of the code over time, so you can go back to an earlier version, see what changed and when, and work as a team on the same code. We will learn it in depth in the Git topic. Today we only install it.
Docker — ready-made programs in a box
Later in the course we will work with a database — a program that manages and stores information (MySQL). Installing it directly on the computer is a long process that is different on every operating system. Docker solves this: it runs ready-made programs inside a container — an isolated “box” that already holds everything the program needs. With one command, and exactly the same for everyone. Today we only install it, and we will use it when we get to databases.
Terminal — talking to the computer in writing
Most of the time we operate the computer with the mouse: clicking icons, dragging files. The terminal (also called the command line) is a different way: you type a command as text, press Enter, and the computer carries it out and answers in text.
Why work like that? Because many developer tools (Python, Git, servers) work mainly through commands. On Windows the terminal usually runs PowerShell, and on Mac/Linux it runs Bash or Zsh. We will learn the differences in the topic on the computer and the operating system.
- Development Environment — all the development tools together.
- Interpreter — a program that reads code and carries it out line by line.
- Code Editor — a text editor adapted for writing code.
- Version Control — a system that manages versions of code over time.
- Container — an isolated “box” where a ready-made program runs, with everything it needs.
- Terminal — a window where you give written commands.
- Command — a line of text that asks the computer to do something.
Official documentation
- Using Python on Windows
- VS Code — Getting Started with Python
- Pro Git — About Version Control
- Docker — What is a container?
Chapter 2: Installation Steps
What will we learn?
We install the four tools in order: Python, VS Code, Git and Docker. Download each tool only from its official site (the links are below), and on most screens keep the default options. After each installation, check that the tool works — and only then move on to the next one.
1. Python
- Go to python.org/downloads and download the latest version (3.12 or newer).
- On Windows — very important: on the first screen of the installer, tick Add python.exe to PATH. Without it the terminal will not find Python (we will explain what PATH is in the topic on the computer and the operating system).
- Click Install Now and wait for it to finish.
2. VS Code
- Download it from code.visualstudio.com and install with the default options.
- On Windows, also tick Add to PATH and Open with Code during the installation.
- Open VS Code → the Extensions tab (the squares icon on the side) → search for Python (by Microsoft) → Install.
- (You can do it now too, and it is required in the databases topic) the Database Client extension (by Weijan Chen) — an interface for viewing the database and running SQL.
3. Git
- Download it from git-scm.com/downloads and install with the default options.
- On a Mac you can also run
xcode-select --installin the terminal.
4. Docker
- Download Docker Desktop from docker.com/products/docker-desktop and install with the default options.
- On Windows: Docker Desktop needs WSL 2 (a Windows layer for running Linux). If the installer asks to install or update it — approve, and sometimes you need to restart the computer.
- Open Docker Desktop and wait for it to finish starting up (the corner shows Engine running).
dockercommands work only while it is open.
5. Terminal
- Windows: the terminal is already installed. Search the Start menu for Terminal or PowerShell.
- Mac: the Terminal app (search with
Cmd + Space). - Inside VS Code: the Terminal → New Terminal menu (or
Ctrl + `). This is the terminal we will use for most of the course.
A terminal that was already open before the installation does not “know” about the new tool. If you get an error that the command was not found — close the terminal (and VS Code) and open it again.
Official documentation
- Python Downloads
- Visual Studio Code on Windows
- Pro Git — Installing Git
- Install Docker Desktop on Windows
- Install WSL
Chapter 3: Checking, and What Gets Installed Later
Syntax
Today’s “syntax” is check commands. After each installation, check that the tool is installed using the --version flag, which simply prints the tool’s version:
python --version
git --version
code --version
docker --versionThe structure of each command:
<program name> <flag>
python --version- Program name — which program to start.
- Flag — a word that starts with
--(or-) and changes what the program does.--versionsays: “don’t do anything except print your version”.
First code example
Open a terminal and run the first check command:
python --versionExpected output:
Python 3.12.4Your number may be different — what matters is that it starts with Python 3.
Line-by-line breakdown
python --version| Part | What it does |
|---|---|
python | The program name. The terminal looks for a program with this name on the computer (in the folders listed in PATH) and starts it. |
| space | Separates the program name from what you pass to it. |
--version | A flag that tells Python: “print your version and exit”. Python does not run any code in this case. |
And what appears in the output:
| Output | Meaning |
|---|---|
Python | The name of the program that answered — proof that the terminal found it. |
3.12.4 | The version number: 3 = major version, 12 = minor version, 4 = bug-fix release. |
Another example
Now check the whole environment at once — four commands, one after the other:
python --version
git --version
code --version
docker --versionExpected output:
Python 3.12.4
git version 2.45.1.windows.1
1.93.1
38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40
x64
Docker version 27.3.1, build ce12230git version ...— Git is installed.Docker version ...— Docker is installed. (Your numbers may be different.)code --versionprints three lines: the VS Code version, the build id (a long string) and the processor type (x64orarm64). All three lines are fine.
Common mistake
The mistake: installing Python on Windows without ticking Add python.exe to PATH, and then running:
python --versionand getting:
python : The term 'python' is not recognized as the name of a cmdlet, function,
script file, or operable program.or sometimes the Microsoft Store opens instead.
Why does it happen? The terminal looks for programs only in the folders listed in a list called PATH. If Python was not added there — as far as the terminal is concerned it does not exist, even if it is installed on the disk.
The fix:
- Run the Python installer again → Modify → Next → tick Add Python to environment variables → Install.
- Close the terminal and open it again.
- An alternative on Windows: the
py --versioncommand (the Python Launcher) usually works even without PATH.
docker --version works even when Docker Desktop is closed — but other commands (such as docker ps) will fail with failed to connect to the docker API. The fix: open Docker Desktop and wait for it to start.
On a Mac, the python command sometimes does not exist and only python3 works. That is fine. On a Mac, use python3 wherever the site says python.
What we will install later in the course
The four tools are installed from day one. During the course we will add a few more things — each one exactly in the topic that needs it. There is no need to install them now; they are listed here so that you have one complete list of everything installed in the course:
| What | When | How |
|---|---|---|
| A GitHub account | Git topic | Sign up at github.com (free) |
| Setting a name and email for Git | Git topic | git config --global user.name and user.email — once per computer |
| A virtual environment (venv) | Backend topic | python -m venv .venv in the project folder |
| FastAPI | Backend topic | pip install "fastapi[standard]" inside the venv |
| The MySQL database | Databases topic | A container in Docker: docker run ... mysql:8.4 |
| The Database Client extension | Databases topic | In VS Code: Extensions → Database Client (by Weijan Chen) |
| The driver mysql-connector-python | Databases topic | pip install mysql-connector-python inside the venv |
The commands themselves — just so you recognize them. We will run them when we get to each topic, with a full explanation:
# Git topic: one-time identity
git config --global user.name "Dana Cohen"
git config --global user.email "dana@example.com"
# Backend topic: inside a venv
pip install "fastapi[standard]"
# Databases topic: driver + MySQL image
pip install mysql-connector-python
docker pull mysql:8.4pip— Python’s package manager. It downloads libraries from the internet and installs them, like an app store for code.docker pull— downloads the MySQL image in advance (the template Docker creates a container from). In the databases topicdocker runwill download it on its own if it is missing — but if you have time and a good connection, you can download it now.
python --versionprintsPython 3.xgit --versionprintsgit version ...code --versionprints the VS Code versiondocker --versionprintsDocker version ..., and Docker Desktop opens and shows Engine running- The Python extension by Microsoft is installed in VS Code
Summary
- The development environment = five tools: VS Code (write), Python (run), Git (keep history), Docker (runs ready-made programs, such as a database), Terminal (give commands).
- Python is an interpreter — it reads our code and carries it out line by line. VS Code only asks it to run.
- On Windows, tick Add python.exe to PATH when installing Python, and Docker Desktop needs WSL 2.
- Check every tool’s installation with
--version. - A “not recognized” error usually means the tool is not listed in PATH, or the terminal was opened before the installation.
- Later in the course we will add: a GitHub account and
git config(Git), venv and FastAPI (backend), MySQL in Docker, Database Client and the driver (databases).
Official documentation
- Python — Installing Python Modules
- Pro Git — First-Time Git Setup
- Docker Hub — MySQL official image
- FastAPI — Virtual Environments
Practice
Comprehension questions on the lesson material — no code.
Exercise 1: Five tools — five jobs
Match each tool to its job:
| Tool | Job |
|---|---|
| Python | ? |
| VS Code | ? |
| Git | ? |
| Terminal | ? |
| Docker | ? |
The jobs: (a) keeps the history of every change in the code, (b) reads the code and carries it out, (c) a place where you give the computer written commands, (d) the place where you write code, (e) runs ready-made programs — such as a database — inside a container.
Show solution
| Tool | Job |
|---|---|
| Python | (b) — the interpreter: reads the code and carries it out |
| VS Code | (d) — the code editor: write, run and debug |
| Git | (a) — the time machine: the history of every change in the code |
| Terminal | (c) — talk to the computer with written commands |
| Docker | (e) — runs ready-made programs, such as MySQL, in an isolated container |
Exercise 2: “The term ‘python’ is not recognized”
A student installed Python, opened the terminal that was already open from before, typed python --version and got the message:
python : The term 'python' is not recognized as the name of a cmdlet...- What does the message say?
- Give two possible causes of the problem, and what to do in each case.
Show solution
- The terminal did not find a program called
pythonin any of the folders listed in PATH. - Two possible causes:
- The terminal was opened before the installation — it does not “know” about the change to PATH. Close it and open a new terminal.
- The Add python.exe to PATH box was not ticked during installation — run the installer again (Modify) and tick it, or use
py --version.
(On a Mac the command is usually python3.)
Exercise 3: “failed to connect to the docker API”
A student installed Docker Desktop. The command docker --version works and prints a version, but the command docker ps fails:
failed to connect to the docker API- How can one Docker command work and the other not?
- What do you do to fix it?
- Which extra component must be installed on Windows for Docker Desktop to work?
Show solution
docker --versiononly prints the version of the command-line tool — it does not need the Docker engine.docker psneeds to talk to the engine, and the engine runs only while Docker Desktop is open.- Open Docker Desktop and wait for it to finish starting (Engine running appears), then run the command again.
- WSL 2 — the Windows layer for running Linux. If the installer asks to install or update it — approve, and sometimes you need to restart the computer.
Exercise 4: What do you install, and when?
For every item in the list, write when it is installed in the course: (a) on day one, (b) in the Git topic, (c) in the backend topic, (d) in the databases topic.
| Item | When? |
|---|---|
| Python | ? |
| GitHub account | ? |
| FastAPI | ? |
| Docker Desktop | ? |
| mysql-connector-python | ? |
| VS Code | ? |
Show solution
| Item | When? |
|---|---|
| Python | (a) on day one |
| GitHub account | (b) in the Git topic — that is also where you set your name and email with git config |
| FastAPI | (c) in the backend topic — installed with pip inside a virtual environment |
| Docker Desktop | (a) on day one — but used only in databases |
| mysql-connector-python | (d) in the databases topic — the driver that connects Python to MySQL |
| VS Code | (a) on day one |
The rule: the four tools (Python, VS Code, Git, Docker) are installed on day one. The libraries and accounts are added when you reach the topic that needs them.
Exercise 5: Reading the check output
A student ran the four check commands and got:
Python 3.12.4
git version 2.45.1.windows.1
1.93.1
38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40
x64
docker : The term 'docker' is not recognized as the name of a cmdlet...- Which tools are installed and working?
code --versionprinted three lines. What is each line?- What is the problem in the last line, and what do you do?
Show solution
- Python, Git and VS Code are installed — each printed its version.
- The three VS Code lines:
1.93.1— the VS Code version.- The long string — the build id (commit).
x64— the processor type the version was built for.
- The terminal does not find
docker— Docker was not installed, or the terminal was opened before the installation. Install Docker Desktop (if needed), close the terminal and open a new one, and check again withdocker --version.