In order to complete assignments and other coursework in CS2043, you will need access to a Unix or Linux based system running a common shell. While it is possible to use the native shell running on your personal MacOS or Linux machine (Windows users could also look into installing WSL for Linux), you might find it easier to have a separate environment for "playing around" so that you do not accidentally corrupt/damage/delete important things on your machine when working on our assignments! Many of you are already familiar with virtualization technologies and may already have a system ready to go for class. For those that do not, read on!

A virtualization environment is an application you run on your machine that allows you to "emulate" a "new" machine in a "container" that may be running a different operating system than the one you are installing the virtualization environment on. We call the latter (your personal machine) the "host" machine and whatever OS runs in the container is called the "guest" operating system. What follows below are instructions for installing the VMWare Workstation Player (for Windows) or VMWare Fusion Player (for MacOS) virtualization environment (free of charge) on your host machine so that you can run Ubuntu Linux as a guest operating system. NOTE: VirtualBox is another virtualization environment that can be used if you prefer. I have found it (at least when running on MacOS) to be a little less stable than the VMWare products.

If you are using a new M1 (Apple Silicon) based MacBook Air, MacBook Pro, iMac or Mac mini, you may have issues with virtualization. You can try this technology preview to run Ubuntu or see note below about ugclinux.

If you can't run a virtualization environment…
. The computer science department maintains a cluster of Linux machines that all students enrolled in CS classes can get access to. This cluster is generally referred to as "ugclinux" and you can remotely connect to it to do your work. We will discuss more in our first lecture/workshop. See Connecting to UGCLINUX for more information.


OK, so you'd like to install the virtualization environment… read on!

There are a number of pages on the course web site designed to help you do this if you've never done it before. Running the virtualization environment could take up to 15GB of space (probably more like 11) on your machine so make sure you have enough to start with. If space is at a premium on your personal machine you may still be able to get an installation on there but you'll need to come see me for more details!

To begin with, you will need to download a Ubuntu Image for VMWare from osboxes.org.

Next, you will need to download VMWare so that you can host a virtualization environment on your own computer:

For platform specific instructions, please use the following links:


Once you have VirtualBox/Ubuntu installed, follow these instructions for Setting up Ubuntu

And now you're all set for CS2043!