CS/ECpE
5516, Spring 1998
Computer and Network Architecture II
Term Project
(based on Term
Project from Spring 1997 class)
[Overview] [Projects
Types] [Proposal] [Report]
[Other Information] [ Frequently
Asked Questions ]
See syllabus
for due date.
Project Overview
The final project may be
Projects may also be some combination of these types. For example, simulation
experiments may be used to compare alternative approaches for a critical
review. The project may be done individually or in teams of up to three
students. The complexity of the project should be proportional
to the number of students in a team.
You should select a project that interests you, that you are qualified
to undertake, that can be completed in a timely manner, and that can be
completed using resources that are available to you. Be realistic in selecting
a project. It is better to complete a modest project than to partially
finish an ambitious project. Incomplete grades cannot be given just to
allow extra time to work on the project.
A project proposal must be submitted to, and
approved by, the instructor. A final written report
is also required for all projects.
The project must be done in accordance with the Graduate
Honor Code. Please review Appendix
III of the Code for specific information on how to avoid inadvertent
plagiarism.
Types of Project
Programming Project
A programming project should involve the implementation and demonstration
of a protocol and/or network service. For example, a project could involve
the design and implementation of an application-level protocol such as
-
streaming audio and/or video transfer
-
a file transport protocol client and server
-
a Web client and server (students taking CS4984 this semester cannot use
this as their project)
Simply implementing a "socket" program is not sufficient; the focus of
the project must be protocol issues rather than use of system calls and/or
libraries.
Use of C, C++, or Java is encouraged, but the program may be implemented
using any language. Any suitable operating system may be used.
A written report must be submitted that describes
the function, design, and implementation of the protocol and/or service
and of the program. The report must include a documented program listing
and, if appropriate, program results in appendices. The project will be
evaluated based on the completeness, correctness, and performance of the
protocol and/or service design, the demonstrated correctness and performance
of the implementation, and the written report.
Here's a suggestion from Spring 1997 class for a streaming
audio programming project.
Experimental Project
An experimental project may be either a simulation study or a performance
experiment using measurements in a real system. For simulations, a simulation
package may be used or a simulator can be written using a standard programming
language such as Java, C or C++. A specific issue to be examined should
be determined. For example, an experimental study could characterize Web,
video or audio traffic on a LAN, while a simulation study could examine
the jitter due to congestion control strategies in an ATM network. A model
and an experiment should be designed to provide insight into the issue.
After the experiment is completed, the results should be analyzed and conclusions
drawn.
Consider using experiment design methods. For example,
if you want to determine the best thoughput in a simulation, and there
are five input variables to the simulator, each taking one of ten values,
you would need to do 510 experiments (possibly more if multiple
replicas are done when any of the five input variables are drawn from a
random variable.) You might be able to do fewer experiments using
experiment design methods from statistics. These are discussed in
the following book, which is on reserve in the library:
Raj Jain, The Art of Computer Systems Performance Analysis,
Wiley, 1991
Experiment
design methods from the Jain book are also discussed on the Web pages
for CS5014
For CS students, the Visual
Simulation Environment used in CS5224 (taken by some students in our
class last semester) could be used for simulation. An IP simulator
has been written using this environment, and might be reused by a team
simulating higher level protocols or IP issues. The VSE will be put
on the graduate lab NT machines if there is interest.
For EE students, a simulator package, MIL
3's OPNET Modeler,
is available in the Electrical Engineering Workstation Laboratory for students
in Blacksburg. Students are responsible for learning to use OPNET on their
own (see OPNET
FAQ list at VirginiaTech).
For other experimental studies, CS or EE students may request through
Prof. Midkiff access to the Electrical
Engineering Department's Networking and Visualization Laboratory which
includes a FORE Systems ASX-200WG ATM
switch, an Ethernet LAN, seven Silicon Graphics
workstations, and three Pentium Pro personal computers running Microsoft
Windows NT 4.0.
The experiment, including issues, models, results, analysis, and conclusions,
must be documented in a written report. If simulation
is used, the report must include a listing of the simulator package input
or documented program listing and output data in appendices. If measurements
are used, the report must include listings of any test programs and all
measurements in appendices. The project will be evaluated based on experimental
design, analysis of results, and the written report.
Critical Review Paper
A critical review paper should describe an issue or problem area, e.g.
transport protocols for carrying real-time multimedia traffic over IP,
specify criteria for evaluation, review three or four alternative approaches
described in the literature, and provide an assessment or critique of the
different approaches. Additional references should be used to describe
the problem and/or evaluation criteria. The paper should highlight the
relative strengths and weaknesses of each approach. Note that a critical
review paper is not just a review of several papers on the same topic.
You are expected to add "intellectual content" by comparing and contrasting
the ideas in the papers.
The project will be evaluated based on the definition of the problem
and evaluation criteria, the thoroughness of the literature review, insight
into alternative approaches and their detailed comparison, and the written
report.
Project Proposal
All projects must be approved by the instructor. Each student or team must
submit a brief project proposal (no more than the equivalent of
three pages) by email to the instructor at abrams@vt.edu
with the subject line "5516 proposal". Only one proposal should be submitted
per team.
The proposal must outline
-
project objective(s),
-
required resources, including a list of two or more papers for critical
review projects,
-
work plan (what will be done when),
-
deliverables, and
-
for teams, the division of effort among the team members.
Students are encouraged to discuss project ideas with the instructor and
to submit proposals as early as possible. Revisions may be needed.
Project Reports
All projects require a written report. Only one report can be submitted
per team. All reports must be typed and neatly formatted. In addition to
technical content, neatness, spelling, grammar, writing style, and clarity
will be considered in grading. Reports must be organized as follows.
-
Cover page. The cover page must include project title, course, student
name(s), location of student(s), email address(es), student ID number(s),
and date.
-
Copy of proposal with instructor's approval (hard copy of email reply from
the instructor).
-
Body of report. The body must be single-sided, double-spaced, use a 10-point
or larger font, and have 1-inch or wider margins. Neatly drawn figures
and graphs should be used where appropriate. Critical review papers
must be no longer than 10 pages, not including the cover page, proposal,
references, and appendices. Reports for programming and experiment-based
projects must be no longer than 7 pages, not including the cover page,
proposal, references, and any appendices. Additional pages will not
be graded!
-
References. Any texts, papers, manuals, reports, or other sources used
in the project must be acknowledged. Use IEEE format or ACM
format. Use the MLA guide for citing
electronic resources on the Internet.
-
Appendices (optional). Note that the body of the report must stand on its
own. Appendices should be used to provide additional detail, e.g. source
code, or substantiation, e.g. numerical results that are summarized in
the body of the report.
Other Information
Project information may be added during the semester.
Check back for new and updated material.
Last modified by abrams@vt.edu on 23 April 1998.