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
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
C/C++ Programming
Data Structures
Introduction to Algorithms
5 quarter units. 4 units lecture (200 minutes), 1 unit lab (150 minutes).
Required for CS
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.
None
Melissa Danforth, Marc Thomas
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
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.
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 |
Not applicable to this course.
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.
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.
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.
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.
Labs/Homework | 25% |
Midterms | 50% (25% for each midterm) |
Final | 25% |
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 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.
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.
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.
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.
Melissa Danforth on 31 December 2013
Approved by CEE/CS Department on [date]
Effective Winter 2014