STATE UNIVERSITY OF NEW YORK AT OSWEGO
                 Computer Science Department


    I.  COURSE NUMBER AND CREDIT:

        CSC 445 - 3 S.H.

   II.  COURSE TITLE:

        Computer Networks

  III.  COURSE DESCRIPTION:

        An introduction to the organization and structuring
        of computer networks.  Emphasis will be placed on the
        actual programming required to implement a computer
        network.

   IV.  PREREQUISITES:

        CSC 241 - Data Structures and Programming Techniques

    V.  JUSTIFICATION:

        Students of computer science should have a working
        knowledge of computer networking.

        Exposure to the actual hardware that is used to
        implement a computer network is included in this
        course.  Exposure to different types of hardware and
        how the hardware interfaces with computer is critical
        to the understanding of computer science.

        In this course the student will be exposed to and
        expected to adhere to several well-known standards.
        The course is based on the Reference Model of Open
        Systems Interconnection (OSI), a model proposed by
        the International Standards Organization.  Various
        Department of Defense standards will be studied and
        implemented.  This exposure will enable the student
        to understand the need and importance of such
        standards.

        Students will be expected to write programs that will
        implement an actual computer network.  Understanding
        how the various components interact and how the
        problem can be broken down into a number of well-
        defined layers provides the student with an example
        of structured programming at work.  In addition, they
        will understand why large computer systems must be
        built in small steps.

   VI.  COURSE OBJECTIVES:

        As a result of this course, students will be able to:
        1.  Understand what a network is and how it may be
            used.
        2.  Understand the ISO reference model.
        3.  Be familiar with and understand several DOD
            standards.
        4.  Examine the ways in which networks are connected
            together.
        5.  Become familiar with the way in which data is
            physically communicated.
        6.  Study how software can be designed to create
            error-free communication.

  VII.  COURSE OUTLINE:

        1.  Introduction to Computer Networks
            a)  Definition
            b)  Uses
            c)  Network Architectures
            d)  The ISO Reference Model
            e)  Public Networks

        2.  The Physical Layer
            a)  Data Communication Theory
            b)  Transmission and Multiplexing
            c)  Serial Technologies
            d)  Broadband
            e)  Baseband

        3.  The Data Link Layer
            a)  Definition
            b)  Simplex Protocols
            c)  Sliding Window Protocols
            d)  Analysis
            e)  Implementation in Hardware

        4.  The Network Layer
            a)  Virtual Circuits and Datagrams
            b)  Routing Algorithms
            c)  Local Area Networks

        5.  Internetworking
            a)  The DARPA Internet
            b)  Machine Independence
            c)  Address Resolution Protocols
            d)  Internet Protocol (IP) and Routing

        6.  The Transport and Session Layers
            a)  Design Issues
            b)  User Datagram Protocol (UDP)
            c)  Transmission Control Protocol (TCP)

        7.  The Presentation Layer
            a)  Network Security and Privacy
            b)  Text Compression
            c)  File Transport Protocols

        8.  The Application Layer
            a)  Distributed processing
            b)  Remote procedure calls
            c)  Distributed operating systems

 VIII.  METHODS OF INSTRUCTION:

        1.  Lectures.
        2.  Readings.
        3.  Programming assignments.

   IX.  COURSE REQUIREMENTS:

        1.  Readings from a main text and current and
            classical papers.
        2.  Individual programming assignments.
        3.  Class presentations.

    X.  MEANS OF EVALUATION:

        1.  Individual programming assignments.
        2.  Examination.
        3.  Class presentations.

   XI.  RESOURCES:

        No additional resources are required.

  XII.  BIBLIOGRAPHY:

        Bach, M. (1986). "The Design of the Unix Operating
           System." Englewood Cliffs, NJ: Prentice-Hall.

        Black, U. (1987). "Computer Networks". Englewood
           Cliffs, NJ: Prentice-Hall.

        Bersekas, U. & Gallager, R. (1987). "Data Networks."
           Englewood Cliffs, NJ: Prentice-Hall.

        Comer, D. (1987). "Operating System Design Internet-
           working with Xino." Englewood Cliffs, NJ:
           Prentice-Hall.

        Peterson, J. & Ssilberschatz, A. (1985). "Operating
           System Concepts." Menlo Park, CA: Addison-
           Wesley.

        Stallings, W. (1987). "Handbook of Computer
           Communications Standards." New York: Macmillan.

        Schwartz, M. (1977). "Computer-Communication Network
           Design and Analysis." Englewood Cliffs, NJ:
           Prentice-Hall.

        Tanenbaum, A. (1981). "Computer Networks." Englewood
           Cliffs, NJ: Prentice-Hall.
 Last Updated: 7/9/07