Project Instructions
Project Instructions
Project
Fall 2016
Project Proposal
Each group has to submit a project proposal describing in detail what project they will do for this course.
For your reference, I have uploaded a description of a sample project. Note that you CANNOT do that
sample project for this course. You must propose a project of your own and then start working on that
immediately. The sample project is there to help you get an idea of the expected complexity of the
project you propose. Make sure that the project you propose requires at least as much work as the
sample project would, otherwise, you risk losing points on the project.
We have gone through many application layer protocols. Think innovatively and come up with a novel
internet application and develop it as a project for this course. Your project must contain components
related to two of the three top layers of the networking stack, i.e., Application layer, Transport layer,
and Network layer.
The project proposal must contain the following sections in this sequence:
1. Introduction
2. Problem Statement
3. Project Objectives
4. How do you plan to carry out the project
5. How will you evaluate your project
6. What exactly will be shown during the demo
Note that the sample project description does not follow these 6 steps. However, your project proposal
must follow these steps and then contain all relevant information as given in the sample project
description.
In the project proposal, clearly (and in detail) write the section “Demo Setup” [The last point in the list
above]. See the sample project description for an example. The sample project does not list the steps of
the demo. However, you will have to write each and every step of the demo you will do to show that
whatever you proposed is working. For each step, write down an appropriate percentage of the grade
that you think should be assigned to that step. The sum of the percentage of all steps should be 100.
Note that the instructor may change the percentage assigned to each step if he does not find your
allocation of percentages appropriate. You will be notified about those percentages soon after the
submission deadline of the proposal.
Note that the instructor will not ask the team members to clarify anything that is ambiguous in the
proposal. Therefore, please write your goals, project description, demo steps, and anything else that you
put in the proposal (while adhering to the 6 section outline mentioned above) as clearly as possible.
Writing unclearly will have two disadvantages. First, the instructor and the TA will develop an
understanding of the outcomes expected from your project that might be different from what you
intended to do: instructor and TA could be expecting one thing and you could be working on something
else. This will create problems at the time of demo and project submission, and will negatively affect
your grade. Second, the proposal document will count towards 10% of the total grade of the project. If it
is not clearly written, you will lose points.
1
Deadlines
Proposal submission: 11:45pm on October 12, 2016 via Moodle
(One submission per team; no more, no less)
Project code and final report submission: 11:45pm on December 2, 2016 via Moodle
(One submission per team; no more, no less)
The code that you submit should be straightforward for the TA to execute. You must include a
README file with detailed and clear instructions on:
a. Environment settings
b. How to run the code
c. How to interpret the results
d. Any sample input and output files
Demos: Will be scheduled on the days right after the deadline. The TA will coordinate with the teams
Late submissions will not be allowed for project proposal, so please be mindful of the deadline. For final
code and report submission deadline and rules, please see slide 6 in Lecture 1. If you don’t submit your
code up to 10 hours after deadline, you will not be allowed a demo. However, special circumstance,
such as medical reasons, will be entertained as valid excuses for delayed submission on providing proof.
2
In this example, student 1 eventually contributed 18% to the total effort of doing the project, student 2
eventually contributed 15.5%, student 3 contributed 28.25%, and student 4 contributed 38.25%. If
project receives an overall grade of 80 out of 100, student 1 will get 0.18*4*80=57.6 out of 100 for this
project, student 2 will get 0.155*4*80=49.6, student 3 will get 0.2825*4*80=90.4, and student 4 will get
0.3825*4*80=122.4 (yes it is possible to get more than 100; this will happen if a team does the project
very well, but major effort came from only one or two students).
For the reports that are missing or having an incomplete contributions breakdown page, the
contribution from each team member will be considered equal.
1. Introduction: State the objective of your project; provide some background information.
2. Design: Provide a block diagram of your system before presenting the detailed algorithm
flowcharts; describe in detail your algorithm, as self-explanatory flowchart. For any detail of the
flowchart that needs additional explanation, put a brief description in a footnote on the
flowchart page, and provide the detailed explanation on a separate page; Specify exactly the
user-controllable parameters to be entered when running your program: what are the allowed
values, what are the recommended values, are there any values that should be avoided?, etc.
One page should only contain one flowchart and no text (other than footnotes, if needed)
3. Implementation: Specify the programming language and any other tools used for the
development; Describe briefly the content of each source-code file
4. Results and Discussion: Present your experimental results (if any) in graphical charts and
tables; Each chart/table should have a caption and should be referenced and described in the
text; Provide technical explanations and comments on any observations you might have found
interesting.
5. Related Work and references: Cite the literature or web sources that you have utilized in
completing your project (if any). List all the references (books, journal/conference papers), web
pages (include URL and webpage title) that have been used in the project.
Reports that only contain charts but no description and explanation will receive a poor grade. The length
of the report is limited to 6 letter sized pages, double column format, 10pt font, and one inch margin on
each side. Note that page 1 and 2 containing names and effort breakdown do not count towards the 6
page limit. The pages containing only flow charts and footnotes of less than three lines also do not count
towards the page limit. However, if any page with flowchart(s) contains explanatory text, then that page
will count towards the page limit. Submit your final report as a pdf
Project demo and code: 70% (You must specify how this part of the grade should be distributed across
various steps of your demo. Again note that the sum of percentages of all steps you write in the demo
setup must equal 100.)