Everything you need before week 1 starts. ~60 minutes of setup if you completed FND-101 already; ~90 minutes if you are starting fresh. All free; no hardware required beyond your laptop.
Laptop requirements
Same as FND-101. Any modern Windows, macOS, or Linux laptop runs FND-102 comfortably. The course is entirely software-based.
Minimum specs:
- Operating system: Windows 10 or later, macOS 11 or later, or a current Linux distribution (Ubuntu 22.04+, Fedora 38+, Debian 12+, or equivalent)
- CPU: any 64-bit processor from the last 10 years
- RAM: 4 GB minimum, 8 GB comfortable
- Disk: 5 GB free
- Display: 1280x720 or higher
- Internet: needed for installation and for week 12's HTTP labs; optional for offline coding
NOT required:
- No hardware kit
- No GPU
- No root or admin privileges for the Python install (Python installs as a user-mode application on all three operating systems)
Software to install
Five tools. All free. Plan ~60 minutes if FND-101 is already set up.
1. Python 3.11 or newer
FND-102 targets Python 3.11+. Earlier versions (3.9, 3.10) work for most labs but lack the cleaner error messages introduced in 3.11; using 3.11+ pays back the install effort in week 9 when you start reading tracebacks for real.
- Windows: download from
https://www.python.org/downloads/. During install, check the box "Add Python to PATH". Pick the latest 3.11.x, 3.12.x, or 3.13.x release. - macOS: the system Python may be older than 3.11. Install the latest from
https://www.python.org/downloads/or via Homebrew:brew install python@3.12. - Linux: most modern distributions ship 3.11 or newer. Check:
python3 --version. If yours is older:sudo apt install python3.12(Ubuntu / Debian),sudo dnf install python3.12(Fedora), or your distribution's equivalent.
Verification:
python3 --version
# Should print: Python 3.11.x or 3.12.x or 3.13.x
python3 -c "print('hello from python')"
# Should print: hello from python
If your system's python3 is older than 3.11 and you cannot upgrade system-wide, install via pyenv (https://github.com/pyenv/pyenv) or use a per-project virtual environment with a newer interpreter.
2. pip (Python package installer)
pip ships with Python 3.4+ but may need to be upgraded:
python3 -m pip install --upgrade pip
You install pytest, requests, and optionally ruff (linter) via pip. The course does NOT use a heavyweight environment manager (conda, poetry). A plain pip install --user plus a per-project virtual environment is the academy's default.
3. A code editor
The course is editor-agnostic, but VS Code is recommended for beginners because of its built-in Python support.
- VS Code (
https://code.visualstudio.com/): free; cross-platform. Install the official "Python" extension by Microsoft after installing VS Code. The extension provides syntax highlighting, linting, a "run in terminal" command, and a built-in debugger (used briefly in week 9). - Alternative editors that work for the course: Sublime Text, PyCharm Community (
https://www.jetbrains.com/pycharm/download/), Neovim with a Python plugin, vim (no plugin needed; works fine).
You do NOT need an IDE for FND-102; a plain editor + terminal is enough. The course's debugger is pdb, not the editor's GUI debugger.
4. Git
Same install as FND-101. If you already have Git from FND-101, skip this step.
- Windows: install Git for Windows from
https://git-scm.com/download/win. Accept the default options. This bundles Git Bash, a Unix-like terminal that runs the FND-102 lab commands without WSL2. - macOS:
git --versionmay prompt you to install Xcode Command Line Tools. Accept the prompt; that bundles Git. - Linux:
sudo apt install gitor equivalent.
Verification: git --version prints a version (anything 2.30+ is fine).
Configure your identity if you have not already:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
5. A terminal
- macOS: Terminal (pre-installed) or iTerm2 (
https://iterm2.com/) - Linux: any terminal emulator (GNOME Terminal, Konsole, xterm, etc.)
- Windows: PowerShell works for most labs; Git Bash (bundled with Git for Windows) works for everything; WSL2 (Ubuntu) is recommended if you completed FND-101 with WSL2
Verify your install
Run all five checks in a terminal. Each should produce sensible output, not an error.
python3 --version
python3 -m pip --version
git --version
python3 -c "import sys; print(sys.executable)"
python3 -c "import pytest" # may fail; that is fine; installs in week 1
The fifth command may print ModuleNotFoundError: No module named 'pytest'. That is expected; pytest installs in week 13. The first four MUST succeed before week 1.
Create your FND-102 workspace
A single directory holds all your lab work and the capstone:
mkdir -p ~/fnd-102
cd ~/fnd-102
git init
You commit each lab into this repository as you go. By the end of the course it has 12 lab subdirectories plus a capstone/ subdirectory.
Optional: create a Python virtual environment so the packages you install for the course do not pollute your system Python.
cd ~/fnd-102
python3 -m venv venv
source venv/bin/activate # macOS / Linux
# OR: venv\Scripts\activate.bat # Windows cmd
# OR: venv\Scripts\Activate.ps1 # Windows PowerShell
When the virtual environment is active, your shell prompt shows (venv) and pip install puts packages in venv/, not in your system Python. Deactivate with deactivate when done.
The virtual environment is OPTIONAL for FND-102 (most labs use only the standard library). Week 12 (requests) and week 13 (pytest) install the only third-party packages the course requires. Students who prefer not to use a virtual environment can pip install --user requests pytest and the labs still work.
What you do NOT need
- No conda, no poetry, no pipenv, no anaconda. The course teaches
python3+pip+venv(the standard tooling) because it is what every academy course downstream assumes. - No IDE-specific configuration. The course does not depend on VS Code's settings; any editor with Python syntax highlighting works.
- No Docker. The course runs natively on your laptop; week 9's subprocess work assumes a local shell.
- No paid services. Week 12's weather API uses a free, no-account tier.
If something is wrong before week 1
The single best diagnostic is the output of:
python3 -c "import sys; print(sys.version); print(sys.executable)"
Paste that into your week 1 setup ticket if you need help. The most common problems are (a) Windows path not finding python because the install-time "Add to PATH" was not checked, and (b) macOS using the system Python 2 when you wrote python instead of python3. Both are fixable in 5 minutes once the diagnostic output is in front of an instructor.
Setup guide v0.1.