Skip to content

Tools

~5 min

In short

This section covers the five tools you will use in almost every course: a terminal, Git and GitHub, an editor with a debugger, basic Linux, and the official documentation. Each page has commands you can run, with the output they print. Read them in order, and run the commands on your own computer as you go.

The five pages

  1. Terminal and shell. Move around the file system, work with files, search text, connect commands with pipes, and get help with man. Start here.
  2. Git and GitHub. Record the history of a project, branch and merge, ignore files, push to GitHub, and undo mistakes.
  3. Editor and debugger. Use VS Code, print and step through a program with pdb, and read a stack trace.
  4. Linux basics. Find your way around the file system layout, read and change permissions, manage processes, install software, and set environment variables.
  5. Reading documentation. Read official docs, man pages, and READMEs, search well, and ask a question that gets an answer.

What to set up first

Do these in the first week, in this order:

  • Install a terminal. On Windows, install WSL and use its Ubuntu terminal [1].
  • Install Git and set your name and email. The Git page shows the commands [2].
  • Create a GitHub account and make one repository, even if it only holds a README [3].
  • Install an editor. VS Code is the one used in the examples [4].
  • Keep a notes file of commands you use often. Add to it each week.

Windows and macOS

The terminal commands on this section follow the Linux and macOS style. On Windows, the cleanest route is WSL, where the commands work unchanged [1]. Windows PowerShell is a different shell, and the terminal page shows the closest equivalent for each step. Use it for Windows-only tasks.

Examples were checked on macOS. Output details, such as file owners and dates, vary between machines, so your results may differ slightly.

How the examples were checked

Every command was run in a scratch folder under /tmp, and the output shown was copied from that run. Commands that need an account, such as pushing to GitHub or installing software, are marked as not run, and the output shown is labelled as an example.

Sources

  • [1] Microsoft Learn, "Install WSL". https://learn.microsoft.com/en-us/windows/wsl/install
  • [2] Pro Git, "First-Time Git Setup". https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
  • [3] GitHub Docs, "Creating a new repository". https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository
  • [4] VS Code documentation, "User interface". https://code.visualstudio.com/docs/getstarted/userinterface