Installations: Everything You Install in the Course

Lesson goals
  • 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 --version flag 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:

  1. Chapter 1 — the course tools: what each tool does
  2. Chapter 2 — the installation steps, one by one
  3. 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.
How to get the most out of the site

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.

Analogy

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.

Short glossary
  • 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

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

  1. Go to python.org/downloads and download the latest version (3.12 or newer).
  2. 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).
  3. Click Install Now and wait for it to finish.

2. VS Code

  1. Download it from code.visualstudio.com and install with the default options.
  2. On Windows, also tick Add to PATH and Open with Code during the installation.
  3. Open VS Code → the Extensions tab (the squares icon on the side) → search for Python (by Microsoft) → Install.
  4. (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

  1. Download it from git-scm.com/downloads and install with the default options.
  2. On a Mac you can also run xcode-select --install in the terminal.

4. Docker

  1. Download Docker Desktop from docker.com/products/docker-desktop and install with the default options.
  2. 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.
  3. Open Docker Desktop and wait for it to finish starting up (the corner shows Engine running). docker commands 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.
After installing — open a new terminal

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

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 --version

The 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. --version says: “don’t do anything except print your version”.

First code example

Open a terminal and run the first check command:

python --version

Expected output:

Python 3.12.4

Your number may be different — what matters is that it starts with Python 3.

Line-by-line breakdown

python --version
PartWhat it does
pythonThe program name. The terminal looks for a program with this name on the computer (in the folders listed in PATH) and starts it.
spaceSeparates the program name from what you pass to it.
--versionA flag that tells Python: “print your version and exit”. Python does not run any code in this case.

And what appears in the output:

OutputMeaning
PythonThe name of the program that answered — proof that the terminal found it.
3.12.4The 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 --version

Expected output:

Python 3.12.4
git version 2.45.1.windows.1
1.93.1
38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40
x64
Docker version 27.3.1, build ce12230
  • git version ... — Git is installed.
  • Docker version ... — Docker is installed. (Your numbers may be different.)
  • code --version prints three lines: the VS Code version, the build id (a long string) and the processor type (x64 or arm64). All three lines are fine.

Common mistake

The mistake: installing Python on Windows without ticking Add python.exe to PATH, and then running:

python --version

and 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:

  1. Run the Python installer again → Modify → Next → tick Add Python to environment variables → Install.
  2. Close the terminal and open it again.
  3. An alternative on Windows: the py --version command (the Python Launcher) usually works even without PATH.
Docker: Docker Desktop is not open

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.

Another classic mistake: Mac

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:

WhatWhenHow
A GitHub accountGit topicSign up at github.com (free)
Setting a name and email for GitGit topicgit config --global user.name and user.email — once per computer
A virtual environment (venv)Backend topicpython -m venv .venv in the project folder
FastAPIBackend topicpip install "fastapi[standard]" inside the venv
The MySQL databaseDatabases topicA container in Docker: docker run ... mysql:8.4
The Database Client extensionDatabases topicIn VS Code: Extensions → Database Client (by Weijan Chen)
The driver mysql-connector-pythonDatabases topicpip 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.4
  • pip — 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 topic docker run will download it on its own if it is missing — but if you have time and a good connection, you can download it now.
Checklist for the end of the lesson
  • python --version prints Python 3.x
  • git --version prints git version ...
  • code --version prints the VS Code version
  • docker --version prints Docker 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

Practice

Comprehension questions on the lesson material — no code.

Exercise 1: Five tools — five jobs

Match each tool to its job:

ToolJob
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
ToolJob
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...
  1. What does the message say?
  2. Give two possible causes of the problem, and what to do in each case.
Show solution
  1. The terminal did not find a program called python in any of the folders listed in PATH.
  2. 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
  1. How can one Docker command work and the other not?
  2. What do you do to fix it?
  3. Which extra component must be installed on Windows for Docker Desktop to work?
Show solution
  1. docker --version only prints the version of the command-line tool — it does not need the Docker engine. docker ps needs to talk to the engine, and the engine runs only while Docker Desktop is open.
  2. Open Docker Desktop and wait for it to finish starting (Engine running appears), then run the command again.
  3. 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.

ItemWhen?
Python?
GitHub account?
FastAPI?
Docker Desktop?
mysql-connector-python?
VS Code?
Show solution
ItemWhen?
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...
  1. Which tools are installed and working?
  2. code --version printed three lines. What is each line?
  3. What is the problem in the last line, and what do you do?
Show solution
  1. Python, Git and VS Code are installed — each printed its version.
  2. 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.
  3. 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 with docker --version.