Yang Xiao Home

CS 371 (Spring 2024)
Introduction to Computer Networking

Course Information

Instructor: Yang Xiao (contact: xiaoy[AT]uky.edu)
Meeting Times: M/W/F 11:00 AM – 11:50 AM Eastern Time (location: register course to know)
Office Hour: Hardymon Rm 233, W/F 1:00 PM – 2:00 PM Eastern Time
TA: Alex Barrera

Course Description

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

Course Schedule (Tentative)

Week Agenda ([R]: Required Reading, [S]: Suggested Reading) Notes
1
  • 01/08: Lec1: Course Introduction.
  • 01/10: Lec2: Types of Networks.   ([R] textbook Ch. 1.2, 1.3, 1.4.1; [S] A Brief History of NSF and the Internet)
  • 01/12: Lec3: Protocols and Reference Models, Encapsulation   ([R] textbook Ch. 1.5, 1.6)
  •  
    2
  • 01/15: No class – Martin Luther King Day holiday
  • 01/17: Lec4: Standardization, social issues; starting physical layer   ([R] textbook Ch. 1.7, 2.1, 2.2; [S] Net neutrality - Wikipedia)
  • 01/19: Lec5: Foundations of data communication.   ([R] textbook Ch. 2.4.1, 2.4.2)
  • HW1 out 01/18
    3
  • 01/22: Lec6: Digital modulation, multiplexing, switching   ([R] textbook Ch. 2.4.3, 2.4.4, 2.5.4)
  • 01/24: Lec7: Telephone and cellular networks   ([R] textbook Ch. 2.5, 2.6)
  • 01/26: Lec8: Starting data link layer, framing, error control   ([R] textbook Ch. 3.1, 3.2)
  • HW1 due 01/28
    4
  • 01/29: Lec9: Elementary data link layer protocols   ([R] textbook Ch. 3.3)
  • 01/31: Lec10: Improving efficiency: piggybacking, full-duplex, sliding window   ([R] textbook Ch. 3.4)
  • 02/02: Lec11: Starting MAC sublayer, multiple access protocols   ([R] textbook Ch. 4.1, 4.2; [S] ALOHAnet - Wikipedia)
  • HW2 out 01/30
    5
  • 02/05: Lec12: Ethernet and 802.3   ([R] textbook Ch. 4.3)
  • 02/07: Lec13: Wireless LAN and 802.11   ([R] textbook Ch. 4.4)
  • 02/09: Lec14: Data link layer switching, QoS
  • HW2 due 02/10, HW3 out 02/11
    6
  • 02/12: Lec15: Socket programming basics; PA1 walk-through   ([R] textbook Ch. 6.1)
  • 02/14: Lec16: Network layer basics   ([R] textbook Ch. 5.1)
  • 02/16: Lec17: Routing algorithms   ([R] textbook Ch. 5.2)
  • PA1 out 02/12
    7
  • 02/19: Lec18: Traffic Management & QoS   ([R] textbook Ch. 5.3)
  • 02/21: Lec19: QoS and QoE   ([R] textbook Ch. 5.4)
  • 02/23: Lec20: Internet Protocol (IP), addressing   ([R] textbook Ch. 5.5.1, 5.7.1, 5.7.2)
  • HW3 due 02/21, HW4 out 02/23
    8
  • 02/26: Lec21: IPv4/v6 Headers, Tunneling, Fragmentation   ([R] textbook Ch. 5.7.3, 5.7.4)
  • 02/28: Lec22: Internet Control Protocols, OSPF, BGP   ([R] textbook Ch. 5.7.5 - 5.7.7)
  • 03/01: Lec23: Network Layer wrap; Homework Problems Review
  • PA1 due 02/26, HW4 due 03/02
    9
  • 03/04: Lec24: Midterm Review
  • 03/06: Midterm Exam (in class)
  • 03/08: Lec25: Transport Layer Basics, UDP   ([R] textbook Ch. 6.2, 6.4)
  • PA2 out 03/08
    10
  • 03/11: No class – Spring Break
  • 03/13: No class – Spring Break
  • 03/15: No class – Spring Break
  •  
    11
  • 03/18: Lec26: TCP   ([R] textbook Ch. 6.5.1-6.5.9)
  • 03/20: Lec27: Congestion Control Basics and TCP Congestion Control   ([R] textbook Ch. 6.3, 6.5.10)
  • 03/22: Lec28: Transport Layer Performance Issues   ([R] textbook Ch. 7.1)
  • 12
  • 03/25: Lec29: Starting Application Layer, Domain Name System   ([R] textbook Ch. 7.1)
  • 03/27: Lec30: Email   ([R] textbook Ch. 7.2, 8.11)
  • 03/29: Lec31: The World Wide Web   ([R] textbook Ch. 7.3)
  • 13
  • 04/01: Lec32: Content Delivery, P2P Network   ([R] textbook Ch. 7.5)
  • 04/03: Lec33: Streaming Audio/Video, H.323 and SIP   ([R] textbook Ch. 7.4)
  • 04/05: Lec34: Network Security Basics; Ingradients of an Attack   ([R] textbook Ch. 8.1, 8.2)
  • PA2 due 04/01, HW5 due 04/03, HW6 out 04/06
    14
  • 04/08: Lec35: Cryptography and Ciphers   ([R] textbook Ch. 8.4)
  • 04/10: Lec36: Symmetric-key and Public-key Encryption Algorithms   ([R] textbook Ch. 8.5, 8.6)
  • 04/12: Lec37: Digital Signature and PKI   ([R] textbook Ch. 8.7, 8.8)
  • PA3 out 04/08
    15
  • 04/15: Lec38: Authentication   ([R] textbook Ch. 8.9)
  • 04/17: Lec39: Communication Security, Web Security and TLS   ([R] textbook Ch. 8.10, 12)
  • 04/19: Lec40: Firewalls and Intrusion Detection; TCP Injection Attacks   ([R] textbook Ch. 8.3)
  • PA3 due 04/19
    16
  • 04/22: (Prep Days) Lec41: Bitcoin and Blockchain System
  • 04/24: (Prep Days) Lec42: Final Exam Review & Homework Problems Review
  • 04/26: No class.
  • HW6 due 04/21
    17
  • 05/01 (Wed): Final exam, 10:30 AM - 12:30 PM, in classroom
  •  

    Learning Outcomes

    After completing CS 371, you will be able to:

    ◾  Explain how information is encoded for transmission over digital channels, and to explain the concepts of channel capacity (``bandwidth") and latency.
    ◾  Explain how to implement reliable data transfer over an unreliable channel.
    ◾  Explain how packets are delivered in datagram networks.
    ◾  Explain the basics of operation of important Internet protocols including IP, TCP, DNS, SMTP and HTTP protocols.
    ◾  Design, code, and test simple client and server programs that communicate via a network.
    ◾  Design, implement and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline. (ABET SO2)
    ◾  Understand the design and development principles in the construction of software systems of varying complexity.

    Policies

    Academic Integreity: Please strictly follow the Academic Offenses Rules (plagiarism, cheating, and falsification or misuse of academic records). Also keep in mind that any copyrighted materials (e.g., images and other media), published contents (e.g., academic papers, books, web sources, online tools) used in your submissions should be properly cited. Help from other people should be properly acknowledged.

    Late Policy: Only submissions through Canvas before the deadline will not receive any penalty. Late homework or project submissions will be subject to a 10% grade penalty if you submit 24 hours after the deadline or 25% grade penalty if you submit 24-48 hours after the deadline. It is possible to email such late submissions (and subject to the said grade penalty) to the TA by email if the student cannot access Canvas for any reason. After this 48-hour period, no late submission will be accepted, and the assignment will receive a grade of zero.

    Disability and Special Accommodation: Please let the instructor know of any needed accommodation in the first two weeks. Please also see Academic Accommodation for further assistance.

    Academic Policy Statements, Diversity, Equity, and Inclusion, Resources Available to Students

    Learning/Research Resources

    UK Libraries, Free Tutoring and Coaching at UK, Google Scholar, ACM Digital Library, IEEE Xplore, dblp: computer science bibliography