CS 428/528 Computer Networks (Spring 2019)
Syllabus: Download the pdf
Lecture Hours: Tuesday & Thursday 6:00 PM - 7:25 PM
Lecture Classroom: CW 112
Class Website: https://www.cs.binghamton.edu/~yanwang/courses/cs428_528.html
Office hours: by appointment @ P12
Teaching Assistant: TBD
Offic room: P17
Office hours: TBD
- First class: January 22th
- Last class: May 9th
- Midterm: March 26th (in-class)
- Final: TBD
Required Textbook: Larry Peterson and Bruce Davie, Computer Networks: A Systems Approach, fifth edition, Morgan Kaufmann Publishers Inc., 2011.
Course Objective: The course is designed to let students demonstrate an understanding of the protocols and applications of the Internet. Additionally, to demonstrate a basic understanding of performance analysis for computer networking and illustrate fundamental understanding of networking by programming portions of the entire network stack.
|1/22||lec00-preamble, lec01-intro||Introduction to Communication and Networking (1)||Chapter1|
|1/24||lec01-intro||Introduction to Communication and Networking (2)||Chapter 1, Tutorial on socket programming|
|1/30||lec03-dll||Data Link Layer (1): Framing and Error Control||Chapter2|
|2/5||lec03-dll||Data Link Layer (1): Framing and Error Control||Chapter2|
|2/7||lec04-dll||Data Link Layer (2): Sliding Window Protocols||Chapter2|
|2/12||lec04-dll||Data Link Layer (2): Sliding Window Protocols||Chapter2|
|2/14||lec05-dll-part1||Data Link Layer (3): Media Access Control||Chapter2|
|2/19||lec05-dll-part1||Data Link Layer (3): Media Access Control||Chapter2, Beej's Guide to Network Programming|
|2/21||lec05-dll-part1||Data Link Layer (3): Media Access Control||Chapter2|
|2/26||lec06-dll||Data Link Layer (4): Hubs, Briges, and Switches||Chapter3|
|2/28||lec07-net-part1||Network Layer (1)||Chapter3|
|3/5||lec07-net-part1||Network Layer (1)||Chapter3|
|3/7||lec07-net-part1||Network Layer (1)||Chapter3|
|3/12||lec07-net-part1||Network Layer (1)||Chapter3|
|3/14||Midterm review||Midterm review|
|3/26||Midterm||Midterm Exam (Bring a calculator. One page one-sided letter-sized summary sheet is allowed.)|
||Network Layer (2): Routing||Chapter4
|4/2||lec09-mobileIP||Network Layer (3): Mobile IP||Chapter4|
|4/4||lec10-transport||Network Layer (3): Multicast||Chapter4|
|4/9||lec10-transport||Network Layer (3): Multicast||Chapter4|
|4/11||lec11-congestion||Transport Layer (1)||Chapter6|
|4/16||lec11-congestion||Transport Layer (1)||Chapter6|
|4/18||lec11-congestion||Transport Layer (2): Congestion Control and Avoidance||Chapter6|
|4/23||lec11-congestion||Transport Layer (2): Congestion Control and Avoidance||Chapter6,9|
|5/9||Final review||Final review|
|TBD||Final Exam (Tentative. Bring a calculator. One page one-sided letter-sized summary sheet is allowed.)||Final Exam Schedule|
Your final grade for the course will be based on the following weights for the individual assignments:
- 20% Project 1, 20% Project 2, 15% Quiz, 20% Midterm, 25% Final Exam
A 10-minute open-book quiz containing two to three questions will be taken at the beginning of each lecture. Each quiz will cover all the material taught in the last lecture. Computer is not allowed; but printouts and books are allowed. There is no make-up for quiz if you miss it.
The midterm will be an in-class, closed-book exam, covering all material up to that point in the course. The final exam will be a closed-book exam, covering material from the whole year, with emphasis on the second half of the course. One-page cheat sheet is allowed in both exams.
Project 1 will focus on the implementation of an IRC-like chat server, focusing first on ensuring familiarity with socket programming. Project 2 will focus on file transfers and the protocol components necessary for efficient and reliable file transfer (retransmission, congestion control, caching, etc.) All projects are to be done in groups of two students. Note that:
NO credit if your project does not compile. Make sure your program compiles on the TA's computer and runs correctly.
Unless under prearranged conditions, late projects will be accepted up to one day after the deadline with a penalty of 10% of the project.
Programs must be written in C in Linux.
Be clear and neat in your write-ups. Readability of the programs and solutions is as necessary as correctness. Expect to lose points if you provide a badly written and unclear "correct" solution.
Because of the importance of understanding both the theoretical and hands-on elements of networking, students must pass all three components of the course (quizes, exams, and the projects) in order to receive a passing grade for the course. This does not affect the actual letter grade assignment unless one of the components is not completed to a passing standard.