CMPS 3620 Computer Networks
Instructor and Contact Information

Course website: Moodle website:

Catalog Description
CMPS 3620 Computer Networks (5)
A study of computer networks focusing on the TCP/IP Internet protocols and covering in detail the four layers: physical, data link, network, and transport. This course includes a laboratory in which students will cover important network utilities, debugging tools, process and thread control as it relates to network programming, and the coding of programs which do interprocess communication over sockets. The typical Internet client program which accesses a TCP network server daemon will be covered in detail. Each week lecture meets for 200 minutes and lab meets for 150 minutes. Prerequisite: CMPS 223 with a grade of C- or better
Prerequisites by Topic
C/C++ Programming
Data Structures
Introduction to Algorithms
Units and Contact Time
4 semester units. 3 units lecture (200 minutes), 1 unit lab (150 minutes).
Type
Required for CS
Required Textbook
Computer Networks, 5th edition, Andrew S. Tanenbaum and David J. Wetherall, Prentice Hall, 2011, ISBN-13 978-0-13-212695-3.
The 4th edition may also be used, but the 5th edition contains information on newer networking protocols.
Recommended Textbook and Other Supplemental Materials
None
Coordinator(s)
Melissa Danforth, Marc Thomas
Student Learning Outcomes
This course covers the following ACM/IEEE Body of Knowledge student learning outcomes:

CC-NC1: Introduction to net-centric computing
CC-NC2: Communication and networking
CC-NC3: Network security
CC-NC4: The web as an example of client-server computing

ABET Outcome Coverage
The course maps to the following performance indicators for Computer Science (CAC/ABET):
(CAC PIa1): Apply and perform the correct mathematical analysis.
Apply statistical methods including the binomial and Poisson distributions to analyze common networking scenarios such as Ethernet contention, error rates, queueing theory, and channel efficiency.
(CAC PIa2): Prepare and solve the appropriate physical model of the problem.
Apply Shannon's law and Nyquist's theorem to appropriate models of the physical layer of the networking stack.
(CAC PIe2): Recognize and describe current issues in security.
Describe at least one protocol that adds security to the TCP/IP protocol stack. Analyze scenarios involving network security such as the appropriate use of security techniques for a given scenario or the limitations of common encryption protocols.
(CAC PIi1): Program in a suitable computer language.
Use the socket API for the TCP/IP protocol stack to code a simple client-server application in the C programming language.
(CAC PIi3): Utilize problem solving skills and techniques to complete the task.
Analyze common networking scenarios and apply the appropriate techniques to derive a solution.
Lecture Topics and Rough Schedule
Chapter 1 Introduction Week 1 - 2
Chapter 2 The Physical Layer Weeks 3 - 4
(Review) Statistical Models Weeks 5 - 6
Chapter 3 The Data Link Layer Weeks 7 - 8
Chapter 4 The Medium Access Sublayer Weeks 9 - 10
Chapter 5 The Network Layer Weeks 11 to 12
Chapter 6 The Transport Layer Week 13
Chapter 7 The Application Layer Week 14
Chapter 8 Network Security Week 15
Design Content Description
Not applicable to this course.
Course Notes
The lectures will focus extensively on the theory of networking and the details of several popular networking protocols (e.g. Ethernet, 802.11, TCP/IP, etc). The theory has a strong mathematics component, particularly for calculating probabilities of events. A brief background of probabilty and statistical methods will be presented in class for students who have not taken the probability course in Mathematics.
Attendance
Students are responsible for their own attendance. The topics covered in lecture will be listed on the course website. Lab attendance is not required but is strongly encouraged.
Academic Integrity Policy
Assignments may discussed in groups. If the assignment is a group assignment, the group turns in one assignment for the entire group. However, if the assignment is an individual assignment, each student must turn in their own work; no direct copying is allowed. You may discuss individual assignments with other students, but you must write up the assignment in your own words. Any direct copying from other students, the textbook, Internet resources, etc. that the instructor detects will result in a grade of 0 for that assignment. Refer to the Academic Integrity policy in the campus catalog.
Computer Labs Outside of Class
The CEE/CS Tutoring Center in Sci III 324 is available for use by students in this course outside of class time on a first come, first serve basis. Priority in the lab is given to students who are completing assignments for CEE/CS courses. See the schedule on the door for hours the lab will be open.

There are also computers available in the CEE/CS Major Study Lounge in Sci III 341 (formerly the CEE/CS Library). This room is only open when faculty members are on campus, e.g. approximately 8am to 5pm on weekdays. If the door is currently locked, see Steve, Erika, myself, or another faculty member to unlock it.

Grading
Labs 33%
Homeworks 33%
Final 33%
Participation 1%
Homework/Lab Policies
Labs will be group assignments. Each group, consisting of 1-3 students, will turn in one assignment for the entire group. Be sure all names are on the assignment so all group members receive credit.

Homeworks may be discussed in groups, but every student must turn in their own assignments in their own words. Refer to the Academic Integrity Policy above.

Assignments will be posted online on the course website. The due date will be given with the assignment.

Late Policy
Late labs are accepted. Partial credit will be given for incomplete labs.

Late homework is accepted.

Homework/Lab Submission
Assignments are submitted by emailing the instructor from the CEE/CS department server (coding assignments) or by attaching files to the Moodle website (non-coding assignments). All files must be in text, OpenOffice or PDF format. If scanning a hand-written page, use a standard image format such as JPG, PNG, or GIF, or use PS or PDF format.
Final
May 2020

If you cannot make the scheduled final time because it conflicts with another final or you have more than two finals scheduled that day, you MUST contact the instructor ONE WEEK in advance of the final to schedule an alternate time.

Prepared By
Eddie Rangel
Approval
Approved by CEE/CS Department on [date]
Effective Winter 2014