ECE/COMPSCI 356 – Fall 2019

Overview: This course introduces students to the fundamentals of computer networks. The layered architecture of the network protocol stack is the focus of discussion. A variety of case studies will be drawn from the Internet, combined with practical programming exercises. At the end of the semester, students will have an understand of core networking concepts, including the Internet architecture, HTTP, DNS, P2P, Sockets, TCP/IP, BGP, Routing protocols, and wireless/mobile networking. The students will be able to answer questions such as how to achieve reliable/secure communications over unreliable/insecure channels, how to find a good path through a network, how to share network resources among competing entities, how to find an object in the network, and how to build network applications.

Lecture times: Mondays, Wednesdays 01:25 PM – 02:40 PM, Hudson Hall 125

Professor office hours: Mondays 10:30 AM – 11:30 AM, Wednesdays 04:00 PM – 05:00 PM, CIEMAS 2471
Professor contact: Maria Gorlatova maria.gorlatova@duke.edu

Textbook: Larry L. Peterson, Bruce S. Davie, Computer Networks: A Systems Approach. 5th or 4th edition. In-progress “6th edition” of the book is available online at https://book.systemsapproach.org/.
Piazza: https://piazza.com/duke/fall2019/compsciece356/home

Lecture 1: Aug. 26th. Introduction to the course.
Lecture 2: Aug. 28th. Network Design Principles. Internet Architecture. Reading: PD 1.1-1.3, 1.5.
Lecture 3: Sept. 2nd. Introduction to Network Programming Reading: PD 1.4. Hardware and Physical Layer. Reading: PD 2.1.
Lecture 4: Sept. 4th. Link Layer: encoding, framing, error detection. Reading: PD 2.2-2.4.
Lecture 5: Sept. 9th: Link Layer: Reliable Transmission Reading: PD 2.5. Wireless Communications. Reading: PD 2.7.
Lecture 6: Sept. 11th: Ethernet and WiFi medium access. Reading: PD 2.6, 2.7.
Lecture 7: Sept. 16th: Wireless communications. Reading: N/A.
Lecture 8: Sept. 16th: Switching technologies. Reading: PD 3.1.
Lecture 9: Sept. 18th: Bridges and LAN switches. Reading: PD 3.1.4.
Lecture 10: Sept. 23rd: The IP protocol. Reading: PD 3.2.
Lecture 11: Sept. 25th: IP fragmentation, ARP, and ICMP. Reading: PD 3.2 fragmentation and reassembly sub-section, 3.2.6, 3.2.8.