Download syllabus as a pdf file

Class webpage and communication

Note: We will be using Blackboard for communication for this class.


Course textbook

Course Description and Learning Outcomes

CS428/528 is an introductory course to computer networks with emphasis on the Internet. The course aims not only to teach what computer networks are and how they work, but also why they are designed the way they are and how they are likely to evolve in the future. We will draw on examples primarily from the Internet. The class covers core networking including physical communication, directly connected networks, switching, routing and internetworking, transport protocol, addressing and naming, and applications. We will also explore some emerging topics such as mobile networks and security. To make issues more concrete, the class includes several projects requiring significant design and implementation. For several topics, the graduate students will be asked to dig deeper by reading research papers.


Upon the successful completion of this course, students will:

Topic Coverage

The following provides an outline to the material covered. See course schedule for more detailed breakdown:

Assignments, Projects and Exams

Exam Dates will be announced tentatively on the course schedule page and confirmed ahead of time. No alternative make up exam will be given without a valid medical excuse.

Getting help from instructors and TA

During instructor's office hours, students can stop in any time without an appointment. Any other time, please call or email the instructor to make an appointment at some other mutually convenient time.

Please come to us early if you feel you are having trouble keeping up. If you do your part (put in the effort, start early on assignment, come to class), we will do our best to help you stay on top.

Grade Breakdown

Grades will be weighted as follows:

Component Weight
Projects (3-4) 30%
Homework (4-5) 20%
Exams (2) 25%
Final Exam 20%
Class Participation 5%
Final Grades will be relative to the rest of the class (428 and 528 independently, each to their peer group). We will find a way to make your best work have a higher weight in determining your grade than your worst work.

Academic Integrity

Academic integrity is fundamentally about ethical behavior. Appropriate collaboration and research of previous work is an important part of the learning process. However, not all collaboration or use of existing work is ethical. The overarching principles which should guide you when determining whether or not it is appropriate to use a source or collaborate with a classmate involve answering these questions:

If you are at all uncertain about an action, whether it be working with another student, researching existing code, or something else, you are always welcome to ask the instructor for clarification.

The severity of sanctions imposed for an academic integrity violation will depend on the severity of the transgression and ascertained intent of the student. Penalties may range from failing the assignment to failing the course.