Syllabus
Course Description and Goals
This graduate course explores advanced topics in computer networks, focusing on fundamental research being conducted to improve the Internet. Topics include congestion control, routing, Quality of Service, Internet measurements, peer-to-peer networking, and wireless networking.
The objectives of this course are to:- help students to understand a broad set of Internet research topics,
- help students to acquire expertise in selected Internet research areas through research projects,
- enable students to be ready to conduct Internet research, and
- help students to strengthen their ability to conduct independent and original research, including formulating research questions, studying related work, formulating solutions, collecting and analyzing data, and presenting research results.
You must have taken CS 460 Computer Communications and Networking, or its equivalent, prior to this course.
Materials
We will use a set of research papers, which will be available for download and/or printing from the class web site. We will read and discuss 2-4 papers a week, with an emphasis on helping each student to understand the strengths and the weaknesses of each paper. Students are expected to have read assigned papers before class. Class time will be a mixture of lectures and discussion of the paper. Students should be prepared to think about unexplored areas related to each of the papers and propose possible research topics.
For the programming portion of the class you may need reference material for various programming languages, depending on your prior background and the type of project you do. Regardless of the project, you will be most successful if you use a scripting language to process your data and generate plots. Here are the Python, C++, and Tcl books that I recommend:
- Dive Into Python
- How to Think Like a Computer Scientist: Learning with Python
- Practical C++ Programming, 2nd Edition, by Steve Oualline, O'Reilly & Associates, December 2002, ISBN 0-596-00419-2.
- Tcl and the Tk Toolkit, J. K. Ousterhout, Addison-Wesley, 1994, ISBN 0-201-63337-X.
I have not ordered any of these books at the bookstore, but you should be able to get these at any major bookstore.
Assignments and Grading Policy
The assignments for this class will consist of quizzes, several labs, and a research project.
The objective of the quizzes is to test your comprehension of the reading material. They will be given during a regular class period and will consist of a set of questions, each of which you can answer with 1 or 2 paragraphs.
The objective of the labs is to help you to gain familiarity with some of the tools available to the research community. One lab will involve running an experiment on PlanetLab and another will have you conduct simulations with the ns-2 simulator.
The objective of the research project to help you conduct a small Internet research project of your own design. To begin doing a research project, you must write a research proposal and present your idea to the class. The proposal must address an open research question in networking and must have some evaluation component. One option is to use simulation; you will have your choice of several simulation environments. Another option is to perform measurements on an existing peer-to-peer application, such as Gnutella or FreeNet. Finally, you may use PlanetLab to build and measure your own distributed application. Once your project is approved, you will implement the project (write the simulation or application code), run experiments, collect and analyze data, and document your results. Throughout your research process you will need to keep a detailed notebook of your progress. At the completion of your project you will turn in a research report in the style of a formal research paper.
Grading
Grading will be based on an scale of 0 to 100, with standard letter grades assigned. Your final grade will be computed by weighting the assignments as follows:
| Quizzes | 30% |
| Labs | 30% |
| Research Project | 30% |
Late Policy
Labs are due on the day indicated. To accommodate difficulties in your schedule, each student has a budget of 7 free late days. You may use these late days for any of the labs; Sundays and university holidays do not count against you. No labs will be accepted unless they are turned in on time or you have enough late days remaining in your budget. You may always turn in partial work if you are not finished and you will be graded on what you have accomplished. No work can be turned in after the university's last day of instruction.
Quizzes must be taken on the scheduled day. Non-medical exceptions (e.g. traveling to a job interview) can only be made in advance. Other exceptions can only be made with a medical excuse.
Collaboration Policy
You are encourage to work in teams of two or three students on the labs and research project. If you work in a team, each student is expected to participate fully in all activities of the project. While every project must be of high quality to earn an A, I will expect teams to accomplish more than those working alone.
Exams must of course be completed completely on your own, and no materials or notes are allowed during the exam.
Educational Policies
Honor Code Standards
In keeping with the principles of the BYU Honor Code, students are expected to be honest in all of their academic work. Academic honesty means, most fundamentally, that any work you present as your own must in fact be your own work and not that of another. Violations of this principle may result in a failing grade in the course and additional disciplinary action by the university.
For this course, some assignments are categorized as group work. For these assignments, you may form a group that works together to produce one solution. Any assignment not categorized as group work must be done individually. You are encouraged to generally discuss problems with other groups or students, but you may never use some other group's or student's solution or code in any way. The use of sources (ideas, quotations, paraphrases) must be properly acknowledged and documented.
Policy on Harassment
Harassment of any kind is inappropriate at BYU. Specifically, BYU's policy against sexual harassment extends not only to employees of the university but to students as well. If you encounter sexual harassment, gender-based discrimination, or other inappropriate behavior, please talk to your professor, contact the Equal Employment Office at 422-5895 or 367-5689, or contact the Honor Code Office at 422-2847.
Policy on Disabilities
BYU is committed to providing reasonable accommodation to qualified persons with disabilities. If you have any disability that may adversely affect your success in this course, please contact the University Accessibility Center at 422-2767. Services deemed appropriate will be coordinated with the student and instructor by that office.
