BYUBRIGHAM YOUNG UNIVERSITY
Computer Science
CS 660 Computer Networks
Archive

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:

I have not ordered any of these books at the bookstore, but you should be able to get these at any major bookstore.

Assignments, Group Work, 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. My current goal is to have you conduct simulations with ns and run an experiment on PlanetLab. I may also have you do a lab with a peer-to-peer file system.

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. We are in the process of obtaining access to PlanetLab; one option is 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.

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.

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:

Quizzes30%
Labs30%
Research Project30%

For each lab and project deadline, you may turn in work up to one week late for a penalty of 10% of the assignment value. You may also turn in this work up until the last day of class for a 20% penalty. Penalty exceptions can only be made in advance of the original deadline and with a medical or other strong personal excuse. You may always turn in partial work if you are not finished and you will be graded on what you have accomplished.

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.