CPE 401/601 Computer Network Systems

Department of Computer Science & Engineering

University of Nevada, Reno, Spring 2013


Course Information - Description - Prerequisites - Textbooks - Syllabus - Organization - Grading - Schedule, Notes & Assignments - Acknowledgment - ABET Criteria


Course Information


E-mail: yuksem@cse.unr.edu

Phone: (775) 327-2246

Web page: http://www.cse.unr.edu/~yuksem

Office: SEM 237 (Scrugham Engineering-Mines)

Office hours:



Packet switching, routing, congestion control, network layer, Internet, transport layer, sessions, FTP, telnet, rlogin, SMTP, NFS, NetBIOS, WWW, security, data compression.



To develop an understanding of the various aspects of computer networking systems. Topics include: Socket programming, file transfer, electronic mail, WWW, peer-to-peer, multimedia networking, wireless and mobile protocols, network security, and network management.





Required Textbooks


Recommended Textbooks


Syllabus (Tentative)

This is a tentative list of topics, subject to modification and reorganization.


  1. Socket Programming


  1. Wireless and Mobile Networks


  1. Overlay Networks


  1. Network Security


  1. Network Management


  1. Multimedia Networking





Grading (Tentative)

Both grading policy and scale are subject to change.

Grading Policy







Midterm Exam


Final Exam


Late Assignment Policy

less than 1 day late

25% deducted

between 1 and 2 days late

50% deducted

over 2 days late

100% deducted

Grading Scale (Tentative)

90% - 100%

A-, A

80% - 89%

B-, B, B+

65% - 79%

C-, C, C+

55% - 64%


0% - 54%


Note: Saturdays and Sundays do not count toward missed days. For example, there is 1 "day" between Friday, 2pm and Monday, 2pm. Similarly, there is 1 day between Monday, 2pm and Tuesday, 2pm.

Important Note: Re-grading requests can only be made within the first week after the graded assignments/tests are returned to the students.


Schedule (Tentative), Notes & Assignments

This is a tentative schedule including the exam dates. It is subject to readjustment depending on the time we actually spend in class covering the topics. Slides presented in class and assignments will be posted at the WebCampus. See the acknowledgment for the course materials. Permanent reading assignment: it is assumed that you are familiar with the contents of the slides of all past meetings.



Assignments & Notes

Tue, Jan 22

Lecture #1: Introduction


Thu, Jan 24

Lecture #2: Socket Programming (1)

• Kurose & Ross, Ch. 2.7

Tue, Jan 29

Lecture #3: Socket Programming (2)


Thu, Jan 31

Lecture #4: Socket Programming (3)

Socket Programming FAQ

Tue, Feb 5

Lecture #5: Socket Programming (4)

Project is out

Thu, Feb 7

Lecture #6: Dynamic Web Servers

• Kurose & Ross, Ch. 2.2

Tue, Feb 12

Lecture #7: Wireless Networks (1)

• Kurose & Ross, Ch. 6.1-6.4

Thu, Feb 14

Lecture #8: Wireless Networks (2)


Tue, Feb 19

Lab #1: Configuring LANs with a Router


Thu, Feb 21

Lecture #9: Mobility Management (1)

• Kurose & Ross, Ch. 6.5-6.8

Tue, Feb 26

Lecture #10: Mobility Management (2)

Quiz 1

Lab 1 Report is due

Lab #2: Wireless

Thu, Feb 28

Lecture #11: Overlay Networks


Tue, Mar 5

Lecture #12: Content Distribution Networks


Thu, Mar 7

Lab #3: Performance Evaluation

Lab 2 Report is due

Tue, Mar 12


Lab 3 Report is due

Thu, Mar 14

Midterm Exam (in-class)


Tue, Mar 19

Spring Break – NO CLASSES


Thu, Mar 21

Spring Break – NO CLASSES


Tue, Mar 26

Lecture #13: Peer-to-peer Networks


Thu, Mar 28

Quiz 2

Project Phase 1 is due

Tue, Apr 2

Lecture #14: Distributed Hash Tables

• Kurose & Ross, Ch. 2.6

Thu, Apr 4

Lecture #15: Network Management

• Kurose & Ross, Ch. 9

Tue, Apr 9

Guest Lecture


Thu, Apr 11

Lab #4: Network Management


Tue, Apr 16

Lecture #16: Cloud Computing

Lab 4 Report is due


Thu, Apr 18

