CS 371 Introduction to Computer Networking

University of Kentucky
Department of Computer Science
CS 371: Introduction to Computer Networking
1.  Course Number/Name:  CS 371, Introduction to Computer Networking

2.  Credits and Contact Hours:  3 credits, 3 contact hours

3.   Instructor:  assigned by department

4.   Textbook:  James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, 6th Edition, Addison Wesley 
                         (Pearson), 2012.

5.   a.  Catalog DescriptionIntroduction to the principles and concepts of the Internet; data communications and digital channel
           characteristics; networking applications and protocols, client-server paradigm and network programming; reliable data
           transfer, end-to-end transport; addressing, forwarding and routing, datagram networks; media access control, data link
           control; selected topics from cloud computing, network security and network management. Concepts are combined with
           programming and other hands-on assignments to enhance the learning of these topics.

b.  Prerequisites:  CS 270, CS 315

c.  Required course
6.  a.   Outcomes of InstructionAt the conclusion of CS 371 the student should be able to:

                 1.  Describe the operation of common systems and protocols used in the Internet.
                 2.  Analyze and explain the factors affecting performance (throughput and delay) in systems that communicate over the
    3.  Explain approaches and protocols for implementing reliable data transfer over an unreliable channel.
    4.  Describe the organization of the Internet infrastructure, and explain the principles and algorithms related to routing  and forwarding in large-scale networks.
    5.  Describe and explain principles and approaches of sharing a transmission channel among multiple stations.
    6.  Implement an application-level communication protocol from a given specification.
b.   Contributions to Student Outcomes from Criterion 3













CS 371












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.    Network security, cloud computing