Computer Networks

Class Information

Class Information

Professor:Cristina Nita-Rotaru
Time:TF 9:50-11:30am
Office Hours:Tu 11:30 - 1:30pm (after class) or by appointment.
TA Email: available on piazza
Class Forum:On Piazza
Paper List:Click here
Syllabus:Click here

Course Description

Computer networking is a rapidly advancing field, and the Internet is already an integral part of society. It is therefore important for computer scientists and computer engineers to be familiar with the fundamentals of computer networking. This course will focus on the architecture, algorithms, and protocols of the Internet. Topics include local area networking, routing, congestion control, network security, and applications such as peer-to-peer and content distribution networks. This course will be systems oriented, and students will work on hands-on projects to learn how to build and understand Internet applications.


The official prerequisites for this course are CS 3650 and 3700 (or equivalents). This course is systems oriented, students are expected to understand the basics of computer architecture and operating systems, and to have experience implementing non-trivial systems-type projects. Basic knowledge of the Unix command line, write code using emacs/vim, write a makefile, compile/debug code, check for running processes, kill runaway processes, and create compressed archives are also expected.

All projects will be in C.

  • Lectures for the undergraduate introduction to C course I taught at Purdue: [www]
  • Socket programming: [www]
  • Unix programming links: [www]

The grade will be based on several written homework assignments (HW), three programming projects (PP), one midterm (MT), and final exam (FE). as follows:
Grade = 15%*HW + 40%*PP + 20%*MT + 25*FE.
The focus of this course will be on lectures, in-class exercises and reading important papers from the networking research community. While the class does not require any textbook, one may be useful if you are not totally comfortable with network fundamentals.
  • Official textbook: Computer Networks: A Systems Approach, 4th Edition by Larry Peterson and Bruce Davie, Morgan Kaufmann.
  • There is also a supplement: TCP/IP Sockets in C by Jeff Donahoo and Ken Calvert, Morgan Kaufmann.
  • Recommended, for reference: Computer Networking: A Top-Down Approach Featuring the Internet. by Jim Kurose and Keith Ross, Addison-Wesley.

Other references:

Academic Integrity

Academic Honesty and Ethical behavior are required in this course, as it is in all courses at Northeastern University (here is the guide for academic integrity). There is zero tolerance to cheating.

You are encouraged to talk with the professor about any questions you have about what is permitted on any particular assignment.


Lecture slides will be posted below. Homework and projects will be handed in class and/or posted on piazza. All class communication will take place on piazza. Homework and projects are assigned on Tuesdays and are due on Mondays by 10PM.

Week Topics Homework Project
1 (Sept. 6) First class on Sept. 8.
2 (Sept. 11) Architecture.
Physical layer.
3 (Sept. 18) Data link layer.
4 (Sept. 25) Network layer
5 (Oct. 2) Intra-domain
6 (Oct. 9) Transport layer.
Congestion control
7 (Oct. 16) DNS.
Midterm review Oct. 20.
8 (Oct. 23) Midterm exam Oct. 24.
9 (Oct. 30) CDN.
P2P .
Other overlays.
10 (Nov. 6) DCN architectures and protocols
11 (Nov. 13) TLS. Anonymity.
12 (Nov. 20) SDNs
No class on Friday, Thanksgiving break.
13 (Nov. 27) Mobile networks
Final review, Dec. 1.
14 (Dec. 4) Final exam on Dec. 4.

Copyright© 2015 Cristina Nita-Rotaru. Send your comments and questions to Cristina Nita-Rotaru