CIS 5050: Homework assignments

Homework 0: Using the Virtual Machine Image

This very simple assignment will show you how to use the virtual machine image we have prepared for you. You will need the following:

VMware Workstation has been installed on Windows machines in Moore 100B, Moore 100C, Towne M62 and Towne M70, and on Linux machines in Moore 100A and Towne M70. You can access the executable VMware Workstation on the Linux’s lab machines at: /usr/bin/vmware. Additionally, you can remotely access the VMware Workstation on the labs’ Windows machines via the Virtual PC Lab. In addition, you can access the executable VMWare Workstation on the Linux’s lab machines at: /usr/bin/vmware.

We also provide some useful tips for using SSH with the VM image via this SSH guide.

Please keep in mind that any code you save in the virtual machine is lost if you delete the VM image itself, unless you check it into your git repository (which we provide; please see the handout for details). The VM will be the official environment for grading all the assignments.

Homework 1: Processes and Threads

This assignment – a simple parallel sorting program – will give you some hands-on experience with inter-processes communication, multi-threaded programming, concurrency and its impact on application performance, as well as with several basic UNIX primitives. You will need the HW1 handout, as well as some framework code that has already been checked into your Git repository. You should continue using the virtual machine image you installed for Homework 0 for testing your solution and for benchmarking, as well as regularly check your code into your git repository.

Homework 2: Email servers

For this assignment, you will build a pair of simple email servers (SMTP and POP3) that can be used with a real email client. The assignment involves socket programming, server design, as well as working with RFC-style protocol specifications. You will need the following:

You should continue using the virtual machine image you installed for Homework 0.

Homework 3: Chat server

Final project: PennCloud

Return to the main page

Web site contact: Linh Thi Xuan Phan