CPE 400/600 Computer Communication Networks
Department of Computer Science & Engineering
UNR, fall 2011
Course Information -
ABET Criteria -
| Class hours
|| Monday & Wednesday, 1:00 - 2:15pm, SEM 344
|| Dr. Mehmet Gunes
|| mgunes (at) cse (dot) unr (dot) edu
|| (775) 784 - 4313
| Web page
|| SEM 204 (Scrugham Engineering-Mines)
| Office hours
|| Monday & Wednesday 2:30 - 4:00 pm or by appointment
|| SEM 211A (Scrugham Engineering-Mines)
|| Joseph Markman - markmanj (at) gmail (dot) com
ISO model, protocol layers, circuit/packet switching, sockets, reliable transport, congestion control, routing, addressing, switching, multiple access, error correction, coding, and digital modulation
This course is an introductory course on computer networks.
Using the Internet as a vehicle, this course introduces the underlying concepts and principles
of modern computer networks with emphasis on protocols, architectures, and implementation issues.
The main goal of this course is to understand layering in computer networks,
understand different protocol stacks (OSI and TCP/IP), understand functions and protocols
within a layer, understand how layers fit together and finally understand how the Internet works.
- Corequisite : CS 446.
- C/C++ or Java programming experience in UNIX-like environment.
This is a tentative list of topics, subject to modification and reorganization.
- Introduction to Computer Networks
- Delay, Loss, and Throughput
- Protocol Layers and Service Models
- Application Layer
- Web: HTTP
- File Transfer: FTP
- Electronic Mail
- Domain Name Service
- Peer-to-Peer Applications
- Socket Programming
- Transport Layer
- Multiplexing and Demultiplexing
- Connectionless Transport: UDP
- Reliable Data Transfer
- Connection-Oriented Transport: TCP
- Congestion Control
- Network Layer
- Virtual Circuit and Datagram Networks
- Internet Protocol
- Routing Algorithms
- Link Layer
- Error-Detection and -Correction Techniques
- Multiple Access Protocols
- Link-Layer Switches
- Physical Layer
- Data and Signals
- Digital and Analog Data
- Bandwidth Utilization
- Except this web page, all course materials will be posted at the WebCT.
Blog page at http://UNRcpe400.blogspot.com will be actively utilized, as well.
Students are encouraged to post articles, demos, web pages, and news events that are relevant to course.
- 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.
- Unless instructed otherwise, use of electronic devices including laptops are not allowed during lectures.
- 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.
- Attendance at all class meetings is mandatory and will affect your grade.
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.
- There will be four homework assignments. The lowest graded one will not affect your overall grade.
You may collaborate when solving the assignments, however when writing up the solutions you must do so on your own.
Late assignments will be penalized by 25% per day, except holidays.
Assignments will be accepted only through WebCT.
- There will be three programming assignments. It will require turning in code that compiles and runs properly and a report documenting the code. Late assignments will be penalized by 10% per day, except holidays. Note that knowledge of C/C++ or Java is required for the programming project.
- There will be four lab assignments.
Providing hands on experience, the assignments will provide in depth analysis of some protocols.
Some lab assignments will be scheduled in Reconfigurable Networking Lab
in SEM 211A and provide you an opportunity to experiment with networking equipment.
Others will require you to use Wireshark packet sniffing tool to analyze communication between two nodes.
Late assignments will be penalized by 10% 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 open book/notes and extremely time-constrained, i.e., 15-20 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 midterm exam and 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. 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 600 students.
- 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.
- 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.
- 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) and
Tutoring Center (784-6801 or www.unr.edu/tutoring).
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.
9 - Quizzes (3 of 4)
9 - Homework (3 of 4)
21 - Network Labs (3)
14 - Programming Assignments (2)
23 - Midterm Exam
24 - Final Exam
Grading Scale (Tentative)
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.
The course outcomes are skills and abilities students should have acquired by the end of the course.
These outcomes are defined in terms of the ABET Accreditation
Criterion 3 Program Outcomes which are relevant to this course.
Our graduates will have achieved:
- (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.
- (5) an ability to analyze a problem, and identify, formulate and use the appropriate computing and engineering requirements for obtaining its solution.
- (9) a recognition of the need for, and an ability to engage in continuing professional development and life-long learning.
- (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.
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, Aug 29
|| Lecture #1: Introduction
| Wed, Aug 31
|| Lecture #2: Introduction (1) - Internet architecture
|| Kurose & Ross, Ch. 1.1, 1.2, 1.3
| Mon, Sep 5
|| Labor day (no class)
| Wed, Sep 7
|| Lecture #3: Introduction (2) - Networking Concepts
|| Kurose & Ross, Ch. 1.4
| Mon, Sep 12
|| Lecture #4: Introduction (3) - Protocols, Security
|| Kurose & Ross, Ch. Ch. 1.5, 1.6, 1.7
| Wed, Sep 14
|| Lecture #5: Application Layer (1) – Introduction, Web
|| Kurose & Ross, Ch. 2.1, 2.2
| Mon, Sep 19
|| Lecture #6: Application Layer (2) – HTTP
|| Kurose & Ross, Ch. 2.2
| Wed, Sep 21
|| Lecture #7: Application Layer (3) – FTP, e-mail
|| Kurose & Ross, Ch. 2.3, 2.4
| Mon, Sep 26
|| Lecture #8: Application Layer (4) – DNS, Peer-to-Peer
|| Kurose & Ross, Ch. 2.5, 2.6 Lab 1 due
| Wed, Sep 28
|| Lecture #9: Application Layer (5) – Socket Programming
|| Kurose & Ross, Ch. 2.7, 2.8
| Mon, Oct 3
|| Lecture #10: Transport Layer (1) - Multiplexing, UDP
|| Kurose & Ross, Ch. 3.1, 3.2, 3.3 HW 1 due
| Wed, Oct 5
|| Lecture #11: Transport Layer (2) - Reliable data transfer
|| Kurose & Ross, Ch. 3.4
| Mon, Oct 10
|| Lecture #12: Transport Layer (3) - TCP
|| Kurose & Ross, Ch. 3.5
| Wed, Oct 12
|| Lecture #13: Transport Layer (4) - TCP (cont)
|| Kurose & Ross, Ch. 3.5 Programming Assignment 1 due
| Mon, Oct 17
|| Lecture #14: Transport Layer (5) - Congestion Control
|| Kurose & Ross, Ch. 3.6, 3.7
| Wed, Oct 19
|| Lecture #15: Transport Layer (6) - TCP Congestion Control
|| Kurose & Ross, Ch. 3.7
| Mon, Oct 24
|| Midterm Exam
|| HW 2 due
| Wed, Oct 26
|| Lecture #16:Network Layer (1) - Intro
|| Kurose & Ross, Ch. 4.1
| Mon, Oct 31
|| Lecture #17: Network Layer (2) - Virtual Circuits, Datagrams, Routers
|| Kurose & Ross, Ch. 4.2, 4.3 Lab 2 due
| Wed, Nov 2
|| Lecture #18: Network Layer (3) - IP
|| Kurose & Ross, Ch. 4.4
| Mon, Nov 7
|| Lecture #19: Network Layer (4) - Routing Algorithms
|| Kurose & Ross, Ch. 4.5
| Wed, Nov 9
|| Lecture #20: Network Layer (5) - Routing Protocols
|| Kurose & Ross, Ch. 4.6
| Mon, Nov 14
|| Lecture #21: Activity on Routing Algorithms and Protocols
| Wed, Nov 16
|| Lecture #22: Network Layer (6) - Broadcast and Multicast
|| Kurose & Ross, Ch. 4.7
| Mon, Nov 21
|| Lecture #23: Link Layer (1) - Error Detection/Correction
|| Kurose & Ross, Ch.5.1, 5.2 Programming Assignment 2 due
| Wed, Nov 23
|| Lecture #24: Link Layer (2) - MAC, ARP
|| Kurose & Ross, Ch.5.3, 5.4 HW 3 due
| Mon, Nov 28
|| Lecture #25: Link Layer (3) - Ethernet, Switches
|| Kurose & Ross, Ch.5.5, 5.6
| Wed, Nov 30
|| Lecture #26: Link Layer (4) - PPP, Virtualization
|| Kurose & Ross, Ch.5.7, 5.8, 5.9
| Mon, Dec 5
|| Lecture #27: Physical Layer (1) - Data and Signals
|| Lab 3 due on Tuesday
| Wed, Dec 7
|| Lecture #28: Physical Layer (2) - Data and Signals (cont)
| Mon, Dec 12
|| Lecture #29: Final Review
|| HW 4 due on Tuesday
| Wed, Dec 14
|| Prep day (no class)
| Mon, Dec 19
|| Final Exam @ 10:15am (Exam covers post-midterm material.
However, you are expected to remember important pre-midterm concepts.)
Acknowledgements: Slides are modified from the original slides of the textbook by Prof. Jim Kurose and Keith Ross.
Announcements regarding the course will be posted on this web page
and also sent by e-mail to your UNR e-mail account.
Please daily check your UNR e-mail.
Course Information -
ABET Criteria -
Last updated on Dec 12 1011.