|
Final Project
Final Project Guidelines and Schedule
All project proposals, reports, etc. should be submitted one per group (of one or two students) to the instructor. For each deliverable step, a single file (in ps or pdf only) should be submitted electronically to the instructor's e-mail address. If the project involves any simulation, data analysis, … all the necessary files must be uploaded to a web page, and the link should be sent in the same e-mail as the pdf or ps file. In all deliverables, please make sure that all the pages (and especially the figures) can be viewed properly in acrobat reader, and the document is printed properly.
- Draft proposal (1 page)
- Due: 5pm Thu. October 15th.
- Check out the list of suggested topics.
- You are highly encouraged to meet with the instructor and discuss your ideas before submitting your draft.
- Should include names of students, indicate who will work on what part, identify the project deliverable, what is the schedule/timetable of work.
- Feedback on draft proposal: Mon. October 19th.
- Final proposal (2 pages max)
- Due: 1pm Thu. October 22nd.
- This is a refined version of the draft proposal, based on the feedback.
- Intermediate report (5 pages max)
- Due: 1pm Thu. November 26th.
- The following should be the same as the final report:
- Table of contents
- Introduction/background/references
- Should have placeholder for final results and conclusions.
- Should Include: table of contents of final Report, background and motivation; problem statement; who did what so far; remaining work for rest of semester.
- Final presentation
- December 3rd in class.
- 15 minute presentation of project results.
- All presentations in class on December 3rd.
- Final report (12 pages max)
- Due: Noon Thu. December 10th.
Suggested Topics
You can choose any project related to packet switch and routing systems. Here is a list of example topics that can serve as a starting point in this process. The list, and the project descriptions are not meant to be comprehensive. You are highly encouraged to consult with the instructor before selecting the final project topic.
- Light-weight traffic shaper: Internet core routers have buffers to handle congestion and contention. Using traffic-shapers at the edge, we can significantly reduce the size of buffers in core routers. The objective of this project is to investigate different shaping techniques through theoretical analysis, simulations. Implementing and evaluating new techniques using hardware (e.g. NetFPGA) is also an interesting potential project for anyone interested in hardware.
- Flowing with the clouds: OpenFlow is a new standard that aims at simplifying change in networks by separating control plane and data paths. The objective of this project is explore how we can use OpenFlow in a data center. More specifically, we are interested in exploring controller requirements, and performance: do we need to have more than one controller? Where those controllers should be deployed? How should the responsibilities be divided among different controllers? .... Another interesting project in this area is to study how OpenFlow can be used to support cloud computing transparently.
- Engineering Online Social Networks: Online social networks have had a great impact on how we use computers and the Internet. The objective of this project is to study if/how one can impact the growth and evolution of online social networks. Please consult with the instructor for more information on this.
- Measurement-based performance analysis of video on demand services: There are many video on demand services today. The objective of this project is to compare their performance by measuring various metrics including upload/download rates, flow completion times, packet drop rates, jitter, etc. Last year, a group of students developed a set of tools for this project, and did some preliminary comparison of existing VoD services. This year, the goal is to systematically expand the scope of that analysis and provide a comprehensive and systematic way of comparing VoD services.
- Network Simulation and Emulation: Simulating and emulating large computer networks using a limited infra-structure is an extremely difficult task. In this project we will look at different techniques and problems related with simulation and emulation of a large network over multiple servers.
- Study of Distributed Denial of Service (DDoS) attack on networks with tiny buffers: Several recent results show the possibility of reducing buffer sizes in Internet core routers from millions of packets to just a few dozen packets. One major concern here is the possibility of DDoS attacks and their impact on network performance. In this project, we are interested in studying whether shrinking buffer sizes can cause new security vulnerabilities.
- TCP overlay networks: Consider a given source and destination node in the Internet, and assume we build an overlay network that connects those two nodes. Nodes establish TCP connections with each other, and transfer data on these connections. The goal is to study the performance of this overlay network analytically, and through simulations.
Final Presentation Instructions:
- Each talk should be given by just one student.
- Although each talk is given 15 mins, the talk should last only 10-12 mins. The remaining 3-5 mins would be for questions. The 15 minute limit will be strictly imposed without exception.
- You should bring 10 copies of your slides to the talk (ideally 4 slides to a page, double sided).
- You can bring your own laptop for presentation, or you can send me the powerpoint files before 9am on the day of presentation. My laptop runs Windows Vista, and I have MS Office 2007 installed on it.
Presentation Guidelines (from Stanford's EE384xy):
Being a professional engineer or researcher means you often have to present your work to your colleagues. Giving an effective technical presentation requires a lot of preparation and practice. For example, in preparation for a 15 minute conference talk, it's quite common for a researcher to spend several days preparing, and give several practice talks along the way. Here are some guidelines to follow while preparing your presentation.
- In the beginning, forget the slides.
The most common mistake in giving a talk is to focus too much attention on the preparation of your slides. Remember that the talk is what comes out of the speaker's mouth, not the slides. Resist the temptation to spend all your preparation time working on pretty powerpoint slides. Instead, prepare the outline and script of your talk first, and only then think about how slides might help to illustrate some of the key points you are trying to make. A good rule of thumb is to spend 75% of the preparation time on your outline and script, and 25% of the time preparing slides. Remember that the world's best orators give great talks without slides!
- Write a 1-paragraph abstract that summarizes your talk.
Before you start preparing the outline and details, write down a brief abstract. It's worth spending some time on it. (For what it's worth, even though I've given hundreds of talks and lectures, I still do this before every talk and lecture I prepare).
Try to write, in the most concise and clear way, a brief summary of the talk. What problem are you solving, and why is it interesting? What is the context in which you are doing the work? What is the essence of your work, and your results? What is the "ah hah!" factor --- what do you want your audience to take away from the talk? If you can't write a 1-paragraph summary, it tells you that you don't have a clear idea of what the talk is about. Once you have a good paragraph written, you can be sure that the talk will be a lot easier to prepare.
- Prepare a bulleted outline of the whole talk.
Prepare an outline - perhaps in the form of 30-40 bullets - that shows the flow of the whole talk. This will help identify missing or redundant sections; and will help balance the amount of information you include in each part of the talk. It is often tempting to spend too much on one, unimportant detail, leaving too little time for the important stuff.
- Script the whole talk, and learn it.
Yes - I mean it. Write down, word for word, your whole talk. You'd be amazed at how many people do this -- even skilled speakers who give talks often. If the President can give speeches from a teleprompter, it tells you something about what makes a good talk. In many fields of the humanities, researchers read all their talks from a script.
The trick is to script the whole talk, read it aloud many times and then learn it. Then the day before your talk, throw away your script. You'll remember the key sentences and points, and by not reading it you'll make it sound more natural.
Having a script will make your talk get off on the right foot, and help overcome nervousness. Perhaps most importantly, a script will help you avoid missing out some important points, and will help you make best use of the small amount of time you have.
- Pick/design some slides to illustrate key ideas.
Think about what slides you need to illustrate your script. Your slides do not have to paint a complete picture on their own. It is a common misconception that the slides should be readable and meaningful without the speaker. This is baloney. If this were true, we wouldn't need the speaker! Think of them as illustrative tools, to help explain key ideas. It is not a good idea to use them to jog your memory; that is what your own notes are for.
- Practice the talk with the script several times.
- Throw away the script.
Once you have practiced the scripted talk a few times, throw your script away. You will remember the key phrases; and in the moment, you will link it together more naturally than you would by reading it.
- Give the presentation.
If all this seems like a lot of work, it is. Giving a good talk involves many hours of preparation.
|