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 VirtualBox virtualization environment (free of charge) on your host machine so that you can run Ubuntu Linux (v18.0.4) as a guest operating system.

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 Virtual Box from osboxes.org.

Next, you will need to download VirtualBox 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!