Pre-Requisite Tools

VS Code for Text Editing

In general, I strongly recommend using  VS Code  for your programming and text editing needs. One of the particularly nice benefits of using VS Code is that it allows you to edit and run Jupyter Notebooks from the editor itself. Trust me; there is no better option than VS Code!

I also recommend the following VS Code extensions:
 Python : extensions for Python
 Jupyter : Support for Jupyter Notebooks
 Remote - SSH : Use VS code on remote machines
 WSL  (if you're on Windows): WSL interface
 GitHub Copilot : AI code development assistant. Students get free access.
 Ruff : Python code formatting

Command Line

Looking for tutorials on how to use Unix or the command line? Check out the  Command Line Guide  for a very basic intro, " The Art of the Command Line " for a quick summary, or the  Software Carpentry  resources for a more involved tutorial.
The command line is how you will interact with the various compute clusters and run calculations. If you are on Linux, you already have a native command line. If you are on a Mac, you also have a native command line, although there are some promising new options like  warp . If you are on Windows, I recommend using either  MobaXterm  or  cmder  depending on your personal preference.

Linux on Windows

If the codes you are trying to run or develop rely on Linux but you are on Windows, you should install the " Windows Subsystem for Linux ," which allows you to run Ubuntu from within Windows itself. You can run VS Code from Ubuntu on Windows using the WSL extension to make the process seamless. To travel to the Windows filesystem from Ubuntu, simply  cd  to  /mnt/c/Users/... .