Skip to content
master
Switch branches/tags
COS461-Public/assignments/assignment3/

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Assignment 3: Passive Network Measurement

Due Wednesday October 27 at 11:59 pm EST

This is not a group assignment. You are not allowed to copy or look at code from other students. However, you are welcome to discuss the assignments with other students without sharing code.

Getting Started

For VirtualBox users

On your host machine (not the VM), go to the course assignments directory:

$ cd COS461-Public/assignments

Pull the latest update from Github.

$ git pull

It is not necessary to reprovision your VM. You can just vagrant ssh into your VM if it's already provisioned. However, if you see that the Vagrantfile is updated when git pulling, you will need to reprovision your VM to install packages for this assignment, as below:

$ vagrant reload --provision

(For Apple Silicon users)

ssh into your UTM VM, pull the latest update from Github:

$ git pull

If you see that the setup.sh file is updated, you can either apply the diff manually or delete your current VM (make sure your progress is backed up on your host machine) and follow the setup process in assignment1 README to reflect the changes. If not updated, nothing needs to be done for your VM.

Starting up the Jupyter Notebook Server

In the VM, run the command sudo jupyter notebook &. This will start a new Jupyter notebook server in the background. Even though it is running in the background, it will sometimes print informative messages to the terminal. You can press Enter each time you get a message to get the shell prompt back. To shut down the notebook, run fg then press Control-C twice (once to get the confirmation message, another time to skip confirmation).

While the notebook is running, on your host machine, open up your browser and type localhost:8888 in the address bar. This should take you to the Jupyter notebook file selection window. Juypter notebook is actually running on port 8888 on your vagrant VM, but you can access it through your host machine browser because the port is being forwarded between the VM and the host machine.

In the file selection window, enter the assignment3 directory and then open Assignment3_Notebook.ipynb. This will open a notebook with the instructions for the rest of the assignment. Work through this notebook from top to bottom and complete the sections marked "TODO."

Remember to "Save and Checkpoint" (from the "File" menu) before you leave the notebook or close your tab.

Jupyter Notebook

Jupyter Notebook (formerly called iPython Notebook) is a browser-based IDE with a cell-based editor.

Every cell in a notebook can contain either code or text ("Markdown"). Begin editing a cell by double-clicking it. You can execute the code in a cell (or typeset the text) by pressing shift-enter with the cell selected. Global variables and functions are retained across cells. Save your work with the "Save and Checkpoint" option in the "File" menu. If your code hangs, you can interrupt it with the "Interrupt" option in the "Kernel" menu. You can also clear all variables and reset the environment with the "Restart" option in the "Kernel" menu.

The "Help" menu contains many additional resources about Jupyter notebooks (including a user interface tour, useful keyboard shortcuts, and links to tutorials).

Submission

Submit your completed Assignment3_Notebook.ipynb file on TigerFile here: Programming Assignment 3

Remember to put your name and netid in the marked location at the top of the file.