EECS 340 Introduction to Computer Networking


Yan Chen, Associate Professor
Room L459, Tech Institute, 491-4946.
Office Hours: 1-2pm Wednesday or by appointment, Room L459, Tech Institute.

Teaching Assistants

Xiang Pan
Office Hours: 2:30-4:30pm Thursday or by appointment, Room 2-207, Ford Design Center.

Zhengyang Qu
Office Hours: 3-5pm Tuesday or by appointment, Room 2-207, Ford Design Center.

Location and Time

  • Lectures: Wednesday and Friday 3:30-4:50pm, Tech L361.
  • Recitation: Monday 4-5pm, Tech M345.

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: overview of  network architectures, applications (HTTP, FTP), network programming interfaces (e.g., sockets), transport (TCP, UDP), flow control, congestion control, IP, routing, multicast, data link protocols, error-detection/correction, multiple access, LAN, Ethernet, wireless networks, and network security. Examples will be drawn primarily from the Internet (e.g., TCP, UDP, and IP) protocol suite. Over the course of the quarter, students program in C++ on UNIX systems to build web clients and servers, and a fully compatible TCP/IP stack that can run them.

Course Prerequisites

  • Required: EECS 311 or equivalent data structure course.
  • Required: EECS 213 or (EECS 205 + EECS 231) or equivalent computer systems course.
  • Highly recommended: EECS 343 or equivalent operating systems course.
  • Highly recommended: UNIX programming experience (gcc, gdb, make, etc.)

Course Materials


There will be a midterm and a final exam. Exams will be in-class, closed-book, and will cover materials from lectures, required readings and projects. The final exam will not be cumulative.

  • Class attendance, discussion and quiz 15%
  • Homework 10%
  • Projects 35%
  • Midterm 20%
  • Final 20%


  • Course web site: Check it out regularly for schedule changes, clarifications and corrections to assignments, and other course-related announcements.
  • Recitation, TA will lecture on complementary materials of the lectures, address questions for homework and projects, and help to prepare the exams. We hope it can help students more efficiently than the one-on-one Q&A in office hours.
  • We will use this google email group for announcement, and posting questions and answers.


  • Late policy:
    Unless otherwise indicated, homework and projects are due by the end of lecture on their due date. If you hand in an assignment late, we will take off 10% for each day (or portion thereof) it is late.  Please note this has be done before the solutions is posted or discussed in class, which usually happen on the next day (when it is before the exam) or in a couple of days after the deadline.  If you have an emergency case that prohibit you from completing the assignment on time, please contact the instructor and/or TAs for extensions with approporiate proof. Note that such emergency extension can be given to any student at most once for the whole quarter.
  • Cheating:
    It's OK to ask someone about the concepts, algorithms, or approaches needed to do the project assignments, I encourage you to do so; both giving and taking advice will help you to learn. However, what you turn in must be your own, or for projects, your group's own work; copying other people's code, solution sets, or from any other sources is strictly prohibited. We will punish transgressors severely.  This include the case when you copy the solution from the Internet.