CMPS 376 Computer Networks
Sections 1 and 2 - Fall 2014
Instructor and Contact Information
Melissa Danforth
Office: Sci III 319 (NOTE: Office has changed since Spring), 654-3180 (same number)
Office Hours: MTu 2:00-3:00pm, M 5:00-6:00pm, F 2:00-4:00pm
Email: melissa@cs.csubak.edu

Course website: http://www.cs.csubak.edu/~melissa/ under Teaching menu
Moodle website: http://moodle.cs.csubak.edu/moodle/course/view.php?id=84

Course meets MW 3:15-4:55pm and Tu 3:15-5:45pm in Sci III 315

Catalog Description
CMPS 376 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
5 quarter units. 4 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
Chapter 2 The Physical Layer Weeks 1 to 2
(Review) Statistical Models Week 3
Chapter 3 The Data Link Layer Weeks 3 and 4
Chapter 4 The Medium Access Sublayer Weeks 4 to 6
Chapter 5 The Network Layer Weeks 6 to 7
Chapter 6 The Transport Layer Weeks 8 to 9
Chapter 7 The Application Layer Week 10
Chapter 8 Network Security Week 10
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/Homework 25%
Midterms 50% (25% for each midterm)
Final 25%
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 not accepted, however partial credit will be given for incomplete labs. The lowest lab grade will not count towards your overall Lab/Homework total.

Late homework is accepted, but it will be marked down 10% for every day it is late. Saturday and Sunday combined count as only one day late (e.g. if the assignment is due Friday and you turn it in Sunday, it will be marked as one day late). If there is a late policy stating the last day the assignment can be turned in late posted on the assignment, then that policy will apply for that particular assignment. Otherwise, homework assignments that are more than three days late will not be 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.

Do NOT use Microsoft Office formats, particularly DOCX or XLSX, as they cannot be read by the instructor on all grading machines. Do not use GMail or any other email method for the coding assignments as the campus spam filter may block the email without notifying the either you or the instructor.

Allow at least one week after the assignment due date for the grade to be posted to Moodle. All coding assignments will have the Comment section of Moodle updated to say "assignment received" within a day or two of the instructor receiving the email, even if the assignment has not yet been graded.

It is your responsibility to check Moodle to see if your assignment has been received. If you believe you emailed the assignment on time but the instructor has not received it, contact the instructor.

Midterms
Midterm 1 will be on Tuesday October 14, 2014 during lab time
Midterm 2 will be on Tuesday November 4, 2014 during lab time

If you cannot make the midterm due to class conflicts, you can schedule an alternate time by contacting the instructor at least ONE WEEK in advance.

Makeup midterms will not be given, but the other midterm will be counted proportionally higher if you have a valid reason for missing a midterm. You must notify the instructor of the reason for missing the midterm as soon as possible after missing the midterm.

Final
Monday November 24, 2014 from 5:00-7:30pm in Sci III 315

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
Melissa Danforth on 31 December 2013
Approval
Approved by CEE/CS Department on [date]
Effective Winter 2014