CS 440

Computer Networks

Fall Semester, 2005


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:

  1. Understand the fundamentals of network architectures and be able to apply basic principles to analyze and design computer networks.
  2. Be familiar with the fundamentals of data communications and understand the application of those fundamentals in analyzing the design and performance of computer networks.
  3. Understand the basics of network protocol design and the analysis of protocols.
  4. Understand the security issues involved in networked computer systems.
  5. Know the structure of the TCP/IP protocol stack and be familiar with the use of those protocols.
  6. Understand the basics of switching and routing in networks and the application of those principles in practical networks.
  7. Be able to write network-capable programs using the Unix socket layer libraries.
  8. 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:

  1. 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).
  2. 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).
  3. Assigned programs, which will be used to evaluate the progress of students in implemnting network-capable programs (4,5,7,8).
  4. 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).
  5. A final exam over the laboratory material, to verify student mastery of programming concepts and practical aspects of (7,8).
  6. 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.

MSU Homepage Search
Didn't find it? Please use our contact list or our site index!
© Copyright Montana State University-Bozeman Last updated 2005-11-09 by bwall@cs.montana.edu.