A Good Text Editor: You will use the lab computers in lab. You can also connect to them remotely, but you'll want to have a good source code editor installed on your own computer. It's entirely personal preference, but a few I'd recommend are:
There are versions of these for Mac, Windows, Linux. And they each have many extensions to support different programming languages, latex, markdown, etc. You will need an editor that does not have LLM support enabled. That includes CoPilot in VSCode, Cursor, Kiro, or any other such system.
git: We'll use git repositories hosted on GitHub for programming exercises. You will receive email invitations to access each assignment's repository. The lab machines already have git installed, but you may find it useful to install git on your own computer as well. See the Git and GitHub Tutorial for details.
Lambdasaurus: A Lambda Calculus Reduction Checker, to help you work through the reductions on your homework.
Triceratypes: A Type Inference Checker, to help you practice the type inference algorithm on your homework.