527, Fall 2017, Ivan Beschastnikh (firstname.lastname@example.org)
Mon/Wed 1:30-3:00PM, DMP 101, UBC course page
Office hours by appointment
Computer networks and protocols are critically important to modern
life. They range from the small (set of peripherals in a laptop) to
the very large (the world wide web), and are also extremely
diverse. Yet, at their core, all computer networks have similar
challenges, such as addressing and naming the entities in the network.
The focus of this course is TBD.
This course satisfies the PhD "Computer Systems and
Course-level learning goals
This seminar-style course will be primarily driven through in-class
discussion of the readings. Most of the readings will be research
papers; there is no textbook for the course. The course will also
include an open-ended course project that must be completed as part of
a team, and a final take-home exam.
- The discussion in each class will focus on 1-2 papers
- The discussion for each paper is led by two students, an
advocate and a skeptic
- Everyone except for the paper advocate and skeptic writes a review of
each of the assigned papers, due at 9PM the day before class
Advocate and skeptic are in charge of leading the discussion for a
paper. Do not use slides. Instead, give a concise summary of the
reading and pose questions to dig deeper into why the paper was
written, what can we take away from it, how does the paper relate to
the course, why it is or is not the final word on the subject, etc.
Advocate and skeptic need to review any other paper(s) that are
discussed on same day, but they do not need to write a review for the
paper they are leading.
Schedule (a work in progress)
Paper reviews advice
Project proposal advice
A project proposal details the problem, your proposed
approach/solution, and a realistic timeline for your team. The
proposal must be no longer than 5 pages and must include at least the
following sections: introduction/motivation, background, proposed
approach/solution, evaluation methodology, timeline.
- The timeline must include dates and milestones/deliverables. It
must be sufficiently refined to include milestones that are specific
to your project. Do not simply list the deadlines for the course
without listing the internal project deadlines. The timeline is there
to get you to think about your time and to loosely commit to a
- This is a computer networks course, so make sure that your
proposal is focused on issues/challenges/objectives relevant to this
- The bulk of a proposal must be dedicated to design: what will your
system/approach look like, what properties will it have, what features
will it include/omit. Who are the users/clients of your system
(wireless phones, or people, or network routers)? How will clients
interact with your system, etc. This section is more critical than
related work, or introduction/motivation. Writing this section well is
difficult; spend the time to do a good job on it.
- It is important to omit content that is irrelevant to your
proposal. Before including text, consider whether or not it plays a
purpose in explaining your proposed system and its objectives. If not,
then it can probably be cut.
- Consider giving your project/system a name. This way you can
easily refer to it in your proposal.
- Your project can re-use external code/algorithms/ideas that you
find online. Leverage prior work and build on it to avoid re-inventing
the wheel and to get to interesting ideas quicker.
- Make sure to define non-standard/specialized terms, include
examples, and intuition -- anything to help get your ideas
across. This work will pay off in the long term: (1) it will get you
think more deeply about your work, and (2) you can re-used it in the
project write-up and project presentation.
- Make sure there is logical flow to your proposal. Define terms
before you use them, motivate particular perspectives before launching
into details, discuss prior work necessary to understand your proposal
before you rely on it for your descriptions. Your proposal has to be
self-sufficient, with citations to back-up your arguments. However, do
not rely on related work to explain concepts that are critical to your
- Consider including info-graphics/figures to explain your
design. Sometimes it is easier to explain a complex idea with a
picture. Likewise, don't hesitate to include formalism/math to explain
your ideas (though, be careful with including formalism for formalism
sake -- make sure it helps to explain rather than confuse the
- A well thought-out and detailed proposal will only benefit your
group in the long run -- you'll have a more clear idea of what to work
Final report advice
The 10 pages should include title page and appendixes. I prefer that
you style your paper
- Your report should have all of the essential sections that a research paper
- The report may have other, optional sections, that we've seen in research
papers: motivation/design/implications/discussion/future work/etc
- The report must properly motivate the research problem you have attempted
to answer. Spend at least 1-2 pages motivating the problem (just look
at any of the paper we have read this term). You should do this in the
introduction, though many papers also have a separate "motivation"
section or similar to motivate/introduce the problem in more
- The report must motivate/introduce a problem that you actually solve. Make
sure you are not motivating a different problem than what you solved
(a common mistake). It helps to connect the problem to a broader
context from the very start (see last bullet below).
- You must somehow argue that you have solved the problem. There are
many ways to do this. If your problem was algorithmic/theoretical then
you may have a proof. If your problem was empirical (e.g., what
fraction of traffic on campus is due to BitTorrent) then you should
have measurement study/results. If your problem requires a new system,
then you should have built a system and demonstrated that it is the
right system. Etc.
- Any empirical evaluation results must have a proper methodology to
introduce the results. What was the goal of the evaluation? How did
you translate the research question into evaluation questions -- why
did you measure what you measured? How did you select the subject
programs/networks/people/devices/etc and why? Typically, the more
information you provide to describe the experiments, the better. But,
it requires careful judgment to report just the important
- You must have some related work. The project for this class does
not need to be a novel research project. But, it helps to position
your work in the context of existing research. What is the closest
work to your project? How is your work different? I don't expect you
to do an exhaustive literature survey, but I would like to see at
least half a page of related work discussion. Aim for maximum a page
of related work.
- I recommend that you find 1-2 papers that we read that tackle a
similar problem or use similar methodology. Then, consider how these
papers structured the motivation and the presentation of the
solution/argument. Don't hesitate to adopt/copy their
- A good project report usually, at some point, takes a step back
from the low-level details of the work and considers the broader
context. It would be great if you can do this in your work. Show me
that you can think more broadly, beyond your project and that you can
identify implications of your work for other networking
technologies/contexts/problems. Think of it this way: if the reader is
generally interested in networks and not in the concrete problem that
you solved, then what can they take away from your work? Typically
this kind of discussion starts in the introduction, may appear in
brief snippets throughout the paper (to connect the low-level details
to a larger focus), and then picks up again in the discussion or the
Final presentation advice
How to do well in this course
Be prepared to participate in in-class discussion.
This is a
seminar-style course, which means that most of the class time
will be devoted to discussion. The best way to prepare for class is to
read the assigned paper(s), write a thoughtful review, and then read
and carefully consider the reviews submitted by your
peers. Periodically re-read the readings from the first day of class
and work to improve your paper reading and reviewing abilities.
Plan you reading time. The readings will likely challenge
you. I recommend allocating an explicit time slot each week for
reading the papers and for thinking about the papers. Note that
some readings will be more difficult than others. Jump ahead and note
the readings that are particularly long, theoretical, or may be
especially challenging to you.
Invest time into the project. Do not underestimate the importance of a
thorough (and interesting!) project proposal. Proposal write-ups that
are vague or are incomplete will not be accepted. Put in consistent
and weekly effort into the project. Rehearse and polish your
presentation, and make sure your final report is well-written and
conveys its ideas clearly.
Reach out for success.
There are no explicit office hours for this course. Email and schedule
a time to meet with the instructor to discuss the course, the project,
University students often encounter setbacks from time to time that
can impact academic performance. Discuss your situation with your
instructor or an academic advisor. Learn about how you can plan for
success at: www.students.ubc.ca. For help addressing mental or
physical health concerns, including seeing a UBC counselor or doctor,
Academic honesty and collaboration guidelines
The department has a detailed policy
and plagiarism. You must familiarize yourself with this policy.