CS 641 (Advanced) Computer Networks: Term paper
What is the goal of the term paper? The goal of the term
paper is to read one topic of your interest in some amount of detail,
and present your understanding of the topic in your own words in a
short writeup. Your term paper should serve as a good "survey paper"
on your topic - anyone with a basic understanding of networking should
be able to read your report and leave with good understanding of the
There are several ways to go about picking a topic: you can start
from one of the advanced topics discussed in class, you can pick a
recent topic you heard on the news, or you can start from any of the
latest papers published in top-tier conferences. Start with reading
the research paper in more detail. Then, follow the references to get
a few more additional papers to read. You can also find good technical
blogs or articles on the Internet (with some patient googling). You
are expected to spend at least 20-30 hours reading up a topic, till
you gain a thorough understanding of it. You are advised to pick a
recent "hot" topic, though you are welcome to read some of the classic
papers as well. Please note that your reading should roughly be 2-3
full-length papers (20-30 pages) worth of material. (In other words,
please don't read a 3-page article and start writing a term paper on
Once you read a topic, spend a few hours writing up your
understanding of the topic in your own words in the form of a
report. Your report should ideally be between 6-8 pages. Your report
should consist of the following parts (roughly):
- An introduction describing what your topic of choice is. Describe
the problem that the papers are solving, and why it is important.
- Next, summarize the papers / articles you have read. Please write
the summaries in your own words. Analyze how well each paper solves a
particular problem. Please discuss the pros and cons of each approach.
- Describe how the various papers have evaluated the different approaches. Comment on whether the evaluation is satisfactory.
- Any problems left unsolved as you see it.
You can pick from one of the following one of these topics covered in class:
Alternately, you can look through the latest proceedings of top-tier
conferences, and pick any paper that you find interesting. You can
then follow the references from that paper to get a set of 2-3 papers
on that topic, and get going. Some of the top conferences in the field
of networking are ACM SIGCOMM, Usenix NSDI, and ACM CoNEXT. You should
be able to find their latest proceedings online.
- New HTTP-like protocols for faster web. Search for SPDY, HTTP 2.0, HTTP for the mobile web, and other such terms to get a lot of information.
- Multipath TCP. You can find a lot of papers here.
- Some of the classic papers on packet scheduling algorithms (WFQ, DRR etc.). The implementation aspects of these protocols are especially interesting.
- TCP variants, and their pros and cons. You can find a lot of literature on the TCP variants implemented in the Linux kernel, and their tradeoffs.
- Various security proposals for BGP, like S-BGP.
- Various aspects of high-speed router design.
- Software defined networking and network
is a good reading list.
- Here is a good reading list on datacenter networking.
Finally, you are welcome to pick any topic that you have heard being
discussed and were curious to know more about. Please make sure your
topic is related to this course though! Also, for students who have
done a seminar elsewhere, you may NOT reuse the same topic for this
term paper. All reading (not just the writing) must be original!
Tips and guidelines
- Please do not copy any parts of the text or
figures from any source, unless you provide proper citations. Any
plagiarism will result in an FR grade for the entire course.
- You are strongly encouraged to write (draw) all the text (figures)
yourself, and come up with your own examples to illustrate your
ideas. Please do not blindly repeat what's in the papers without
understanding it yourself.
- Please start reading and thinking about the topic as early as possible.
- Once you finish all the reading, spend a reasonable amount of time
writing the paper. You will need several revisions to get it read
- Please make sure your submission is professional - check for typos
and grammatical errors. You are strongly advised to use Latex.
- Think critically about the papers, and try to point out the good
and bad points as you see it.
- Include proper references to all papers / articles you have read,
and cite the references as appropriate throughout the report.
- Try to write clearly (it is harder than you think it is!). Use
simple sentences, and clearly express what you want to say. Each
sentence you write should make sense to you, only then will it make
sense to anyone else.
Submission guidelines You will be required to upload a soft
copy (pdf only) of your writeup on Moodle before the due date. The
filename should be your rollnumber (e.g., 1500001.pdf). All
submissions are individual. Your submission should be under 8 pages.
I'm happy to discuss topics or ideas with you any time during the
semester. Please get in touch if you'd like to talk.
Grading Your report is worth 10% of the grade in the
course. Of this, 5% will be given to presentation, clarity, and
generally good writing. 5% of the grade will be for how extensive your
reading was, how thoroughly you have covered a given topic, and how
insightful your report is.