CS 471G Networking and Distributed Operating Systems

University of Kentucky
Department of Computer Science
CS 471G Networking and Distributed Operating Systems
1.  Course Number/Name:  CS 471G, Networking and Distributed Operating Systems
2.  Credits and Contact Hours:  3 credits, 3 contact hours
3.   Instructor:  assigned by the department
4.   Textbook:  James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, 5th Edition, Addison Wesley             (Pearson), 2010.
5.   a.  Catalog Description:  Broad overview of concepts in networking and distributed operating systems with examples. Topics
           will include protocol stacks, link, network, transport, and application layers, network management, the client-server model,
           remote procedure calls, and case studies of distributed OS and file systems.
b.  Prerequisites:  CS 315 and graduate or engineering standing
c.  Required course:  Elective

6.  a.   Outcomes of InstructionAt the conclusion of CS471G the student should be able to:
              1.    Explain how information is encoded for transmission over digital channels. Explain the concepts of channel capacity
      ("bandwidth") and latency.
 2.    State and recognize the framing problem. Describe, apply and implement solution techniques.
 3.    State the fundamental paradigm of error detection, and evaluate error detection mechanisms for effectiveness under
       given conditions. Describe, apply, and implement parity-, checksum-, and CRC-based error detection.
 4.    Identify three different approaches to implementing a local area network, their advantages, disadvantages, and limiting
 5.    Explain the basics of operation of important Internet protocols including IP, TCP, mail, and web protocols.
 6.    Design, code, and test simple client and server programs that communicate via a network.
b.   Contributions to Student Outcomes from Criterion 3













CS 471G












3- Strongly supported   2 – Supported   1 – Minimally supported
 7.   List of Topics Covered:
            1.   Introduction, digital channels, delay, bandwidth
            2.   Network applications, HTTP, FTP, SMTP, DNS, P2P, socket programming
            3.   Transport layer, UDP, reliability, TCP
            4.   Network layer, virtual circuits versus datagram, routers, IP forwarding and routing
            5.   Link layer, error detection, framing, MAC addresses, Ethernet
            6.   Wireless and mobile networks
            7.   Remote procedure call, distributed operating systems and file systems