CSCI 104 - Fall 2017 Data Structures and Object Oriented Design

While you are welcome to install a C++ compiler or integrated development environment natively on your system, or work remotely on (which we consider rather inconvenient), we strongly encourage you to use the Ubuntu virtual machine (VM) specifically provided for this class. The VM that we use is a customized Ubuntu LTS installation that comes with the most recent C++ compiler, libraries, and debuggers. You can install it on your laptop regardless of your operating system, and use it for the entire semester for labs and homework assignments. We will grade everything on this VM's compiler version and environment so it is critical you check your code on this system before submitting. All C++ compilers are NOT the same. The code you write on Visual Studio or XCode (common Windows and Mac development environments) may not run the same way on another system.

Read This First

Installation instructions

  1. To run this virtual machine you will need to download Oracle VirtualBox.
  2. After installing VirtualBox, download and install the extension pack, available on the same downloads page. You can install the extension pack by going to File->Preferences->Extensions on Windows or VirtualBox->Preferences->Extensions on Mac. Click on the down arrow on the right side of the window and open the extension pack.
  3. Next download the virtual machine image. We recommend using 'curl' which is already installed on Mac and Linux machines. (A Windows version is available here. curl is a command line utility to download files from the Internet. Go to a folder where you want to download the file and start a command prompt (Windows) or Terminal there. Then run the command

curl -o student-vm.ova

  1. Start Virtual Box and choose File...Import. Then select the Ubuntu Virtual Machine (student-vm.ova) you downloaded. Use the default import options.
  2. Adjust the settings of your VM
    • Adjust the appropriate amount of base memory. Everything has to be in the green zone: VBoxPic
    • Make sure the VM has at least 2 CPU cores allocated. You can adjust this later to get the best results. VboxPic2
    • Turn 3D Acceleration ON. VBoxPic3
    • Now click on the Course VM option that now appears in VirtualBox's list and select Start/Run. This will start the VM and bring you to a logon message. (Answer yes or default answer to any dialog box that appears).
  3. If you encounter errors starting your VM go to the Troubleshooting Section and then resume these directions.
  4. Finishing the setup
    • Login with the credentials: username: student password: developer
    • Hit Ctrl-Alt-T to start a terminal window where you can type in commands
    • Install the Virtual Box Guest Additions as detailed in the Do's and Dont's Section
    • Pick and setup a method to backup your files as detailed in the Do's and Dont's Section
    • If you haven't worked with Linux, check out a Linux tutorial such as this one (Tutorials 1-6) or possibly this one.
    • For starters, work through this tutorial. Start from the beginning and continuing through pointers. Write down any questions or unclear statements. We can discuss them at the beginning of the semester. Also, I have made lecture videos on most of these topics available at this CS Modules Site. Please be sure you know the material covered in the first 3 modules (C++ Introduction and Control Structure and Functions) before coming to class. See the next section for details.

Do’s and Don’ts


In this section, we briefly go over common problems with VirtualBox and Ubuntu.

Other Options

The virtual machine image is installed on all the Windows PC's in the engineering computing center (SAL). Thus, if you absolutely can't get the VM working on your laptop, you can use one of these computers. Follow the directions below:

  1. Boot to Windows (not Mac)
  2. Find the VirtualBox icon on the desktop and start the application (not Mac)
  3. Many of these machines already have the student-vm imported and ready to run so that you can just start the VM and use it
  4. If the student-vm is not already imported you may do so by clicking File..Import Appliance. Then click the browse folder icon to go find the .ova file. Browse to Computer..C:\CS VM\ and pick the latest .ova file
  5. Then click import.

  6. Once the appliance is imported you can start it and use it

  7. Checkout your git repository.

  8. Your files will not be saved from one session to the next, so please commit and push your repository files