Cleveland State University

Department of Electrical and Computer Engineering

EEC 484/584 Computer Networks

Fall Semester 2008

Course Objectives:          This course provides a comprehensive overview of computer networks. Topics include network architectures, communication protocols; data link control, medium access control, LANs and WANs; network layer, TCP/IP; and network security

Prerequisite:                    Graduate standing (for graduate students)

Textbook:                         Computer Networks, by Andrew S. Tanenbaum, Prentice Hall, 2003, 4th Edition (or newer).

Recommended Book:      Computer Networking: A Top-Down Approach Featuring the Internet, by James F. Kurose and Keith W. Ross, Addison-Wesley, 2004, 3rd Edition (or newer)

Instructor:                        Dr. Wenbing Zhao
Office:       SH434

Phone:       (216) 523-7480

Fax:           (216) 687-5405

E-mail:       wenbing@ieee.org

Lecture time: M W 4:00-5:50pm

Office hours: M W 2:00-4:00pm and by appointment

Tentative Schedule:

Week

Topics

Reading

1

(Aug 25 - 29)

Aug 25:

  • Lecture #1 - Overview of the course; syllabus; policies (notes)

Aug 27:

  • Lecture #2 - Introduction to computer networks and the Internet, network hardware, network software (part1)  (notes)

 

Handout

 

 

 

Ch.1.2

Ch.1.3.1, 1.3.5

2

(Sept 1 – 5)

Sept 1: Labor Day (No Class)

Sept 3:

  • Lecture #3: Network software (part2), Reference models; Network standards (notes)

 

Ch.1.3.2-1.3.3

Ch.1.4, Ch.1.5.1

Ch.1.6

3

(Sept 8 – 12)

Sept 8:

  • Lecture #4 – Overview of application layer protocols, Web and HTTP (notes)
  • Handout for Lab #1 instructions

Sept 10:

 

 

Ch.7.3

 

 

4

(Sept 15 – 19)

Sept 15:

  • Lecture #5 – DNS (notes)
  • Lab #1 report due
  • Handout for Lab #2

Sept 17:

  • Lab #2 – DNS

 

Ch. 7.1

5

(Sept 22 – 26)

Sept 22:

  • Discussion session (notes)
  • Lab #2 report due

Sept 24:

  • Lecture #6 - Data link layer design issues; Error detection and correction (notes)
  • Handout for Wiki-Page Project #1

 

 

 

 

 

 

6

(Sept 29 – Oct 3)

Sept 29:

  • Quiz #1 (Lecture 1-5, Lab 1-2)

Oct 1:

  • Lecture #7 - The channel allocation problem; Multiple access protocols (notes)

 

Ch.3.1-3.2

 

Ch.4.1-4.2

 

7

(Oct 6 – 10)

Oct 6:

  • Lecture #8 - Ethernet; ARP; DHCP (notes)
  • Handout for Lab #3

Oct 8:

 

Ch.4.3-4.4
Ch.5.6.3 (part of it)

8

(Oct 13 – 17)

Oct 13: Columbus Day (No Class)

Oct 15:

  • Quiz #2
  • Lab #3 report due

 

 

 

 

9

(Oct 20 – 24)

Oct 20:

  • Lecture #9 - Network layer design issues; routing algorithms (part I) (notes)

Oct 22:

  • Lecture #10 - routing algorithms (part II); Internet protocol (part I) (notes)

 

Ch.5.1-5.2

 

 

 

Ch.5.6

10

(Oct 27 – 31)

Oct 27:

  • Lecture #11 - Internet protocol (part II) (notes)
  • Handout for Lab #4
  • Wiki-Page Project #1 due

Oct 29:

  • Lab #4 – IP

 

Ch.5.6

 

 

 

11

(Nov 3 – 7)

Nov 3:

  • Lecture #12 - The transport service; reliable data transfer, sliding window protocols (notes)
  • Lab #4 report due
  • Handout for Wiki-Page Project #2

Nov 5:

  • Quiz #3

 

Ch.6.1-6.2

Ch. 3.4

 

12

(Nov 10 - 14)

Nov 10:

Nov 12:

  • Lecture #13 - Sliding window protocols, the Internet transport protocols: UDP and TCP (part 1) (notes)

 

 

 

 

 

Ch.6.4-6.5

 

13

(Nov 17 – 21)

