This course introduces fundamental concepts of computer networks. Lectures provide an introduction to the whole network procotol stack, presented in a way that is accessible for students with only a computer systems background, discuss protocol standards, and existing technologies. Topics include OSI, TCP/IP and knowledge of each layer, Network Applications, Network Security, Multimedia and Advanced Technologies.
The goal is for students to learn the basic concepts in computer network, gain an understanding of technologies in today's network environment and advanced technologies.
This course assumes you have taken an “Introduction to Computer Systems” course(For example based on the O’Hallaron and Bryant book).
For programming experience, you need to have knowledge in C/C++ programming for the project.
Name | Office | |
---|---|---|
Chenren Xu | chenren AT pku DOT edu DOT cn | Science Building No.5 515S |
Name | Office | |
---|---|---|
Jing Wang | jing.wang AT pku DOT edu DOT cn | Science Building No.5 517 |
Shuang Jiang | js_eecs AT pku DOT edu DOT cn | Science Building No.5 517 |
You must complete individual assignments and tests by yourself. And you must collaborate with your partner in the team-based project and labs.
It is acceptable and encouraged to help fellow students with generic problems(e.g. where to find documentation, use of tools...).
Everyone of you need to provide proper credit when reusing material.
The Peking University Policy on Integrity applies. We will strictly follow university policy on reporting cases of cheating.
The required textbook for the course is Computer Networks (5th Edition), by Andrew Tanenbaum and David Wetherall, Prentice Hall. This will not cover all the material in the book, but slides are detailed.
Another textbook that you can use as a substitute is Computer Networking: A Top-Down Approach (6th Edition), by Jim Kurose and Keith Ross, Addison Wesley.
For the programming projects, please see Dave's Notes on Software Engineering for Systems Hackers.
There are a few recommended texts which are useful references (especially if networking becomes your career).
Finally, if you have not taken an "Introduction to Computer System" course, you may find this textbook useful as a gentle, software-focused introduction to computer architecture.
Your final grade for the course will be based on the following weights for the individual assignments:
Take the project deadlines seriously. You can extend the deadlines with a 20% penalty per day. Note that any submissions will NOT be accepted 48 hours after the due date.
Date | Instructor | Topics | Notes | |
---|---|---|---|---|
Mon 09/12 | Chenren Xu | Overview |
Project out Handout: Overview Readings: E2Earg, DARPNet |
|
Mon 09/19 | Chenren Xu | Network App |
Handout: App Readings: CAN, Chord |
|
Thu 09/22 | Chenren Xu | Network App |
||
Mon 09/26 | Chenren Xu | Network App |
Project meeting | |
Mon 10/10 | Chenren Xu | PHY and Wireless |
Lab 1 out Handout: PHY Readings: 802.11 MIMO |
|
Mon 10/17 | Chenren Xu | PHY and Wireless |
||
Thu 10/20 | Chenren Xu | PHY and Wireless |
||
Mon 10/24 | Chenren Xu | (W)LAN and Link Tech |
Quiz 1 Handout: LinkTech Readings: RoofNet |
|
Mon 10/31 | Chenren Xu | (W)LAN and Link Tech |
Project proposal due | |
Thu 11/03 | Chenren Xu | (W)LAN and Link Tech |
Lab 1 due, Lab 2 out | |
Mon 11/07 | Chenren Xu | (W)LAN and Link Tech |
Quiz 2 | |
Mon 11/14 | Chenren Xu | Internetworking |
Handout: Internetworking Readings: DCNets |
|
Thu 11/17 | Chenren Xu | Internetworking |
||
Mon 11/21 | Chenren Xu | Internetworking |
||
Mon 11/28 | Chenren Xu | End-to-end Transport |
Handout: Transport Quiz 3 Readings: DCTCP, MPTCP, WirelessTCP |
|
Thu 12/01 | Chenren Xu | End-to-end Transport |
||
Mon 12/05 | Chenren Xu | End-to-end Transport |
Lab 3 out | |
Mon 12/12 | Chenren Xu | Midterm |
Lab2 due | |
Thu 12/15 | Chenren Xu | Network Security |
Handout: NetSec Readings: Tor, APIP |
|
Mon 12/19 | Chenren Xu | Multimedia Networking |
Readings: CongestionManager, QoE | |
Mon 12/26 | Chenren Xu | Emerging Tech |
Quiz 4 Readings: SDN, OpenFlow, Internet@C |
|
Thu 12/29 | Chenren Xu | Project Presentation |
Lab 3 due |
Assignment | Assigned | Due | Notes |
---|---|---|---|
Project Proposal | 2016/09/12 | 2016/10/31 | Proposal Format, Template |
Quiz 1 | 2016/10/24 | ||
Quiz 2 | 2016/11/07 | ||
Quiz 3 | 2016/11/28 | ||
Midterm | 2016/12/12 | In class | |
Quiz 4 | 2016/12/26 | ||
Project Presentation | 2016/12/29 | In class | |
Project Report | 2017/01/20 | Poster Example, Template |
The due time is before 23:59 PM of that day. For the research project, please send your submissions to js_eecs@pku.edu.cn.
There will be one research project and four quizzes in class.
All quizzes are to be done individually. The project will be done in groups of 2 or 3 people. This is an opportunity to experience the joys and frustrations of working with others. It's a skill you only get better at with practice.
In the 04832250 course, you will be expected to learn and practice good software engineering, as well as demonstrate mastery of the networking concepts. Both partners in a project group will need to fully understand the project and your solution in order to do well on those exam questions relating to the labs and projects. For example, a typical question might be: "When you implemented X, you came across a particular situation Y that required some care. Explain why this simple solution Z doesn't work and describe how you solved it." We'll pick questions such that it will take some effort to figure out Y. If you didn't take the time to work the problem yourself and just relied on your partner, you won't have enough time during the test to figure it out. Be careful, the insights you'll need will come only from actually solving the problem as opposed to just seeing the solution.
A key objective of 04832250 is to provide a significant experience with system programming, where you must write programs that are robust and that must integrate with a large, installed software base. Oftentimes, these programs are the ones that other people will build upon or use as tools. Systems programming is very different from the application program development you have done in earlier courses:
We'll go into more details about each of these points during the recitation sections. But keep in mind: the programming assignments in 04832250 are larger and more open-ended than in other courses. Doing a good job on the project requires more than just producing code that runs: it should have a good overall organization, be well implemented and documented, and be thoroughly tested.
This is the image of the orginal website by the course instructors, and if you want to get more original info, please visit :
http://soar.pku.edu.cn/CompNets/Fall16/index.html