CPE 401/601 Computer Network Systems
Department of Computer Science & Engineering
UNR, Spring 2014
Course Information -
ABET Criteria -
| Class hours
||Tuesday & Thursday, 2:30 - 3:45pm, SEM 261
|| Dr. Mehmet H. Gunes
|| mgunes (at) unr (dot) edu
|| (775) 784 - 4313
| Web page
|| SEM 238 (Scrugham Engineering-Mines)
| Office hours
|| Tuesday & Thursday 12:30 - 2:30 pm or by appointment
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.
You may look at earlier courses from Spring 2009,
Spring 2011, and
- CPE 400 - Computer Communication Networks
- CS 365 - Mathematics of Computer Science
- Java or Python programming experience in UNIX-like environment.
This is a tentative list of topics, subject to modification and reorganization.
- Socket Programming
- Network API
- TCP Sockets
- UDP Sockets
- Advanced Sockets
- Dynamic Web Documents
- Common Gateway Interface
- Wireless and Mobile Networks
- Wireless links (CDMA)
- IEEE 802.11 wireless LANs (WiFi)
- Cellular Internet access
- Mobile IP
- Handling mobility
- Sensor networks
- Overlay Networks
- Routing overlays
- Peer-to-peer networks
- Content Distribution Networks
- Cloud computing
- Network Security
- Principles of cryptography
- Message integrity (MAC)
- Securing e-mail (PGP)
- Securing TCP connections (SSL)
- Network layer security (IPsec, VPN)
- Securing wireless LANs (WEP)
- Firewalls and IDS
- Anonmous communication
- Digital currencies
- Network Management
- Infrastructure for Network Management
- Management Framework (SMI, MIB, ASN.1, SNMP)
- Internet Measurements
- Multimedia Networking (if time permits)
- Multimedia networking applications
- Streaming stored audio and video (RTSP)
- Making the best out of Best-Effort service
- Protocols for real-time interactive applications (RTP, RTCP, SIP)
- Providing multiple classes of service
- Providing QoS guarantees
- Traffic engineering
- Except this web page, all course materials will be posted at the WebCampus.
- Presentation slides will be available on the class web page. I will try
to put them up before each class meeting.
- Class participation in terms of asking questions is highly encouraged.
Please do not be afraid to ask questions no matter how simple you might think the answer could be.
This type of interaction helps improve the effectiveness of the class and breaks the monotony.
- Students are encouraged to bring articles, demos, web pages, news events, etc.
that are relevant to course topics to the attention of the instructor.
The success of the course depends on everyone in the class engaging the material
and bringing energy, enthusiasm, and intellect to class activities.
- Regular attendance is highly recommended. If you miss a class, you are responsible for all material covered or assigned in class.
You should arrive on time and be prepared to discuss the session's topic.
The underlying notion of the class is interaction, not passivity.
The success of the course depends on everyone in the class engaging the
material and bringing energy, enthusiasm, and intellect to class
- Unless instructed otherwise, use of electronic devices including laptops
are not allowed during lectures and exams.
- Extra credit will be offered to the undergraduate students who attend the departmental colloquia (an extra point for two colloquium attendance up to 3 points). You will be reminded in class about upcoming talks but you should also check the colloquia page on a regular basis (http://www.cse.unr.edu/get-involved/colloquia/).
- There will be four phased programming assignments. They will require turning in code that compiles and runs properly (with error-handling, well-structured, readable code)
and a report documenting the program (specifications, implementation, user manual, etc.).
Note that knowledge of Java or Python in UNIX environment is required for the assignments.
Late assignments will be penalized by 20% per day, except holidays.
There will be five lab assignments. Providing hands on experience, the assignments will provide in depth analysis of some protocols.
Lectures for some lab assignments will be held in Reconfigurable Networking Lab in SEM 211A and provide you an opportunity to experiment with networking equipment.
Late assignment reports will be penalized by 20% per day, except holidays.
- Each student will prepare a 20 minute presentation on a networking topic of their choice. Students may choose any relevant topic with approval of the instructor. You will be graded by your peers using the presentation evaluation form. However, final grade will be decided by instructor. Your participation in the presentation evaluation and during lectures will also be assessed by the instructor.
- There will be four in-class quizzes. The lowest graded one will not
affect your overall grade. Exact date for some of these quizzes will not be
exposed beforehand. These quizzes will be closed book/notes and extremely
time-constrained, i.e., 10-15 mins. Questions in these quizzes will be
designed to give you an opportunity to test and affirm your knowledge of
the course content.
- There will be one final exam. You should plan on taking the exams on the scheduled times.
No late/early exams unless in case of an emergency situation such as health emergency or similar un-avoid-able situations and you need to provide convincing documentation for it.
The exams will be closed books and closed notes but a single page cheat sheet (double side, letter) is allowed. No calculators (unless otherwise stated) and no other electronic devices such as laptops, cell phones, beepers, etc. should be used during the exam.
- There will be extra questions in assignments and exams for CPE 601 students.
- From time to time, we may discuss vulnerabilities in networking systems.
This is not intended as an invitation to go exploit those vulnerabilities!
It is important that we be able to discuss real-world experience candidly;
everyone is expected to behave responsibly.
- Assignments and exams must be prepared strictly individually.
You are welcome to discuss the problems or solution strategies with your class mates but the resulting work should be your own.
Copying from each other or from other sources is considered as cheating.
Any form of cheating such as plagiarism or ghostwriting will incur a severe penalty, usually failure in the course.
Please refer to the UNR policy on Academic Standards.
- Surreptitious or covert video-taping of class or unauthorized audio recording of class is prohibited by law and by Board of Regents policy. This class may be videotaped or audio recorded only with the written permission of the instructor. In order to accommodate students with disabilities, some students may be given permission to record class lectures and discussions. Therefore, students should understand that their comments during class may be recorded.
- If you have a disability for which you will need to request accommodations, please contact the instructor or someone at the
Disability Resource Center (Thompson Student Services - 101) as soon as possible.
- Academic Success Services: Your student fees cover usage of the Math Center (784-4433 or www.unr.edu/mathcenter), Tutoring Center (784-6801 or www.unr.edu/tutoring), and University Writing Center (784-6030 orwww.unr.edu/writing_center. These centers support your classroom learning; it is your responsibility to take advantage of their services. Keep in mind that seeking help outside of class is the sign of a responsible and successful student.
Both grading policy and scale are subject to change. Failure in either the
assignments or the tests will result in failure in the course.
36 - Programming Assignments (4)
10 - Presentation
6 - Participation
12 - Quizzes (3 of 4)
36 - Final
A : 87 - 100
B : 75 - 86
C : 63 - 74
D : 51 - 62
F : 0 - 50 (or caught cheating)
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
ABET Accreditation Criterion 3 Program Outcomes that are relevant to this
(1) An ability to apply knowledge of computing, mathematics, science, and
(2) An ability to design and conduct experiments, as well as to analyze and
(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) Broad education necessary to analyze the local and global impact of
computing and engineering solutions on individuals, organizations, and
(10) A knowledge of contemporary issues.
(11) An ability to use current techniques, skills, and tools necessary for
computing and engineering practice..
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
Permanent reading assignment: it is assumed that you are familiar
with the contents of the slides of all past meetings.
||Assignments & Notes
| Tue, Jan 21
|| Lecture #1: Introduction
| Thu, Jan 23
|| Lecture #2: Introduction to Python
|| Python slides on WebCampus
| Tue, Jan 28
|| Lecture #3: Socket Programming in Python
||Socket Programming FAQ
| Thu, Jan 30
|| Lecture #4: Online Social Networks
|| Program 1: Online Social Network
| Tue, Feb 4
|| Lecture #5: Threaded Programming in Python
| Thu, Feb 6
|| Lecture #6: CGI in Python
| Tue, Feb 11
|| Lecture #7: Overlay Networks
| Thu, Feb 13
|| Lecture #8: Peer-to-peer Networks
| Tue, Feb 18
|| Lecture #9: Distributed Hash Tables
| Thu, Feb 20
|| Lecture #10: Content Distribution Networks
|| Program 2: Peer-to-peer OSN
| Tue, Feb 25
|| Lecture #11: Cloud Computing
| Thu, Feb 27
|| Lecture #12: Cloud Computing Security
| Tue, Mar 4
|| Lecture #13: Cloud Computing Security (cont)
| Thu, Mar 6
|| Lecture #14: Internet Measurements
| Tue, Mar 11
|| Lecture #15: Internet Measurements (cont)
| Thu, Mar 13
|| Lecture #16: Network Management
| Tue, Mar 18
|| Spring break (no class)
| Thu, Mar 20
|| Spring break (no class)
| Tue, Mar 25
|| Lecture #17: Secure Communications
|| Program 3: Phone-to-phone OSN
| Thu, Mar 27
|| Lecture #18: Secure Communications (cont)
| Tue, Apr 1
|| Lecture #19: Secure Communications (cont)
| Thu, Apr 3
|| Lecture #20: Secure Communications (cont)
| Tue, Apr 8
|| Lecture #21: Secure Communications (cont)
| Thu, Apr 10
|| Lecture #22: Anonymous Communication
| Tue, Apr 15
|| Lecture #23: Jay
Anonymous Communication (cont)
|Program 4: Network Measurement
| Thu, Apr 17
|| Lecture #24: PlanetLab
| Bitcoin: A Peer-to-Peer Electronic Cash System
| Tue, Apr 22
|| Lecture #25: Manoj and Paul
| Thu, Apr 24
|| Lecture #26: Tommy
Wireless Networks (cont)
| Tue, Apr 29
|| Lecture #27: Eli
Wireless Networks (cont)
| Thu, May 1
|| Lecture #28: David
| Tue, May 6
|| Lecture #29: Tyler
| Thu, May 8
at 12:30 pm
| Final Exam
Announcements regarding the course will be posted on this web page and
WebCampus. Please check your WebCampus e-mail daily.
Course Information -
ABET Criteria -
Last updated on Apr 29, 2014