University of Minnesota
CSCI4211: Introduction to Computer Networks

CSCI 4211: Introduction to Computer Networks

                                                       Venue: Tate Hall 105   

                                                       Time: M/W 2:30pm -- 3:45pm

Class Information & Syllabus


Professor Zhi-Li Zhang
Phone: 612-625-6568/612-625-5329

Office: DTC 489 (Walter Library 4th floor)
Office Hours:  4:00pm -- 5:00pm Monday & 1pm to 2pm Friday (updated!)

Office Hour Venue: DTC 489 or DTC atrium (Walter Library 4th floor)
  (Please ask DTC receptionist to get you in or call using the phone outside)

Teaching Assistants

Jason Carpenter  (50% TA)
Office: DTC 487
Office hour: 11am -- 12pm Tuesday & 10am -- 11am Thursday
Venue: Keller Hall Room (2-209)

Tim Salos  (50% TA)
Office: DTC 484
Office hours: 4pm -- 5pm Tuesday  &  1pm -- 2pm Friday
Venue: Keller Hall Room (2-209)

Ziyan Wu (25% TA)
Office: DTC 484
Office hours: 1pm -- 2pm Monday
Venue: Keller Hall Room (2-209)

Course Description:

This course provides an introduction to fundamental concepts in the design and implementation of computer communication networks, their protocols, and applications. Topics to be covered include: layered network architectures, applications, network programming interfaces (e.g., sockets), transport, data link protocols, local area networks and network routing, wireless and mobile networks and emerging software-defined networking.  Examples will be drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite. This course is targeted primarily to undergraduate students.


  • Required: ``Computer Networking: A Top-Down Approach,"  by Jim Kurose and Keith Ross, Pearson, 7th edition.

  • Recommended References:
    • "Mastering Networks,  An Internet Lab Manual" by Jorg Liebeherr and Magda El Zarki, Addison Wesley, 2010 (for students who want to learn more "hands-on" networking)
    • ``Computer Networks,''  by Andrew S. Tanenbaum, Prentice Hall, 4th edition, 2001


A rudimentary understanding of computer architecture and operating systems, while not required, would be helpful. There will be 4 programming projects. You need a computer account at the CSE computer labs for the projects.

Coursework and Evaluation:

The grading system for this course is A-F (with +/-).

  • Two written homework assignments: (20%)
  • Four programming projects:  (35%) 
  • Two take-home quizzes: Quiz I (10%), Quiz II (10%)
  • One Final Exam: (25%)

NOTE: in order to pass the course, a student must have a passing grade (e.g., 60 out of 100) on at least one of the take-home quizzes  AND on the final exam.  Otherwise, you will not be able to pass the course.


Please see "Important Dates" for the timing of assignments, projects, quizzes and final exam. You are encouraged to discuss the course materials with other students, form study groups, and learn together. However, the written assignments, individual programming assignments, take-home quizzes and final exam must be completed on your own (see the section on "Scholastic Conduct" below).

Submission Policy

Homework assignments and program code and reports must be submitted on-line via the course canvas site by the specified due date and time, see "Important Dates" where we also document the policies regarding late homework/project assignments and handing hard-copies of your homework assignments/quizzes. Program code and reports must also be submitted online.

If you have questions regarding the grading of your homework assignments, projects or exams, you must come to see either one of the instructors or the TA within two weeks after the date your homework assignments, projects or exams have been returned to you. If you cannot see us within two weeks, you need to email us within two weeks and make an appointment. If you believe that your homework assignments, projects or exams  have been lost, please notify us as soon as possible (within two weeks). We are not responsible for missing homework assignments, programming assignments or exams two weeks after they have been returned.

Incomplete Policy

