You will need to gain access to a Linux or other Unix environment for working on your homework for this course. There are several ways to do this, but CSE 391 only supports two approaches. This restriction is to simplify things on the course staff’s end when supporting all students. You are welcome to deviate from our suggestion if you prefer, but we can’t promise support if something doesn’t go as expected!
- Connect to a remote Linux server
- Install the CSE departmental Virtual Machine (VM) image on a computer of your own
- All students have access to this image
If you have a CSE account, you can connect to the CSE departmental server attu. If you are on a Mac or Linux box, or a Windows box with the Windows Subsystem for Linux (see below), you can connect to the attu server by opening a Terminal or command window and typing the command:
To access a different server (such as
linuxNN for EE majors or
vergeil), use a similar command, but replace the hostname (
attu.cs.washington.edu) with the name of the server you are connecting to.
If you are using Windows, you won’t necessarily have a terminal to
ssh from. We recommend installing PuTTy which is an application that lets Windows users use
ssh (Direct link to the exe is here). Use
attu.cs.washington.edu for the hostname and click “open”.
To transfer files from
vergeil) to your local machine, use the following command from your Terminal application (NOT from within an ssh session connected to attu)
scp firstname.lastname@example.org:~/foo.txt .
Be careful not to forget the
. at the end, which copies the file to your current directory on your local machine. In this example,
~/foo.txt is the path to the file you want to copy from attu, which is foo.txt located in your home directory.
scp is a lot like the
cp command we will learn in class, except it lets you copy files to/from a remote server. The general syntax is
scp <from> <to>
<to> can be a path to a file on a remote server! The syntax to specify a path on another computer is:
So for example, to copy a file named
foo.txt from your home directory on
attu to a file named
bar.txt on your computer, you could type
scp email@example.com:~/foo.txt bar.txt
As another example, if an instructor to upload a file to the 391 course website, they would type:
scp some_file.html firstname.lastname@example.org:/cse/web/courses/cse391/21sp
Using the CSE Linux Virtual Machine¶
This option creates a fake simulated computer inside your computer and allows you to install Linux onto that “virtual machine” (or VM). The advantage of using a VM is that it is less disruptive to your computer and that you can run Linux inside of Windows/Mac at the same time, so you won’t get “stuck” as easily (can switch back to Windows to Google for help if you have a problem, etc.). There is a slight disadvantage of using a VM is that it is slightly slower than doing a fresh install of Linux directly on your computer, but this is a worthy tradeoff for the simplicity of not messing up your native OS installation.
We support the installation of the CSE lab-provided virtual machine. If you choose this option you will essentially end up with a CSE lab Linux desktop (i.e. CentOS) that you own, implemented as software, running as an application on your system. Since this is closest to what you would find in the CSE labs, free to students, and is relatively simple to setup, this is the recommended option if you decide to go the virtual machine route.
Refer to these simplified instructions for installing the UW CSE Home Linux VM Install & Setup for information about how to set up a CSE lab Linux desktop on your computer. Be sure to use the latest available image, which is the 21sp release. After installing and starting the VM, run the following commands in the terminal there to make sure you get all the most recent updates.
sudo yum clean metadata sudo yum update
You can also run different versions of Linux as a virtual machine on your computer, but we will not support or give instructions about those options.