CS 460: Computer Communications
Class Project
The class project allows you to pursue a networking topic that is really
interesting to you. The magnitude of the project should be approximately
the same as 2 laboratories. I am willing to accept a wide variety of projects
as long as they are somehow related to networking. Please do not do a
project in conjunction with another class. These combined projects are too
hard to evaluate. The project can be an individual or small
group effort, but I expect a proportionally larger amount of work out of a group
project.
If you have trouble deciding on a project, the following
suggestions are acceptable:
- Use a network monitoring tool to investigate the performance of the network in our laboratory.
- Write a RPC application/library that does addition, subtraction, multiplication
and division on a remote machine. You will want to study the different
methods for argument marshalling and data transmission in preparing your
design. You could write your code on top of normal Solaris
Sockets and then write a sockets interface to your TCP lab that would
interoperate with the same code.
- Develop a DNS system that load balances between WWW servers.
- Install IP phone software and determine the impact of network
congestion on voice quality.
Your completed project will consist of
- Two one-page papers investigating topics that you find interesting related
to networking. These two papers will help you to decide on a
project. These will each be worth 1% of your grade.
These papers will be rigorously graded for english and content in
order to give you an idea of what the grading criteria will be for the
final project. Over 80% of the words in these reports should be your own.
- A topic which can be just a sentence describing what you will be working on. This will
be worth 1% of your total grade if it is submitted on time.
- Each team or individual must submit for approval, a one page project proposal before project work can
begin. This must be submitted by the due date listed in the schedule and will be worth
2%
of your total grade. The proposal should include:
- A literature search to see what has been done before in this area.
An annotated bibliography describing information that you obtained during your library
research should be included. You should include sources for information you found along with places you
looked, but did not find anything. Relate previous work to your project.
- A proposed schedule for the project
- If it is a group project, define the contributions of each group member
- A Status report describing where you are and any revisions to your schedule This should
probably be 1/2 page in length. This will be worth 1% of your grade.
- A final written report describing your research worth 9% of your grade. You should
make an appointment with me to demonstrate your work. The written part of a
programming project will probably not be more than 3-5 pages single spaced.
A report for a research-only project will be around 8-10 pages. This page
limit is not satisfied by mindless blather (a technical term). If you
have only written 2 pages of real work and then have filled the rest of
the pages up with filler, you would probably be better off to just turn in
the 2 pages.
- If you have worked as a group, include a description of what each member of the group
did to contribute to the project.
- An optional oral report can also be included. If you are really excited
about what you have done, you will want to tell the class about it. You don't need to try to introduce the whole topic
area, but should focus on the items that were most significant to you. The reports will be
from 5-10 minutes depending on the number of groups in the class. The oral report is
optional, but extra credit will be given to students who do a good oral report.
Over 80% of your written report should be your own words. When you quote something you
have found in the literature, you must put the words in quotation marks
and give credit to the author. If you paraphrase words from a document, you must give
credit to the author. Failure to do so is a violation of the honor code and will result in
zero credit for the report. You will also probably fail the class and you
may not be allowed to continue to pursue your degree at this university.
I will be using this
grading sheet
when evaluating your written reports and project presentations.
Some examples of projects include:
- Use a network monitoring tool to investigate the performance of the network in our laboratory.
- Learn the FTP protocol and write an application meeting the ftp user
interface that transfers the file from several mirror sites at the same
time.
- Study the DNS protocol and learn how to do load balancing between several
http servers with the same name.
- Learn about NDS or another directory service and write a simple
application.
- Experiment with a network simulator and determine the impact of increasing
utilization on Ethernet networks (we have a license to the opnet
simulator and you have access to it.
- Model BYU's network and develop a simulation to determine the kind of
backbone we should implement.
- Test Firewalls to determine throughput and effectiveness.