State University of New York at Oswego

  1. COURSE NUMBER AND CREDIT

    CSC 445 - 3 Semester Hours

  2. COURSE TITLE

    Computer Networks

  3. 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.

  4. PREREQUISITES

    CSC 241

  5. COURSE JUSTIFICATION

    The theory and practice surrounding computer networks form a central role in the design and development of most software systems and applications.

    Software Engineering Curriculum Justification: This course provides in-depth content-oriented coverage of software design, construction, testing, measurement and metrics, tools, and project management.

  6. COURSE OBJECTIVES

    Upon successful completion of this course, students will be able to:

    1. Understand the physical transports, switching, and links underlying computer networks
    2. Implement common network protocols
    3. Analyze, test and measure throughput, latency, and related properties of networks.
    4. Design and implement network and web services that meet realistic requirements and constraints.
    5. Design, implement, and use distributed services

  7. COURSE OUTLINE

    1. Network Structure and Implementation
      1. Layered System Design
      2. Point-to-Point and shared media
      3. Switching
    2. Internetworking
      1. IP and Routing
      2. TCP and UDP
      3. Congestion control and Quality of Service
      4. Application protocols such as HTTP and, FTP
    3. Distributed Systems
      1. RPC and remote invocation
      2. Naming, Security, Caching
      3. Group communication
      4. Peer-to-peer systems
    4. Engineering Networked Software
      1. Performance modeling and measurement
      2. Socket programming
      3. Network software design principles and patterns
      4. Frameworks: CORBA, Jini, etc

  8. METHODS OF INSTRUCTION

    1. Lectures.
    2. Exercises
    3. Projects

  9. COURSE REQUIREMENTS

    1. Readings from a main text
    2. Exercises
    3. Projects, both individual and group, entailing understanding of network software development and, experience with requirements, design, implementation, testing, documentation, and broader context of use.

  10. MEANS OF EVALUATION

    1. Examinations.
    2. Exercises
    3. Project presentations and submissions

  11. RESOURCES

    No additional resources are required.

  12. BIBLIOGRAPHY

    D. Comer, Computer Networks, 4th edition, Pearson Prentice Hall, 2004.

    J. Kurose, amd K. Ross Computer Networking, Pearson, 2001.

    L. Peterson and B. Davies. Computer Networks, 3rd edition, Morgan Kaufman, 2003.

    R. Stevens Unix Network Programming, Volumes 1-3, Prentice Hall.

    A. Tanenbaum, A. Computer Networks 4th edition, 2003.


Document:
URL:
Last Update: