CPE 401/601 Computer Network Systems
Department of Computer Science & Engineering
UNR, Spring 2017
Course Information -
Learning Outcomes -
| Class hours
||Monday & Wednesday, 1:00 - 2:15pm,
| Class Room
|EJCH 265 SEM 201
|| Dr. Mehmet H. Gunes
|| mgunes (at) unr (dot) edu
|| (775) 784 - 4313
| Web page
|| SEM 238 (Scrugham Engineering-Mines)
| Office hours
|| Monday & Wednesday 11:00 - 12: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.
Internet (design principles, architecture, measurement), network management (such as QoS, QoE, TE), overlay networks (such as p2p, CDN, DCN, Cloud, anonymity), modern network ecosystems, and network programming.
To develop an understanding of the various aspects of modern computer networking systems.
To become familiar with the state of the art in computer networks including architectures, protocols and systems.
To implement networked systems and gain experience with network programming.
You may look at earlier courses from
Spring 2014, and
- CPE 400 - Computer Communication Networks
CS 365 - Mathematics of Computer Science
- William Stallings, "Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud", Addison-Wesley Professional, 2015.
- James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, Pearson, 7th edition, 2016.
- Elliotte Rusty Harold, Java Network Programming: Developing Networked Applications, O'Reilly Media, 4th edition, 2013.
- Bill Phillips, Chris Stewart, Brian Hardy, and Kristin Marsicano, Android Programming: The Big Nerd Ranch Guide, Big Nerd Ranch Guides, 2nd edition, 2015.
This is a tentative list of topics, subject to modification and reorganization.
- Network Programming
- Socket programming
- Android Programming
- Internet Design Principles
- Internet Architecture
- Internet Measurements
- Congestion Control
- Traffic Engineering
- Quality of Service
- Quality of Experience
Modern Network Ecosystems
- Peer-to-peer networks
- Content Distribution Networks
- Data Center Networking
- Cloud Computing
- Anonymous Communication
- Internet of Things
- Online Social Networks
- Software Defined Networks
- Network Function Virtualization
- Multimedia Networking
- Digital Currencies
- Except this web page, all course materials will be posted at the WebCampus.
- The organization of the course will evolve as the semester progresses. I'm quite confident that it will be challenging but a fun course.
- Presentation slides will be available on the class web page. I will try to put them up before each class meeting but no guarantees on that.
- 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.
- 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 relevant talks (http://www.unr.edu/cse/calendar).
- There will be five assignments. Most 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 Python and Java in UNIX and mobile environment is required for the assignments. Late assignments will be penalized by 20% per day, except holidays.
- 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, e.g., 10 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 a midterm and a 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.
- Academic Success Services:
Your student fees cover usage of the University Math Center (775) 784-4433, University Tutoring Center (775) 784-6801, and University University Writing Center (775) 784-6030. 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.
- Academic Dishonesty:
Cheating, plagiarism or otherwise obtaining grades under false pretenses constitute academic dishonesty according to the code of this university. Academic dishonesty will not be tolerated and penalties can include filing a final grade of "F"; reducing the student's final course grade one or two full grade points; awarding a failing mark on the coursework in question; or requiring the student to retake or resubmit the coursework. For more details, see the University of Nevada, Reno General Catalog.
- Disability Statement:
Any student with a disability needing academic adjustments or accommodations is requested to speak with the Disability Resource Center (Pennington Student Achievement Center, Suite 230) as soon as possible to arrange for appropriate accommodations.
- Audio and Video Recording:
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.
Both grading policy and scale are subject to change. Failure in either the assignments or the tests will result in failure in the course.
40 - Assignments (5)
9 - Quizzes (3 of 4)
25 - Midterm
26 - Final
Grading Scale (Tentative)
A : [92 - 100]
A- : [88 - 92)
B+ : [84 - 88)
B : [80 - 84)
B- : [76 - 80)
C+ : [72 - 76)
C : [68 - 72)
C- : [64 - 68)
D+ : [60 - 64)
D : [56 - 60)
D- : [52 - 56)
F : [0 - 52) 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 work.
ABET Accreditation Criterion 3 Program Outcomes that are relevant to this
- Students will have an ability to apply knowledge of computing, mathematics, science, and engineering.
- Students will have an ability to design and conduct experiments, as well as to analyze and interpret data.
- Students will have an understanding of professional, ethical, legal, security and social issues and responsibilities.
- Students will have an ability to communicate effectively with a range of audiences.
- Students will have the broad education necessary to analyze the local and global impact of computing and engineering solutions on individuals, organizations, and society.
- Students will have a knowledge of contemporary issues.
- Students will have 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 topics.
Permanent reading assignment: it is assumed that you are familiar with the contents of the slides of all past meetings.
||Assignments & Notes
| Mon, Jan 23
|| Lecture #1: Internet
|| Brief History of the Internet
| Wed, Jan 25
|| Lecture #2: Internet
| Mon, Jan 30
|| Lecture #3: Internet
| Wed, Feb 1
|| Lecture #4: Internet
| Mon, Feb 6
|| Lecture #5: Introduction to Python
| Wed, Feb 8
|| Lecture #6: Socket Programming in Python
|| Assignment 1: Network Measurement due
| Mon, Feb 13
|| Lecture #7: Socket Programming in Python
| Wed, Feb 15
|| Lecture #8: Advanced Networking in Python
| Mon, Feb 20
|| President's Day (No class)
| Wed, Feb 22
|| Lecture #9: Internet Measurements
| Mon, Feb 27
|| Lecture #10: Internet Measurements
| Wed, Mar 1
|| Lecture #11: Internet of Things
|| Assignment 2: IoT Proxy due
| Mon, Mar 6
|| Lecture #12: Threads in Python @ EJCH 265
| Wed, Mar 8
|| Lecture #13: Internet of Things
| Mon, Mar 13
|| Lecture #14: Internet of Things
| Wed, Mar 15
|| Midterm Exam
| Mon, Mar 20
|| Spring break (no class)
| Wed, Mar 22
|| Spring break (no class)
| Mon, Mar 27
|| Lecture #15: Cloud computing @ EJCH 265
|| Assignment 3: IoT Interaction due
| Wed, Mar 29
|| Lecture #16: Cloud computing
| Mon, Apr 3
|| Lecture #17: Cloud computing @ EJCH 265
| Wed, Apr 5
|| Lecture #18: Overlay Networks
| Mon, Apr 10
|| Lecture #19: Peer-to-Peer Networks
| Wed, Apr 12
|| Lecture #20: Distributed Hash Tables
| Mon, Apr 17
|| Lecture #21: Distributed Hash Tables
|| Assignment 4: IoT Cloud Interaction due
| Wed, Apr 19
|| Lecture #22: Content Distribution Networks
| Mon, Apr 24
|| Lecture #23: Anonymity
| Wed, Apr 26
|| Lecture #24: Anonymity
| Mon, May 1
|| Lecture #25: Digital Currencies
| Wed, May 3
|| Lecture #26: Software Defined Networks
| Mon, May 8
|| Lecture #27: Network Function Virtualization
|| Assignment 5: IoT Ecosystem due
| Mon, May 15
|| Final Exam @ 10:15am, EJCH 265 (Exam covers post-midterm material. However, you are expected to remember important pre-midterm concepts.)
Announcements regarding the course will be posted on this web page and WebCampus. Please check your WebCampus e-mail daily.
Course Information -
Learning Outcomes -
Last updated on May 14, 2017