CPE 401/601 Computer Network Systems
Department of Computer Science & Engineering
UNR, Spring 2015
Course Information -
ABET Criteria -
| Class hours
||Tuesday & Thursday, 1:00 - 2:15pm, SEM 344
|| Dr. Mehmet H. Gunes
|| mgunes (at) unr (dot) edu
|| (775) 784 - 4313
| Web page
|| SEM 238 (Scrugham Engineering-Mines)
| Office hours
|| Tuesday & Thursday 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.
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 2012, 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
- Android Programming
- 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 activities.
- 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.unr.edu/cse/get-involved/calendar).
- 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 three
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 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. 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.
40 - Programming Assignments (4)
8 - Quizzes (2 of 3)
25 - Midterm
27 - 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 work.
ABET Accreditation Criterion 3 Program Outcomes that are relevant to this
(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.
(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 society.
(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 topics.
Permanent reading assignment: it is assumed that you are familiar with the contents of the slides of all past meetings.
||Assignments & Notes
| Tue, Jan 20
|| Lecture #1: Introduction
| Thu, Jan 22
|| Lecture #2: Introduction to Python
| Tue, Jan 27
|| Lecture #3: Socket Programming in Python
|| Socket Programming FAQ
| Thu, Jan 29
|| Lecture #4: Advanced Networking in Python
|| Threads - CGI
| Tue, Feb 3
|| Lecture #5: Online Social Networks
|| Program 1: Online Social Network
| Thu, Feb 5
|| Lecture #6: Overlay Networks
| Tue, Feb 10
|| Lecture #7: Peer-to-peer Networks
| Thu, Feb 12
|| Lecture #8: Distributed Hash Tables
| Tue, Feb 17
|| Lecture #9: Content Distribution Networks
| Thu, Feb 19
|| Lecture #10: Cloud Computing
| Tue, Feb 24
|| Lecture #11: Cloud Computing Security
| Thu, Feb 26
|| Lecture #12: Network Management
|| Program 2: Peer-to-peer OSN
| Tue, Mar 3
|| Lecture #13: Internet Measurements
| Thu, Mar 5
|| Lecture #14: Internet Measurements
| Tue, Mar 10
|| Midterm Exam
| Thu, Mar 12
|| Lecture #15: Android development
|| Android Tutorial - Android development
| Tue, Mar 17
|| Spring break (no class)
| Thu, Mar 19
|| Spring break (no class)
| Tue, Mar 24
|| Lecture #16: Android development
|| Program 3: Phone-to-phone OSN
| Thu, Mar 26
|| Lecture #17: Secure Communications
| Tue, Mar 31
|| Lecture #18: Secure Communications (cont)
| Thu, Apr 2
|| Lecture #19: Secure Communications (cont)
| Tue, Apr 7
|| Lecture #20: Secure Communications (cont)
| Thu, Apr 9
|| Lecture #21: Secure Communications (cont)
| Tue, Apr 14
|| Lecture #22: Anonymous Communication
| Thu, Apr 16
|| Lecture #23: Digital Currencies
|| Program 4: Securing p2p OSN
| Tue, Apr 21
|| Lecture #24: Wireless Networks
| Thu, Apr 23
|| Lecture #25: Wireless Networks (cont)
| Tue, Apr 28
|| No class
| Thu, Apr 30
|| Lecture #26: Mobility
| Tue, May 5
|| Lecture #27: Multimedia Networking
| Wed, May 6
|| Exam review
| Tue, May 12
|| Final Exam @ 5:00pm (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 -
ABET Criteria -
Last updated on May 5, 2015