EECS 325 is a senior level course on computer networks. The goal of the course is to teach the fundamental concepts and principles in today's networks. The course involves various aspects of computer networking, with emphasis on (1) application layer protocols such as HTTP and FTP, (2) TCP and congestion control, (3) routing and IP, and (4) link layer access protocols. Students are expected to attend the class, work on written homework assignments and programming projects. EECS 425 is a graduate level course taught together with EECS 325. A small number of graduate students should register for EECS 425. Students should also attend the the class, work on homework assignments and programming projects. In addition, they are required to work on an extra project and read technical materials with more research merit.
EECS 337 and EECS 340 (or their equivalents) are required. C/C++/Java programming experiences are also required. Knowledge in mathematics and statistics would be very helpful.
Required: Computer Networking, A Top-Down Approach Featuring the Internet, Second Edition, by James F. Kurose and Keith W. Ross, 2002.
Optional: Computer Networks - A Systems Approach, Third Edition by Larry L. Peterson and Bruce S. Davie, Morgan Kaufmann, 2003
Instructor: Shudong Jin (Email:, Office hours: MW 4:00-5:00pm, Office: Glennan 514B)
Lecture time: MWF 3:00-3:50pm
Location: Olin 313
TA: Danielle Liu (2/3 gradings) and Adam Troy (1/3 gradings)
Lectures will be given three times a week. Students are expected to attend all lectures. Classes missed for any cause other than illness may not be made up.Written homework assignments are given during some lectures. There will be about seven homework assignments. Written answers are preferable, though email submissions are acceptable (acceptable format of electronic submissions include PostScript and PDF). Each assignment is typically due in two weeks, and then solutions will be posted about 5 days later. A late submission (within 5 days) will still be graded, but the student will only receive partial credits. The percentage decreases linearly with time, 10% a day.
There will be two or three programming projects. The students will have about one month to finish each project. If collaboration is initiated between two students (never more than 2 students), then the students should talk to the instructor. Programming projects will be submitted in electronic format, and it should include both commented source code (C/C++/Java) as well as documents describing the implementation details and results. The projects will be evaluated based on correctness, completeness, neatness, and its documentation.
There are one midterm exam and one final exam. The shorter in-class midterm will cover all topics discussed in the first half, while the three-hour final exam will emphasize the topics covered in the second half. Exams will be in written format.
Written homework: 30%
Programming project: 20%
Midterm exam: 15%
Final exam: 35%
For some lectures, I will modify the slides provided by the authors of the K&R textbook. They will be posted after the lecture. For other lectures, no slides will be used. The link (to each assignment) can be followed at the time of the assignment.