EE 586 Communication and Switching Networks

Fall 2010


[Home] [Syllabus]



Visit course website at

and the course site in Blackboard.


If you have never used Blackboard, visit to create an account and take the online training as instructed in

Instructor: Dr. Sen-ching Cheung (cheung at



Room 831 VisCenter (257-1257 ext. 80299)

By appointment or try your luck


MWF 10-11am

Blackboard Chatroom

M-F 10-11am

Teaching Assistant: Mengmei Liu (mengmei.liu at



ASTECC A349 (218-6542)

Th 9-10am

Blackboard Chatroom

Th 9-10 am, 7-8 pm


MWF 11:00am-11:50pm (FPAT 263)


Attending lecture is a crucial element of the learning process. While I will make the lecture notes available online through Blackboard, you should make every effort in finishing your readings and coming to every lecture.


Course Description

This course is an introduction of the design and implementation of computer networks. We will focus on the concepts and fundamental design principles that have contributed to the global Internet's scalability and robustness and will study the underlying technologies that have led to the Internet's phenomenal success. They include congestion/flow/error control, routing, addressing, internetworking, packet scheduling and network programming interfaces. We will also cover advanced topics in analytical techniques in multiplexing, switching, and routing as well as the next frontier of internet: the Embedded Internet or the Internet of Things. This course has a strong emphasis on hands-on experience, which includes lab exercises using Wireshark, a packet sniffer, and OPNET, a network simulator, as well as an in-depth project on an IPv6 low-power wireless sensor network.


Expected outcomes of student learning

  1. To understand the layer architecture of networks
  2. To design simple networking applications using sockets
  3. To compare and contrast TCP and UDP transport protocols
  4. To understand basic network routing algorithms
  5. To compare and contrast different Link Layer protocols
  6. To understand the challenges of mobility in wireless, cellular and embedded networks
  7. To use simple analytical models and network simulations in solving problems in admission control, performance guarantees, fairness and utilization.


Your grade will be based on:


Homework and Laboratory Exercises


Two Programming Projects


Open-book weekly quizzes


Midterm 1


Midterm 2



  1. Homework and Laboratory Exercises

-          Homework and lab exercises will be assigned biweekly through the Blackboard site.

-          Extra problems will be assigned to graduate students but undergraduate students are encouraged to work on them as well for extra credits.

-          Each student must do his or her homework. Late homework will not be accepted without prior notice.

  1. Two Programming Projects

-          The first project is a two-person project on using simple socket interface in C/C++ to implement a network application.

-          The second project is a two-person project on implementing a wireless network protocol on a realistic wireless sensor network.

  1. Open-book weekly quizzes

-          All quizzes are open book and notes.

-          No make-up quiz will be given.

  1. Midterms

-          Two closed-book midterms will be given.

-          One double-sided chat sheet is allowed for midterm 1 and two for midterm 2. 

-          Make-up exams will only be given if the student contacts the instructor prior to the exam and receives permission to make up for the test.

  1. Grade Assignment

-          The letter grade assignment is based on the following scale: from 100 to 90 pts => A, from 89 to 80 pts. => B, from 79 to 70 pts => C, from 60 to 69 pts. => D, from 59 to 0 pts. => E.   

6.       Plagiarism

-          I have a zero-tolerance policy for all forms of plagiarism, from copying a homework answer from your friend or solutions from previous terms to cheating in the exams. Not only you will lose all the points for that assignment, the incident will also be reported to the Department Chair who will determine the appropriate disciplinary action.

Required Text

Required Text

Reference Texts

 Computer Networking: A Top-Down Approach (5th Edition)

Kurose and Ross, Computer Networking: A Top-Down Approach Featuring the Internet, fifth edition, Addison Wesley, 2010.

Kumar, Manujunath and Kuri, Communication Networking: An Analytical Approach, Morgan Kaufmann, 2004.

Shelby and Bormann, 6LoWPAN: The Wireless Embedded Internet, Wiley, 2010.

Public-domain Software Required:

1.       Wireshark Packet Sniffer:

2.       OPNET IT Guru (registration required):

3.       Instant Contiki:


The first two software packages are needed for your laboratory exercises – the Wireshark Packet Sniffer will be used to monitor and examine packets in a real network. You will use it to study and understand the inner workings of various Internet protocols. OPNET is a network-simulator that allows you to design and simulate protocols and to study the impact of your design on a network. The third package, Contiki, is an embedded operating system that supports the latest IPv6 over low-power wireless area networks (6LoWPAN). We will use the Instant Contiki environment to design and implement a protocol to collect data from and actuate a wireless network of sensor nodes.


1.       CS 115 or a good working knowledge of C and C++

-          A quick introduction to C Programming by Lewis Girod :

-          Programming in C – A Tutorial by Brian Kernighan:

2.       MA 320 or proficiency in basic discrete probability

-          Probability Review by Randall Berry:

3.       EE 421 or good knowledge about signals and system

-          You might want to glance through my old class notes at

4.       EE 280 or proficiency in Boolean algebra

5.       Have access to a PC (linux or windows) to which you have administrative right to install programs.

Sen-ching Samson Cheung

Last modified: Saturday, August 14, 2010