There are five main options for where to do your work. You can use multiple of these options! Doing so generally requires you to make multiple clones of your repository.
attu
(a Linux
computer cluster) and using it remotely. Again, there is no software to install. This combines the
convenience of your own computer with the department installation of Linux. You have access to the
same account and files as when working in the Allen Center labs. Logging in to attu is not a good
way to run a graphical application such as IntelliJ.
The Linux Home VM has almost the same software as CSE-managed computers. You will need to install IntelliJ IDEA yourself (the license is free for students).
Download JDK 11 using the AdoptOpenJDK installers provided on their homepage. When prompted, choose OpenJDK 11 (LTS) and the HotSpot JVM. MacOS and Linux users can just run the installers directly. Windows users should run the installers and additionally make sure "Repair Registry" and "Set JAVA_HOME" are checked when prompted.
To verify your installation, open a terminal (MacOS users open the Terminal application, Windows users can open Git Bash or Command Prompt, and Linux users open your terminal of choice) and type the following command:
javac --version
A message should be printed indicating version 11 is installed. If you get an older version or have trouble, try uninstalling older versions of Java you may have installed, or contact the course staff for more help.
If you are having trouble (for example, you cannot figure out how to install programs on your computer), then we recommend you use one of the other options.
Most, but not all, CSE 331 tools work on Windows. If you discover one that does not, please let the CSE 331 staff know so that we can fix it! While you are waiting for the fix, perform that step on a Unix (Linux or MacOS) machine such as attu.
Disclaimer about using your own tools:
Many students find working directly on their own computer most convenient. You may use whatever tools you like to develop your code. The only thing the staff cares about is that your code works on attu.
The CSE 331 staff provides technical support only for using IntelliJ or the command line, on UW CSE machines. For other setups, we will try to help to the extent feasible. However, it can be difficult to predict and debug every installation/configuration problem, and we are not familiar with every operating system, text editor, or possible interaction between programs. We will prioritize helping students homework, grading assignments, etc. over debugging the configuration on your own machine.
Most students have little trouble setting up their environment. If you spend 2 or more hours trying to debug a problem with your environment, we strongly suggest that you stop and use one of the other options for getting your work done.
attu
is the name of an Instructional Workstation (IWS) Linux machine. You will
occasionally need to log into this machine. How you log into attu depends on whether you are starting
from a Unix machine or a Windows machine.
ssh YourCSENetID@attu.cs.washington.edu
Use the same password you use to login to the Linux machines in the Allen Center software labs.
Note for those who are new to the command line: When you try to type passwords in the command line, you may be alarmed that you can't see any text entered. To protect your password your typing simply isn't being shown. Just type your password as normal and press enter.
If you are using the Linux machines in an Allen Center software lab, you can alternatively use a shorter version of the command:
ssh attu
This works because the username defaults to the username you are currently logged in with and the target domain defaults to the domain of the machine you are connecting from.
attu.cs.washington.edu
by entering it in the Host
Name
textbox and clicking Open
. You will be prompted for your username
and password.
In either case, your username is your CSENetID, and your password is the same one you use to login to the Linux machines in the Allen Center software labs.
The first time you connecting to attu
from a given machine, you will receive a server
authenticity warning like this:
The authenticity of host 'attu.cs.washington.edu (128.208.1.139)' can't be established.
Along with the warning, the SSH client will display the RSA key fingerprint of the remote host so that you can verify the host's identity if you wish. It is safe to say "yes" to continue connecting. When you connect, SSH will cache the host key in order to automatically verify the remote host's identity in the future.
If you only want to transfer files between your CSE account and your home machine, you can use scp
("secure copy"). For CSE 331, you should rarely, if ever, need to manually transfer
files. All your code and other homework materials will be in a Git repository, allowing you
to automatically and safely synchronize your work across machines. We provide information about scp
as a reference for your general knowledge.
On a Unix (Linux or MacOS) machine, you can run scp at the command line. Run man scp
for
documentation on this command. If you prefer a graphical interface or if you are using Windows, you
can install a file
transfer program such as WinSCP. Most of the directions above for establishing a remote connection
via ssh also apply to scp.