Syllabus
Course Description and Goals
This is an introductory course in networking for undergraduate and beginning graduate students. The goals of this course are:
- to understand the principles of network design, using a top-down approach and focusing on technologies used in the Internet;
- to understand how the Internet works, from the transport layer down to the physical layer;
- to gain hands-on experience with routing and transport protocols, leading to a deeper understanding of these critical Internet components;
- to become more adept at thinking, analyzing, and writing; and
- to seek ways in which we can apply networking technology to enrich lives and assist in spreading the gospel.
Topics this course covers include application-layer networking, transport protocols (TCP and UDP), routing protocols, IP, link-level protocols, wireless networking, and multimedia networking. Along the way we will cover some of the latest research in peer-to-peer networking, multicast communication, and wireless and multimedia networking.
To meet the goals of the course, students will complete written homeworks, programming assignments, and three exams. The homeworks and exams will consist primarily of written questions that ask the students to apply the principles of network design to a given problem. The programming assignments will be designed to provide practical experience in networking by building your own virtual network and its related infrastructure. Additional progamming assignments will use the ns-2 simulator so that you will have the ability to compare a wide variety of network protocols and to run experiments on large networks.
Textbooks
For the lecture material, we will use
Computer Networking: A Top-Down Approach Featuring the Internet, fifth edition, by James F. Kurose and Keith W. Ross, Addison Wesley, 2009, ISBN 0-13-607967-9.
You are welcome to use the fourth edition if you want, though it will be missing some material.
We will do a lot of Python programming in this class. I suggest you learn Python by reading two of the online books that are available:
Both of these books are available for purchase if you prefer a physical copy. I also suggest that you become familiar with the official Python documentation.
Assignments and Grading Policy
The assignments for this class will consist of homework, labs, and exams. Labs must be written in the assigned language and must compile and run on the department's Linux machines.
Grading for homework and exams will be on a scale of 0 to 10 for each problem, with a final score based on the total possible points. A score of 10 indicates your answer is entirely correct (A), and a score of 5 indicates your answer is entirely wrong but you made a reasonable effort (E). Failure to make a reasonable effort to answer a question scores a 0.
Labs will be graded according to a survey and scored by the TA. The survey will be released before each assignment is due, indicating how many points each part of the assignment is worth.
You must receive a passing grade on all labs in order to pass the class.
Your final grade will be computed by weighting all scores as follows:
| Homework | 20% |
| Labs | 40% |
| Exams | 40% |
Late Policy
All homework is due on the day indicated and no late homework is accepted.
Labs are due on the day indicated. To accommodate difficulties in your schedule, you can turn in work late but you will be penalized 5% for every day the assignment is late. Sundays and university holidays do not count against you. To avoid a late penalty, 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.
Exams 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.
Due to concerns about the H1N1 flu, the university would like you to stay home if you have flu symptoms and remain there until 24 hours after you no longer have a fever (without medication to reduce it). Please contact me if you fall in this category and I will allow you to re-schedule assignments without penalty. Please see http://flu.byu.edu/ for details.
Collaboration Policy
All assignments for this class must be completed individually. For homework, you are encouraged to collaborate as much as possible, including discussing solutions and solving problems together, as long as you write up your own answer individually (e.g. do not copy someone else's solution directly). For labs, you are encouraged to discuss solving the labs and any programming problems you encounter generally, but you must write your own code and should not view any other student's code. When producing written work, your use of sources (ideas, quotations, paraphrases) must be properly acknowledged and documented. 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.
Prevening Sexual Harrassment
Title IX of the Education Amendments of 1972 prohibits sex discrimination against any participant in an educational program or activity that receives federal funds. The act is intended to eliminate sex discrimination in education and pertains to admissions, academic and athletic programs, and university-sponsored activities. Title IX also prohibits sexual harassment of students by university employees, other students, and visitors to campus. If you encounter sexual harassment or gender-based discrimination, please talk to your professor; contact the Equal Employment Office at 801-422-5895 or 1-888-238-1062 (24-hours), or http://www.ethicspoint.com; or contact the Honor Code Office at 801-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.
