Course Home
Syllabus
Schedule
Labs
Programming Assignments
Research Paper
Glossary
Additional Materials
|
Fall 2005
|
Room & Time:
Lecture:
MWF, 9:00-9:50 AM,
EPS 108
Laboratory:
Sec. 03, Thur., 8:00-9:50 AM,
EPS 254
Sec. 04, Tue., 10:00-11:50 AM,
EPS 254
Final Exam
Dec. 16, 8:00-9:50 AM
|
Instructor:
Bob Wall
bwall@cs.montana.edu
www.cs.montana.edu/~bwall
EPS 352
994-5978
Office Hours:
MWF, 10:00-10:50 AM
T, 9:00-9:50 AM
|
TA:
Anthony Arnone
arnone@cs.montana.edu
www.cs.montana.edu/~arnone
EPS 110
Office Hours:
T, 8:00-9:50 AM
|
|
|
Syllabus
Catalog Description
4 credits, 3 lecture, 1 laboratory
Semester taught: Fall
Prerequisite: CS 223 or CS 302
How computer systems are organized into networks and how communication
over networks is organized. Communication protocols and their design with
an emphasis on current technology and implementation of software.
Course Objectives
The objectives of this course are:
- Understand the fundamentals of network architectures and be
able to apply basic principles to analyze and design
computer networks.
- Be familiar with the fundamentals of data communications and
understand the application of those fundamentals in analyzing
the design and performance of computer networks.
- Understand the basics of network protocol design and the
analysis of protocols.
- Understand the security issues involved in networked computer systems.
- Know the structure of the TCP/IP protocol stack and be familiar
with the use of those protocols.
- Understand the basics of switching and routing in networks
and the application of those principles in practical networks.
- Be able to write network-capable programs using the Unix socket
layer libraries.
- Understand the structure of client-server systems and be able to
build client-server programs of moderate size.
The assessment of how well these objectives were met will be based on:
- Quizzes, a mid-term, and a final exam over lecture material, which
will be used to determine the level of understanding of fundamental
concepts.
(1,2,3,4,5,6).
- In-class assignments, which will be used to improve understanding of
materials and to verify that students are progressing satisfactorily
(1,2,3,4,5,6).
- Assigned programs, which will be used to evaluate the progress of
students in implemnting network-capable programs (4,5,7,8).
- Pre-lab assignments and lab write-ups, which will be used to improve
understanding, provide hands-on experience with various aspects of
networking, and verify that students are making satisfactory progress in
understanding implementation methods (4,5,7,8).
- A final exam over the laboratory material, to verify student
mastery of programming concepts and practical aspects of (7,8).
- A paper on a network-related topic of the student's choosing will allow
students to explore other interesting topics in computer networking
(1,2,3,4,5,6).
ABET Discussion
Course Outline:
- Part I - An overview of network services
- An overview of networking, including a discussion of the current network
at Montana State University.
- How the Web works - http, web servers and browsers.
- Part II, Network organization and physical communications
- Network standards - who, what, why, how.
- Data communications - how electronic communication works.
- Ethernet, WiFi modems and other physical layer mechanisms.
- Part III, Protocols and messaging systems, TCP/IP
- TCP/IP Protocol architecture.
- Switching and forwarding
- Routing - distance vector and link state methods
- Name services
Fall 2005 Details
Room & Time:
Lecture:
Section 02, MWF, 9:00 - 9:50 AM, EPS 108
Laboratory:
Section 03, Thur., 8:00 - 9:50 AM, EPS 254
Section 04, Tue., 10:00 - 11:50 AM, EPS 254
Final Exam
December 16, 8:00 - 9:50 AM
Course Organization:
Computer networks is a huge body of material - far more than can reasonably
be covered in one semester. Rather than attempting to discuss every section
of the book, the course will be organized into larger bodies of material,
possibly covering parts of several chapters and outside materials. The
lectures will concentrate on conceptual issues, and may jump around the
textbook occasionally. If you want a particular topic discussed, feel free
to suggest it either in class or by email.
Material from outside the textbook will be common in lectures and in
homework assignments.
Textbook:
- Computer Networks: A Systems Approach, Third Edition,
Peterson and Davie
Policies
Quizzes are a significant part of the grade for the class. They will be given
every other Wednesday, to avoid conflicts with interview trips. You will not
be allowed to make up missed quizzes, but the lowest quiz grade for the semester
will be dropped.
Assignments will be due at the start of class on the due date. Late assignments
will not be accepted unless you have an excused absence.
Active Learning:
Gary's write-up about Active Learning.
A certain amount of active learning will be included in the class. This
could come in a variety of forms, but will generally mean that the lecture
time will be partially consumed with individual or group assignments regarding
topics of interest. The paper also plays a role in this process.
Part of the active learning scenario will be that assignments that are
completed and submitted for grading, and quizzes will be a signficant part of
the final grade. Class attendance and participation will be important.
Laboratories and Programming Assignments:
The programming assignments make up 25% of the credit for the course.
Everyone is expected to work on the programming assignments independently and
no credit will be given for team efforts. That also means that glaring
similarities between two programs will be treated as a violation of the
University Conduct Policy.
In an effort to insure sufficient Linix/Unix and C experience for graduating
seniors, all assignments must be done using the C (or C++) programming language
and using the Linux operating system. The exception will be the final programming
project, which can be done in any language you choose.
The laboratory represents 10% of the credit for the course. In the labs you will
be exposed to a variety of network properties that are of interest to computer
scientists, including writing network programs, simulating different network
topologies, examining the data being transmitted over a network, and configuring
networking equipment. Part of the lab time will also be reserved for resolving
questions about programming assignments.
There will be a final exam over the laboratory material during the last
laboratory period of the semester.
More information can be found on the Laboratory Page.
Final Exam:
The final exam will be given during the time specified in the Semester schedule,
which is 8-9:50 AM on Friday, December 16. No finals will be given early.
Grading:
Quizzes |
20% |
Mid-Term |
15% |
Final |
20% |
Programs and Assignments |
25% |
Labs |
10% |
Paper and Class Participation |
10% |
Grades will be posted electronically on a weekly basis (more or less)
using your student id number as the key. If you don't want your grades posted,
notify me. If you want me to use some other key, send it to me electronically.
|
|