Computer Networks527, Fall 2017, Ivan Beschastnikh (bestchai@cs.ubc.ca) Mon/Wed 1:30-3:00PM, DMP 101, UBC course page Office hours by appointment | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Course descriptionComputer 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 to explore the broad diversity of computer networks through a series of research papers. Each week (2 class sessions) will focus on a particular networking topic. The course will especially emphasize re-occurring challenges and approaches that appear across topics. This course satisfies the PhD "Computer Systems and Design" breadth requirement. Course-level learning goalsThe course will provide an opportunity for students to
FormatThis seminar-style course will be primarily driven through in-class discussion of the readings. The readings are available online and are linked to from the schedule below. Most of the readings are research papers; there is no textbook. The course will also include an open-ended course project (the bulk of your course mark) that must be completed as part of a team. As well, there will be a take-home final exam. If you are in the course, you should start by signing up for the class Piazza instance. We will use this for all class communication.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Schedule (a work in progress)
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Paper responsesFor each of the assigned readings in the schedule above you must compose a 1-2 paragraph response. (The schedule sometimes lists optional readings; you do not need to respond to these). You should post your response on Piazza at least 24 hours before class in the thread with the title/date for the paper. See paper responses instructions for more information. You will have access to all the other students' submissions. Please read them, because reading the other responses is a good way for you to get perspective. You can see what you missed (or what other people missed), and whether you agree with their take on the key ideas. It will help to make the class sessions more productive. The response will be graded using the following scale:
Late responses will not be accepted. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProjectThe project must address a non-trivial problem relevant to networked systems. The project can resolve the problem by building a system, by collecting data/carrying out experiments, by developing algorithms and proving them correct, etc. The project must be done in a team of 3-5 students. Here are some projects ideas (do not limit yourself to these!):
I especially encourage project proposals that span other areas of computer science. Meet and chat with me if you have an idea, or if you have a topic but need to translate it into a project idea. There are four project deliverables:
The project is structured as a series of regularly occurring deadlines, listed in the schedule above and below. Do not miss these! The deadline deliverable must be submitted by email to the instructor by 6PM on the day of the deadline.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Final examDetails TBD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GradingFinal course mark will be based off of:
Note that the project must be a team effort. The team's mark for the proposal and final report is the same for all team members. For project presentations each team member will receive a team mark and an individual mark. The general mark for class participation is based on two factors:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
How to do well in this courseBe 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 response, and then read and carefully consider the responses submitted by your peers. Continue to work on improving your paper reading 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 and be proactive.
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,
etc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Academic honesty and collaboration guidelinesThe department has a detailed policy regarding collaboration and plagiarism. You must familiarize yourself with this policy. Paper responses. Paper responses must be written individually. You are free to discuss the readings with other students, but write your reviews on your own. Cite and attribute points from discussions with other students or external sources that you have read in your review. Projects. You are free to use any code you find in your project. However, a non-trivial fraction of functionality in your prototype/analysis must be constructed by your team. Cite and attribute sources of the code/ideas that you borrow and utilize in your project. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|