Lecture #17: Network Security (1)

• Kurose & Ross, Ch. 8.1-8.4

Tue, Apr 23

Lecture #18: Network Security (2)

• Kurose & Ross, Ch. 8.5-8.6

Thu, Apr 25

Lecture #19: Network Security (3)

Lab #5: Secure Sockets

• Kurose & Ross, Ch. 8.7-8.9

Tue, Apr 30

Lecture #20: Network Security (4)


Thu, May 2

Lecture #21: Multimedia Networking (1)

Lab 5 Report is due

• Kurose & Ross, Ch. 7.1-7.2

Tue, May 7

Lecture #22: Multimedia Networking (2)

Project Phase 2 is due

• Kurose & Ross, Ch. 7.3-7.4

Thu, May 9 (at 12:30pm)

Final Exam




The slides and other materials for this course are in part based upon the materials from a number of people/sources, including:

·      Shivkumar Kalyanaraman from IBM http://www.shivkumar.org

·      Official website for the Kurose & Ross text: Computer Networking: A Top-Down Approach

·      Constandine Dovrolis from GTech: http://www.cc.gatech.edu/~dovrolis

·      Mehmet H. Gunes from UNR: http://www.cse.unr.edu/~mgunes

·      Nick Feamster from Georgia Tech: http://www.cc.gatech.edu/~feamster

·      Hari Balakrishnan from MIT: http://nms.lcs.mit.edu/~hari

·      Jure Leskovec from Stanford: http://cs.stanford.edu/people/jure

·      Luis von Ahn from CMU: http://www.cs.cmu.edu/~biglou

·      Jason D. Hartline from Northwestern: http://www.eecs.northwestern.edu/hartline

·      Nicole Immorlica from Northwestern: http://users.eecs.northwestern.edu/~nickle

·      Adam Wierman from CalTech: http://www.cs.caltech.edu/~adamw

·      Dave Lee Hollinger from RPI


ABET Criteria

Program Outcomes

Course Outcomes

Assessment Methods/Metrics


Program Objectives Impacted


Ability to quantitatively evaluate different network protocols and applications.

Solve and model quantitative performance evaluation methods of a communication network in written assignments and exams.

2, 3

2, 8

Capability to design, develop and test a dynamic web server.

Design and implement resource management and scheduling algorithms of a computer network in programming assignments.

2, 3


Solid understanding of network security protocols and algorithms.

Design and implement security protocols using a router in lab assignments.

1, 2


Understand the needs of network users.

Prepare network protocol software for the service of various users in programming assignments.

1, 4

10, 11

Knowledge of legacy network protocols used in the practice.

Design and implement protocols using a router in lab assignments.



Program Outcomes:

1.     an ability to apply knowledge of computing, mathematics, science, and engineering.

2.     an ability to design and conduct experiments, as well as to analyze and interpret data.

3.     an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs, within realistic constraints specific to the field.

4.     an ability to function effectively on multi-disciplinary teams.

5.     an ability to analyze a problem, and identify, formulate and use the appropriate computing and engineering requirements for obtaining its solution.

6.     an understanding of professional, ethical, legal, security and social issues and responsibilities.

7.     an ability to communicate effectively with a range of audiences.

8.     the broad education necessary to analyze the local and global impact of computing and engineering solutions on individuals, organizations, and society.

9.     a recognition of the need for, and an ability to engage in continuing professional development and life-long learning.

10.  a knowledge of contemporary issues.

11.  an ability to use current techniques, skills, and tools necessary for computing and engineering practice.

12.  an ability to apply mathematical foundations, algorithmic principles, and computer science and engineering theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.

13.  an ability to apply design and development principles in the construction of software systems or computer systems of varying complexity.


Program Objectives:

Within 3 to 5 years of graduation our graduates will:

1.     be employed as computer science and engineering professionals beyond entry level positions or be making satisfactory progress in graduate programs.

2.     have peer-recognized expertise together with the ability to articulate that expertise as computer science and engineering professionals.

3.     apply good analytic, design, and implementation skills required to formulate and solve computer science and engineering problems.

4.     demonstrate that they can function, communicate, collaborate and continue to learn effectively as ethically and socially responsible computer science and engineering professionals.


Course Information - Description - Prerequisites - Textbooks - Syllabus - Organization - Grading - Schedule, Notes & Assignments - Acknowledgment - ABET Criteria


Last updated on April 30, 2013