Yan WANG'S WEBSITE

Je pense, donc je suis…


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
Email: TBD


Important Dates:

  • 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.

Course Schedule:

Lecture Slides Topic Reading
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/29 lec02-physical-part1 Physical Layer Chapter2
1/31 lec02-physical-part2 Physical Layer Chapter2
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.)  
3/28 lec08-routing
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
4/25 lec12-applications Network Applications Chapter9
4/30 lec12-applications Network Applications Chapter9
5/2 lec13-security Network Security Chapter8
5/7 lec13-security Network Security Chapter8
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

Grading:

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.

 


 
Yan Wang, 2015. All rights reserved.