Classroom Glossary Public page

FND-102 Equipment and Setup Guide

885 words

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 --version may prompt you to install Xcode Command Line Tools. Accept the prompt; that bundles Git.
  • Linux: sudo apt install git or 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.