Nov 17:

  • Lecture #14  - The Internet transport protocols: UDP and TCP (part 2) (notes)
  • Handout for Lab #5

Nov 19:

  • Discussion session
  • Wiki-Page Project #2 initial draft due

 

 

14

(Nov 24 – 28)

Nov 24:

  • Quiz #4 (lectures 12,13,14): Time Changed!!!

Nov 26:

  • Lab #5 – TCP (attendance optional)

 

 

 

15

(Dec 1 – 5)

Dec 1:

  • Lecture #15 – Cryptography; Symmetric-key algorithm, cipher modes (notes)
  • Wiki-Page Project #2 review due

Dec 3:

  • Lecture #16 - Public-key algorithm; Digital signatures Message digest; Management of public keys (notes)
  • Lab #5 report due

 

Ch.8.1-8.4

 

 

 

Ch.8.5-8.6

16

(Dec 8 – 12)

Dec 8 (4-6pm):

  • Quiz#5
  • Wiki-Page Project #2 final version due (midnight)

 

 

Projects

For individual or a team of two. For graduate students, there are two required projects. Both are closely related to the information literacy program sponsored by the CSU library. A detailed grading rubric will be provided for each project. As a way to gain extra-credit, you are encouraged to build demonstration programs (Java applet, plain Java application, or use NS2 simulator). For undergraduate students, project #1 is waived.

 

Project #1: Select a topic in Chapters 1, 3, and 7, and build a wiki page for the topic on http://www.pbwiki.com/. Example topics are: Introduction to computer networks, Internet history, ISO/OSI reference model, TCP/IP model, World Wide Web, HTTP, DNS, Data link layer design principles.

Project #2: Select a topic in Chapters 4, 5, 6, and build a wiki page for the topic on http://www.pbwiki.com/. Example topics are: Static channel allocation, dynamic channel allocation, multiple access protocols (Aloha, CSMA etc.), Ethernet, ARP, DHCP, network layer, routing algorithms (link state and distance vector), IP, TCP, UDP, ICMP, reliable communication protocols, sliding window protocols.

As part of Project #2, peer-review and revision steps are involved. Each team is required to review three wiki pages built by other teams anonymously. The quality of the review will be counted towards the total credit for this project. Furthermore, after getting a set of reviews, each team must address the comments and revise its wiki page carefully in light of the reviews. If the team disagrees with any comment, a convincing argument should be provided to refute it.

 

Quizzes

There is no makeup quiz. Each quiz is designed for one-hour completion, but you have up to 1 hour and 50 minutes to complete it. The quizzes are closed book and closed notes, except that you are allowed to bring with you a one-page hand-written cheat sheet no larger than the US letter size (double-sided allowed).

 

The best of four out of five quizzes will be counted towards your grade.

 

Labs

There are 5 lab sessions on HTTP, DNS, Ethernet & DHCP, IP, and TCP. They are all based on the Ethereal tool. The labs are mandatory. There will be no makeup lab, and no extension will be granted for lab reports. Exception may be granted to those who have strong background to complete the labs without my supervision (in which case, you do not have to show up during the designated lab sessions. However, lab reports are still required). If you are granted an exception, the related requirement on the lab session attendance for class participation credit is automatically removed.


Class Participation

10% of the course credit is allocated to encourage student class participation. I may perform a roll call in the beginning of each class to determine the attendance. To obtain the full credit for class participation, you must satisfy the following conditions:

  • You do not miss more than 2 lectures
  • You do not miss any quiz and lab sessions (if you choose to the labs option)
  • You have asked at least 10 questions during the semester. You are also encouraged to give me advice on how you would like me to improve my teaching to make it more conducive. For each piece of advice, it will be counted as 2 questions.

To help me keep track who asked me questions, please send me an email with the following information for each question you have asked within 24 hours after the lecture:

  • The question you asked
  • My response
  • Your comment on my response and suggestion for improvement, if any

 

Grading

        Class participation 10%

        Quizzes 50%

        Labs (20%)

        Projects (20% [project#1 5% and project#2 15%, for graduate students])

 

The final grading is based on your accumulated effort in this course. Your final grade is determined approximately based on the following schedule:

A: 90-100%

A-: 85-89%

B+: 75-84%

B: 65-74%

B-: 60-64%

C: 50-59%

D: 40-49% (undergraduate only)

F: (<50% for graduate students; <40% for undergraduate students)