You'll implement all the labs in Go. The Go web site contains lots of tutorial information. You should use Go 1.15 or any later version. You can check your Go version by running go version.

We recommend that you work on the labs on your own machine, so you can use the tools, text editors, etc. that you are already familiar with. Alternatively, you can work on the labs on Athena.


You can use Homebrew to install Go. After installing Homebrew, run brew install go.


Depending on your Linux distribution, you might be able to get an up-to-date version of Go from the package repository, e.g. by running apt install golang. Otherwise, you can manually install a binary from Go's website. First, make sure that you're running a 64-bit kernel (uname -a should mention "x86_64 GNU/Linux"), and then run:

$ wget -qO- https://go.dev/dl/go1.17.6.linux-amd64.tar.gz | sudo tar xz -C /usr/local
You'll need to make sure /usr/local/go/bin is on your PATH. You can do this by adding export PATH=$PATH:/usr/local/go/bin to your shell's init file ( commonly this is one of .bashrc, .bash_profile or .zshrc)


In past years it's been very painful or impossible to get the labs to work on Windows or on Windows Subsystem for Linux. Use Athena, a Mac, or Linux.


You can log into a public Athena host with ssh {your kerberos}@athena.dialup.mit.edu. Once you're logged in, to get Go 1.15, run:

$ setup ggo

If you get the following error:

bash: setup: command not found
you might have removed something important from your shell's startup scripts. Compare your ~/.bashrc to /usr/prototype_user/.bashrc and add anything that you're missing.

If you use a shell other than bash on Athena, the 'setup' command might not work properly, and you might need to add /mit/ggo/current/bin/ to your path manually.