Skip to main content

Week 01 — Development Environment & Tooling

You can't build good things with bad tools. Week 1 is about installing, configuring, and actually understanding the tools you'll use every single day for the next 7 weeks — and for the rest of your career.

What You'll Learn This Week

By the end of this week you will be able to:

  • Set up a professional Python development environment using VS Code + UV (the fastest package manager in 2026)
  • Write Bash scripts that automate boring work
  • Use Git and GitHub not as a magic "save button" but as tools you fully understand
  • Store and query data with SQLite using the modern sqlite-utils + datasette workflow
  • Test APIs with curl, httpie, and Postman
  • Intercept and mock browser network traffic with Requestly
  • Move fluently between JSON, YAML, TOML, Markdown, and Base64
  • Host static sites for free on GitHub Pages
  • Produce professional PDFs with LaTeX (Overleaf + pandoc)

Topics

#TopicWhat it isWhy it matters
1VS CodeMicrosoft's free code editorThe de-facto editor of our industry
2UV — Python Package ManagerRust-powered pip + venv + pyenv replacement10–100× faster than pip
3Bash ScriptingThe Unix shell languageGlue for everything on Linux / macOS / CI
4Git & GitHubVersion control + collaborationEvery real project lives in Git
5SQLiteFile-based SQL databaseShips with Python; used by Firefox, iOS, airplanes
6HTTP Clientscurl, httpie, PostmanTalk to any API before you write a line of Python
7RequestlyBrowser HTTP interceptorMock/modify/redirect traffic without touching backend
8Data FormatsJSON, YAML, TOML, Markdown, Base64, UnicodeThe vocabulary of all modern APIs
9GitHub PagesFree static site hosting from GitHubPublish docs, portfolios, apps
10LaTeXProfessional typesettingPublication-quality PDFs + math

Labs

You will build these three labs — each one ships something real to the internet.

  1. Lab 1.1 — Publish a Python library to PyPI using UV
  2. Lab 1.2 — UV CLI tool + LaTeX documentation PDF on GitHub Pages
  3. Lab 1.3 — Bash automation script — daily project summary
How to work through this week

Read the topic, do the 5-minute mini-exercise at the bottom of each page, then move to the next. At the end of the week, complete the three labs. Finally, write a Discourse blog post about one concept you learned — teaching it back is the best way to learn.

Required Software Checklist

Before starting, install these on your machine:

ToolmacOSLinux (Ubuntu)Windows
VS Codebrew install --cask visual-studio-codesudo snap install --classic codeDownload installer
Gitbrew install gitsudo apt install gitwinget install Git.Git
UVcurl -LsSf https://astral.sh/uv/install.sh | shSamepowershell -c "irm https://astral.sh/uv/install.ps1 | iex"
GitHub CLIbrew install ghsudo apt install ghwinget install GitHub.cli
sqlite-utilsuv tool install sqlite-utilsSameSame
httpiebrew install httpiesudo apt install httpiewinget install HTTPie.HTTPie
Windows users

We strongly recommend using WSL2 (Ubuntu) on Windows. Most of the course assumes a Unix-like shell. Install WSL via wsl --install in an admin PowerShell and then do everything inside Ubuntu.

Mindset for Week 1

Most students rush to the "AI stuff" in later weeks and skip the fundamentals. Don't. Every hour you invest in mastering your editor, your shell, and Git pays back 100× in the weeks ahead. When the professor says "build a RAG chatbot", you don't want to be fighting with virtual environments — you want that to be muscle memory.

How to get help
  • Read the official docs first — they're almost always better than Stack Overflow.
  • Ask good questions on Discourse.
  • --help is your friend: every CLI tool documents itself.