CPE 401/601 Computer Network Systems

Department of Computer Science & Engineering

UNR, spring 2009

Course Information - Description - Objective - Prerequisites - Textbooks - Syllabus
Organization - Grading - ABET Criteria - Schedule - Announcements

Course Information

Class hours Monday & Wednesday, 1:00 - 2:15pm, PE 205 UNIX Network Programming, Vol. 1: The Sockets Networking API
Instructor Dr. Mehmet Gunes
E-mail mgunes (at) cse (dot) unr (dot) edu
Phone (775) 784 - 4313
Web page http://www.cse.unr.edu/~mgunes
Office SEM 230 (Scrugham Engineering-Mines)
Office hours Monday & Wednesday 2:30 - 4:00 pm or by appointment

Catalog Description

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 network programming. Topics include: networking basics, protocol basics, Internet protocols, and socket programming. This is a project oriented course where intensive coding in UNIX enviroment is required.



Required Recommended

Syllabus (Tentative)

This is a tentative list of topics, subject to modification and reorganization.
  1. Introduction to Computer Networks
  2. Socket Programming
  3. Communication Protocols
  4. Web Servers
  5. Advanced Sockets
  6. Network Security


Grading (Tentative)

Both grading policy and scale are subject to change. Failure in either the assignments or the tests will result in failure in the course.

Grading Policy

Grading Scale

Important Note: You will have one week to appeal for your grades after the graded assignments/tests are returned. So, please keep this in mind if you think that there is a problem/issue with the grading of your work.

ABET Criteria

ABET Accreditation Criterion 3 Program Outcomes that are relevant to this course are:

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.

Permanent reading assignment: it is assumed that you are familiar with the contents of the slides of all past meetings.

Date Lectures Assignments & Notes
Wed, Jan 21 Lecture #1: Internet  
Mon, Jan 26 Lecture #2: Protocol Layers  
Wed, Jan 28 Lecture #3: TCP/IP Lab 1: Protocol layers
Mon, Feb 2 Lecture #4: Socket Programming - Socket Programming FAQ
Wed, Feb 4 Lecture #5: Java Introduction - Java Crash Course
- Home of Java
Mon, Feb 9 Lecture #6: TCP Sockets - Simple TCP client and server code
Wed, Feb 11 Lecture #7: Telnet, HTTP Lab 2: HTTP proxy server
- RFC 2616 HTTP 1.1
Mon, Feb 16 President's day (no class)  
Wed, Feb 18 Lecture #8: UDP Sockets & I/O Multiplexing - Simple UDP client and server code
- TCP client using select()
Mon, Feb 23 Lecture #9: SCTP Sockets - www.SCTP.org
Wed, Feb 25 Lecture #10: DNS  
Mon, Mar 2 Lecture #11: Java Socket Programming - Sample Java sockets
Wed, Mar 4 Lecture #12: FTP & TFTP  
Mon, Mar 9 Lecture #13: Dynamic Web Servers & CGI Lab 3: CGI search engine
- The CGI Resource Index
Wed, Mar 11 Midterm Exam  
Mon, Mar 16 Spring break (no class)  
Wed, Mar 18 Spring break (no class)  
Mon, Mar 23 Lecture #14: HTML forms  
Wed, Mar 25 Lecture #15: CGI sessions & Perl CGI lab discussion at 2:15 pm
Mon, Mar 30 Lecture #16: JavaScript & E-mail  
Wed, Apr 1 No class  
Mon, Apr 6 Lecture #17: Client/Server Programming  
Wed, Apr 8 Lecture #18: Threaded Programming Lab 4: Threaded HTTP server
Mon, Apr 13 Lecture #19: Advanced Sockets Programming  
Wed, Apr 15 Lecture #20: RPC, XDR - RPC programming notes
- RPC examples
Mon, Apr 20 Lecture #21: XML, SOAP, LDAP - XML-RPC
- SOAPware.org
- openLDAP.org
Wed, Apr 22 Lecture #22: Performance Measurement  
Mon, Apr 27 Lecture #23: Network Security - WWW security
Wed, Apr 29 Lecture #24: Cryptography  
Mon, May 4 Lecture #25: Secure Communications  
Mon, May 11
at 12:00 pm
Final Exam (Exam covers post-midterm material. However, students are expected to remember important pre-midterm concepts.)  

Acknowledgements: Slides are modified from the slides prepared by Prof. Dave Hollinger.


Announcements regarding the course will be posted on this web page and WebCT. Please check your WebCT e-mail daily.

Course Information - Description - Objective - Prerequisites - Textbooks - Syllabus
Organization - Grading - ABET Criteria - Schedule - Announcements

Last updated on May 28, 2009