Part 1: Install Virtualization Software

Install VirtualBox or another virtualization program (e.g., from VMWare for Mac or Windows or Parallels for Mac) on your computer (this program is called a hypervisor). Then, run it, take a color screenshot, and insert it to replace the placeholder image below. An example grayscale screenshot is provided for VirtualBox. Your screenshot, however, should be in full color.

For some PCs you may need to enable a feature in the BIOS (this is not very common).

Example screenshot:
VirtualBox screenshot (grayscale)
Your screenshot:
Placeholder image

Part 2: Download, unzip, and start the VM

Download the virtual machine using one of the following links. Then, unzip and open the VM in the virtualization program installed in Part 1. Then, start the VM, wait for it to fully boot up, and launch the desktop session (all these steps happen automatically). Insert your screenshot to replace the placeholder image below. An example grayscale screenshot is included, but your screenshot should be in full color.

On older versions of MacOS (e.g., High Sierra), it may be easier to download and unpack the TGZ file (secondary download) instead of a ZIP file (primary download). The reason for this is that older versions of Apple"s Archive Utility don't work very well with large ZIP archives. You can still use the ZIP file if you unpack it with a different program, e.g., The Unarchiver or Keka. On all other systems, the ZIP files should unpack without any issues. These concerns don't apply to the OVA file.

Hypervisor Primary download Size Alternative downloadSize VM size (after unpacking)
Parallels hci560x.pvm.zip 2.6 GB hci560x.pvm.tgz 2.6 GB 8.6 GB
VirtualBox hci560x_vbox.zip 2.5 GB hci560x_vbox.tgz 2.7 GB 8.4 GB
VMWare hci560x.vmwarevm.zip 2.5 GB hci560x.vmwarevm.tgz 2.7 GB 7.8 GB
Other hci560x.ova 2.6 GB 8+ GB

Example screenshot:
VM screenshot (grayscale)
Your screenshot:
Placeholder image

Part 3: Start the course app in the VM and update it

Update the app, run it, and take a screenshot. Insert your screenshot to replace the placeholder image below. An example grayscale screenshot is included, but your screenshot should be in full color.

Example screenshot:
App screenshot (grayscale)
Your screenshot:
Placeholder image

Part 4: Run Weka

Run Weka (Waikato Environment for Knowledge Analysis). It is installed in the VM, so it is sufficient to double-click on the shortcut in the VM and wait until it launches (it is in Java, so this may take a few seconds). Alternatively, you can download, install, and run Weka on your computer and bypass the VM. Then, take a screenshot of Weka and insert it to replace the placeholder image below. Your screenshot should be in full color.

Example screenshot:
Weka screenshot (grayscale)
Your screenshot:
Placeholder image

[HCI Implementation, Optional] Part 5: Update Norvig's Table

Add a new column to the table from an essay by Norvig with approximate timing for common operations on a personal computer that gives the values for computers in 2021. Explain how you came up with new values or why did the number stay the same. Include additional text as necessary. The answers here can be correct within about an order of magnitude. Don't worry too much about getting the number exactly right for any specific computer. The general idea of where the number can be expected to be is what we are looking for here. Feel free to run your own experiments.

operationDuration in 2010Duration in 2021Description for 2021
execute typical instruction 1/1,000,000,000 sec = 1 nanosec??
fetch from L1 cache memory 0.5 nanosec??
branch misprediction 5 nanosec??
fetch from L2 cache memory 7 nanosec??
Mutex lock/unlock 25 nanosec??
fetch from main memory 100 nanosec??
send 2K bytes over 1Gbps network 20,000 nanosec??
read 1MB sequentially from memory 250,000 nanosec??
fetch from new disk location (seek) 8,000,000 nanosec??
read 1MB sequentially from disk 20,000,000 nanosec??
send packet US to Europe and back 150 milliseconds = 150,000,000 nanosec??

Add more text here if there is not enough space in the table.