- Feb 16 - Feb 26:
Develop ideas, form project teams, build project web site.
This stage is to come up with an idea for the project you want to do
and form a project team (1-3 students).
If you already have a clear idea,
you can start writing the proposal, post it,
and recruit other students to join your team.
If you have a less clear idea,
you may want to meet with other students and brainstorm a project idea.
Once you have formed your idea and your team,
you should begin to build a project web site.
At this stage the web site should include
what is essentially a prelimary project proposal:
- Title of the project.
Name, email, homepage for each team member, include one primary contact
for the team.
What is it and what are the benefits that your project will bring to users?
- Problem description:
What is the problem you try to solve?
Why is this project needed?
Do existing systems or services
do something similar, and if so, how is yours different/better?
(Include both academic or commercial systems/services.)
What are the main novel technical challenges in realizing the project?
- Technical Roadmap:
Rough ideas on how you are going to approach the problem.
What existing components or services can be leveraged,
and what has to be built?
Rough ideas on its potential commercial value or deployment path,
like who would pay to deploy it
(pay-per-use? user subscription? advertising revenue?).
What equipment and other resource you will need for this project
and how you plan to secure them.
Once you set up the web site, send email to the instructor with the URL.
During the course of the project,
you will keep adding to the web site any refinements,
status, documentation, software code, demonstrations,
and final report, etc.
- Project web site up and running by 8:00am Feb 26.
- Feb 26 - Mar 5:
Finalize project proposal.
This stage is to refine your ideas and lock on the project goal.
During this period, you should schedule to meet with the
instructor at least once to discuss the project and
determine that whether this project is appropriate
(not too simple and not too hard).
You will then need to revise it accordingly.
At this time, you should also plan for the project carefully.
For example, you can try to break the projects into smaller tasks
and set some deadline accordingly (so you won't wait till 2 weeks
before the final week to start). You should also have some good
idea on how to divide the tasks among the team members.
You should also review your project web site to
finalize what is essentially the project proposal.
At the minimum, you should add the following sections:
Concrete ideas (with substantial details)
on how you plan to solve the problem.
- Tasks and schedule:
Among the team members, who is going to do what, and by when?
- Demonstration plan:
What do you plan to show us at the end of this project?
- The above 3 sections should appear in your project web site by 5:00pm March 8.
- Prepare a 5 minutes presentation in class.
- Mar 5 - Apr 30:
Work on it.
You have 7 weeks (plus the spring break)
to produce a working protoype and solid results.
During this period, you should schedule to meet with the instructor
at least twice to discuss your project progress.
Note: the review meeting dates in milestones below are
to ensure that your project is on schedule.
You should not treat them as "due dates" --
and have the meetings well ahead of time.
During the project, you should constantly update your project
web site to add status, progress, etc.
At the end of this stage, you should upload
everything you have done to the web site,
including the following:
Anything that you like to show off your project --
text, figures, charts, pictures, screendumps, video, flash, etc.
6 to 9 viewgraphs to summarize the project,
which you would use in a oral or poster presentation.
- First project review by Apr 2.
- Second project review by Apr 16.
- Project web site to include all above sections by 8:00am Apr 30.
- Prepare a 5-10 minute presentation of your project in class.
- Prepare a short demonstration in ACES 2.402.
- Apr 30 - May 4:
Your final report should be a technical description of your system,
and should cover the following points:
- Problem Statement and Motivation:
What problem are you trying to solve?
Why and how would someone use your system?
Give a specific scenario.
State your assumptions, like
"Our wireless virtual-reality bifocals will be widely useful
because we expect that within five years,
80% of senior citizens will be avid Quake players."
- Related Work:
Briefly describe other attempts to solve the problem, or similar problems.
How does your system improve on these attempts?
- Design and Implementation:
Discuss in detail your approach for solving the problem: external design
(how your system interacts with other components), user interface, internal
design (the various pieces that comprise your system). Expand on the scenario
from the motivation section. Explain any interesting design tradeoffs.
Are there any reusable parts that could be packaged as a library for other
- Results and Analysis
- Conclusion and Lessons Learned
The report should be approximately 6 to 10 pages.
For good examples of mobile systems papers,
see recent proceedings from ACM MobiCOM and the several USENIX Symposiums.
Finally, you need to complete the project web site.
At the minimum, you should add the following:
- Final Report:
Links to your final report (in PS or PDF format).
- Downloadable Software Package:
The source code that you develop in the project,
with necessary documentation, so that other people can use it.
This site should remain available after the semester is over,
so if you are graduating and there is a problem due to disk space,
we will arrange to have your site archive elsewhere.
- Final Report due 8:00am May 9 (already a 5-day extension).
- Final Project web site to include all above sections by 8:00am May 9.