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).
Java: Download Oracle's J2SE v11.0 JDK from the Java SE Downloads web site. Don't download the JRE (Java Runtime Environment), which lets you run Java programs, but does not provide the tools for Java development. Don't download JDK 8, 9, 10, or 12. Even if you have installed other (older or newer) versions of Java on your machine, you should install the latest Java 11 JDK for this quarter.
You may have issues on Mac with the Java 11 JDK not being used even after having installed it.
You can check by running java -version
in your Terminal.
To fix this, run export JAVA_HOME=$(/usr/libexec/java_home -v 1.11)
and then check the version again.
This is only a temporary fix for that particular instance of the command line.
To fix it permanently, add the export statement to the bottom of your ~/.bashrc
.
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.