Incomplete will in general not be given. These options will be considered only when a provably serious family or personal emergency arises, proof is presented, and the student has already completed all but a small portion of the work. (According to the CSE Bulletin an incomplete should be given "only when a student has completed all but a small portion of the work of a course and has made prior arrangements with the instructor to make up the work".) The Department of  Computer Science and Engineering requires students who request an "I" to fill out the "Agreement for Completion of Incomplete Work" form. Make-up exams will only be given to those students who have legitimate reasons such as conflict of finals and other provably serious family or personal emergency. Students who need make-up exams are encouraged to notify the instructor as early as possible (preferably two weeks earlier) so that appropriate accommodations can be arranged.

Scholastic Conduct

Scholastic conduct must be acceptable. Please refer to the University of Minnesota Board of Regent's Student Conduct Code,  SECTION VI, Subd.1. regarding what constitutes "Scholastic  Dishonesty." Specifically,  you must do your homework assignments, individual projects, quizzes and final exam by yourself, on your own. You may discuss the assignments with other students and use any reference material, provided that you do not copy any other persons' work. For group projects, each group must completely their own project independently, and each team member must contribute his/her own fair share to the group project.  For the take-home quizzes, you are not allowed to discuss with other students, and you must complete the quizzes by yourself.  The final exam will be in-class, open-book, open-notes and "open-Internet" (e.g., you can look up definitions in the textbook, printed lecture notes or on-line, and refresh yourself with specifics of some protocols or algorithms). However, the exam must be done individually (in particular, you are not allowed to email, IM or chat with anyone to get help on your exam). For the written assignments, programming projects, quizzes and exam, if you find answers from the Internet, or get help from others (in the case of written assignments and programming projects only --- you are not allowed to get help from others when doing take-home quizzes and in-class exam), please cite your sources!

Important: If you have not done so yet, please make sure that you read and are familiar with the University of Minnesota Board of Regent's Student Conduct Code, FAQs  for students about student conduct and academic integrity provided by Office for Student Conduct and Academic Integrity (OSCAI). Please also read the Dept. of CSE's Departmental Guidelines for Academic Conduct for CSCI Students, and if you are using a CSE account for course projects, etc., please also read the CSE Lab Acceptable Use Policy. You are responsible to know, and must observe, these policies regarding scholastic conduct. Please note that per the university policy, the instructors/TAs are required to report such incidents when scholastic dishonesty is suspected, not when it is encountered and confirmed. That you did not know the policies regarding the scholastic conduct cannot be a reason for lenient treatment.

Diversity and Collegiality

The diversity of your experience and ways of approaching our topic enrich this course. The perspectives and values of students, who may come from various ethnic, cultural, social class, and national backgrounds (among others) shape our discussions.  The instructor strives to balance exploration of these various perspectives with the need to meet our basic course goals within the semester.  You are encouraged to continue discussions outside of class if we cannot devote class time to all the ideas raised by students. 


In the unfortunate event that a student behaves in a disruptive manner to either the instructor or to other students, the disruptive student will be asked to leave.  Students whose behavior suggests the need for counseling or other assistance may be referred to their college office or University Counseling and Consulting Services.  Students whose behavior may violate the University Student Conduct Code may be referred to the Office of Student Judicial Affairs.  Every attempt will be made to negotiate any conflict in the most direct and respectful manner.


Sexual Harassment

University policy prohibits sexual harassment as defined in the University Policy Statement, revised on Jan 1, 2018. Complaints about sexual harassment should be reported to the University Office of Equal Opportunity, 234 Morrill Hall, East Bank.


Accommodations for Students With Disabilities:

University policy is to provide, on a flexible and individualized basis, reasonable accommodations to students who have documented disability conditions (e.g., physical, learning, psychiatric, vision, hearing, or systemic) that may affect their ability to participate in course activities or to meet course requirements.  Students with disabilities are encouraged to contact Disability Services and their instructors to discuss individual needs for accommodations.  Disability Services, McNamara Alumni Center, Suite 180, 200 Oak Street, East Bank.  Staff can be reached at or by calling (612) 626-1333 (voice or TTY).