State University of New York at Oswego

  1. COURSE NUMBER AND CREDIT

    CSC 436 - 3 Semester Hours

  2. COURSE TITLE

    Networked Systems

  3. COURSE DESCRIPTION

    A project-based seminar in constructing and managing networked systems and services. Topics include configuration and maintenance of heterogeneous networks, name services, directory services, system management, security, and constructing web-based services and applications. The main course requirement is a term project establishing these capabilities in an isolated laboratory network.

  4. PREREQUISITES

    CSC 365

  5. COURSE JUSTIFICATION

    Networked system services and software (which are often together termed "middleware") are of increasingly central importance. Yet many of the particular services, their usage, and their underlying designs and properties are rapidly changing. Rather than teach transiently-useful skills, this course prepares students to continually learn about and apply them.

    Software Engineering Curriculum Justification: This course provides in-depth content-oriented coverage of software configuration, design, maintenance, evolution, monitoring, tools, and project management.

  6. COURSE OBJECTIVES

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

    1. Construct, manage, and control a wide range of services on contemporary networked computer systems.
    2. Learn and teach others about particular services and systems, and associated skills.
    3. Work with others in planning and carrying out a semester-long system management project.
    4. Apply practical skills of installing and managing systems and software.

  7. COURSE OUTLINE

    NOTE: There are several approaches to organizing this course. However, they maintain the essential commonalities of

    1. An emphasis on learning how to learn: Rather than being taught transient technical skills, students should be required to themselves learn the theory of operation, design, implementation, and practical usage of systems and services.
    2. An emphasis on learning by doing: The pragmatics of establishing and managing services are best learned by applying them.

      The following sample outline demonstrates one means of delivery. The first phase of the course covers required preliminaries. The second phase is focused on projects. Alternatively, these two aspects could be interleaved throughout the course.

    1. Preliminary Lectures
      1. Operating system and networking architecture
        1. Brief survey of basic APIs and protocols
        2. The nature and role of middleware
      2. Systems programming
        1. Scripting with shells and system-level scripting languages
        2. Administrative programming in languages such as Java and C
      3. Middleware design
        1. Client/server, peer-to-peer, object-oriented approaches
        2. Protocols
        3. Security
        4. Interoperability and Standards conformance
    2. Configuration and Pragmatics
      1. Obtaining, installing, and configuring systems
      2. Using system administration and spplications servers tools
      3. Maintaining and evolving legacy systems
      4. Interoperating across middleware frameworks
    3. Project Seminar
      1. Project Assignment. Examples include Directory services, Secure client services, sysadmin tools, distributed object services, and WWW services.
      2. Seminar-style presentations in which students teach others particular skills, or about the nature of particular services that they encounter in the course of their projects.
      3. Project demonstrations and evaluations.

  8. METHODS OF INSTRUCTION

    1. Lectures
    2. Project
    3. Tutorial presentations by students

  9. COURSE REQUIREMENTS

    1. Project
    2. Tutorial presentations by students

  10. MEANS OF EVALUATION

    1. Project demonstrations
    2. Tutorial presentations by students
    3. Associated project "deliverables", for example web pages and documentation.

  11. RESOURCES

    This course requires exclusive use of computers on isolated networks, as well as occasional use of other more normally configured computers. As of this writing, the CS dept has adequate facilities to offer this course during summer sessions when certain computers are otherwise unused and so can be dedicated for this course.

  12. BIBLIOGRAPHY

    The vast majority of readings and resources for this course are on the world-wide-web. Additionally, there are specialized books dealing with particular services that may be the subject of projects. All of these are of transient value. Books dealing with the preliminary material covered in this course include:

    Garfinkel, S., and Gene Spafford. Practical UNIX & Internet Security. O'Reilly, 1996.

    Robbins, Arnold. UNIX in a Nutshell. O'Reilly, 1999.

    Stevens, Richard. Advanced Programming in the UNIX Environment Addison-Wesley, 1992.


Document:
URL:
Last Update: