EE 586 Communication and Switching Networks

Fall 2013


[Home] [Syllabus]



This course has an external class website at where the lecture notes will be posted. The Blackboard (Bb) site will have the other course material.  

Instructor: Dr. Sen-ching Cheung (cheung at

Office: DMB 217 (218-0299)

Office hours: TTh 1-4pm

Teaching Assistant: Zhaohong Wang (zhaohong dot wang at uky dot edu)


MWF 11:00am-11:50pm (RGAN 207)


Starting this semester, I am trying something new called the flipped classroom approach: short video lectures will be posted for you to go through before coming to class. We will start each class with a short 5-minute quiz on the material before delving into examples, hands-on exercises, and homework. You are required to bring a laptop to each 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, network programming interfaces, and wireless networking. 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 have an in-depth understanding of the Internet-Of-Things


Your grade will be based on:




Lecture Quizzes


Two Midterms


Final Project



  1. Homework and Laboratory Exercises

-        Homework will be assigned weekly.

-        While we will discuss homework in class, each student must do his or her homework.

-        Late homework will not be accepted without prior notice.   

  1. Lecture quizzes

-        Lecture quiz will be given every lecture.

-        You are allowed one single-sided page of 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. Final project

-        It is a team project of two-three students.

-        Grading is based on an in-class presentation+demo and a project report.

  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

Required Text

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

Kurose and Ross

Computer Networking: A Top-Down Approach, sixth edition, Addison Wesley, 2012.

6LoWPAN: The Wireless Embedded Internet (0470747994) cover image

Shelby and Bormann

C6LoWPAN: The wireless Embedded Internet,

Wiley, 2009.

Public-domain Software Required:

1.      Wireshark Packet Sniffer:

2.      OPNET IT Guru (registration required):

3.      The Contiki Operating System:


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 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 programming

-        We will Python and a variant of C for senor node programming

2.      MA 320 or proficiency in basic discrete probability

-        Probability Review by Randall Berry:

3.      EE 280 or proficiency in Boolean algebra

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