Within 24 hours after a lecture is over, I will post the lecture slides I used in the section below. For a preview of future lectures, please see the tentative slides section below.

To download all the PDF files below in one command (so you can study for exams), do the following inside a terminal in Ubuntu 16.04:

    wget -r -l 1 --user=USERID --password=PASSWORD http://merlot.usc.edu/cs353-f22/lectures.html
where USERID and PASSWORD are the user ID and password used to access protected content from our class web site. But please note that the lecture slides can change at any time without notice. Therefore, it's a good idea to re-run the above command often to synchroniza your copy with the server!
 
Live lectures will be recorded in Zoom. For serucity reasons, you must sign into your Zoom account using USC Shibboleth SSO (Single Sign-On). Please note that this is different from signing into your Zoom account using your USC e-mail address! To check if you signed in into Zoom correctly, start Zoom and click on Settings if you are on your phone. On top of the screen right next to your name, it should say LICENSED. (If you are using a browser, then you should click on Profile and look for your User Type.) If it doesn't say LICENSED (and says "Basic" instead), it means that you are signing into Zoom using your personal account. In that case, you should sign out (on your phone, click on Profile, scroll all the way down to the bottomm and click on Sign Out). Then sign in again. On the Sign In screen, don't enter your e-mail address there, but look for an SSO button instead. Click on the SSO button and enter "USC" as the company domain and it will take you to the familiar USC Shibboleth SSO screen where you need to provide your USC NetID and password (this is the same screen you get when you login to your USC e-mail account).

Access to videos are protected by an additional level of security measure. All videos here are on D2L, please enter your D2L user ID and password. Please also see hints about using the D2L video viewer. You also need to enable 3rd party cookies in your browser.

(Please note that access to lecture notes and videos is restricted.)
Week 1 Lecture 1 videos and lecture slides (for Aug 23, 2022): Lab 1 (PDF) - please ignore the part about live discussion sections since we don't have live discussion sections this semester Lecture 2 (PDF) (for Aug 25, 2022) - pa1
Week 2 Lecture 3 (PDF) (for Aug 30, 2022) - pa1 Lab 2 (PDF) - this video assumes that you have finished watching all the pa1 videos (i.e., Lecture 2 and Lecture 3) Lecture 4 (PDF) (for Sep 1, 2022) - socket programming
Week 3 Lab 3 (PDF) - this video assumes that you have finished watching all the socket programming videos (i.e., Lecture 4) Lecture 5 (PDF) (for Sep 6, 2022) - pa2 (this video assumes that you have finished watching Lab 3 videos Lecture 6 (PDF) (for Sep 8, 2022) - what is the Internet (1.1), the network edge (1.2)
Week 4 Lab 4 (PDF) - this video assumes that you have finished watching PA2 videos (i.e., Lecture 5) Lecture 7 (PDF) (for Sep 13, 2022) - the network core (1.3) Lecture 8 (PDF) (for Sep 15, 2022) - delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6)
Week 5 Lab 5 (PDF) Lecture 9 (PDF) (for Sep 20, 2022) - history of Internet (1.7), multithreading parts 1 & 2 Lecture 10 (PDF) (for Sep 22, 2022) - multithreading part 2, multithreading part 3 (mutex)
Week 6 Lab 6 (PDF) - this video assumes that you have finished watching multithreading parts 1 & 2 videos (i.e., Lecture 9 and the first half of Lecture 10) Lecture 11 (PDF) (for Sep 27, 2022) - multithreading part 3 (mutex), principles of network applications (2.1), the web and HTTP (2.2) Lecture 12 (PDF) (for Sep 29, 2022) - the web and HTTP (2.2), electronic mail in the Internet (2.3)
Week 7 Lab 7 (PDF) - this video assumes that you have finished watching multithreading part 3 videos (i.e., Lecture 10 and the beginning of Lecture 11) Lecture 13 (PDF) (for Oct 4, 2022) - electronic mail in the Internet (2.3), DNS (2.4), peer-to-peer applications (2.5) Lecture 14 (PDF) (for Oct 6, 2022) - peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6), socket programming (2.7)
Week 8 Lab 8 (PDF) Lecture 15 (PDF) (for Oct 11, 2022) - pa3, multithreading part 4 (generalized synchronization with condition variables), introduction and transport-layer services (3.1), multiplexing and demultiplexing (3.2), connectionless transport: UDP (3.3) (10/13) - Fall Recess (no videos)
 
Week 9 IMPORTANT: Since we are having a midterm exam this Tuesday and exams are worth a lot in your overall grade, it's probably best you only watch these videos after you are done with the midterm exam.

Lab 9 (PDF) - this video assumes that you have finished watching multithreading part 4 videos (i.e., Lecture 15)

Lecture 16 (PDF) (for Oct 18, 2022) - connectionless transport: UDP (3.3), principles of reliable data transfer (3.4) Lecture 17 (PDF) (for Oct 20, 2022) - principles of reliable data transfer (3.4)
Week 10 Lab 10 (PDF) Lecture 18 (PDF) (for Oct 25, 2022) - connection-oriented transport: TCP (3.5) Lecture 19 (PDF) (for Oct 27, 2022) - principles of congestion control (3.6), TCP congestion control (3.7)
Week 11 Lab 11 (PDF) Lecture 20 (PDF) (for Nov 1, 2022) - overview of network layer (4.1), what's inside a router (4.2) Lecture 21 (PDF) (for Nov 3, 2022) - the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4)
Week 12 PA4 (PDF) Lab 12 (PDF) - this video assumes that you are familiar with the principles of reliable data transfer (3.4) covered in Lecture 16 Lecture 22 (PDF) (for Nov 8, 2022) - introduction to the network control plane (5.1), routing algorithms (5.2) Lecture 23 (PDF) (for Nov 10, 2022) - routing algorithms (5.2), intra-AS routing in the Internet: OSPF (5.3)
Week 13 Lab 13 (PDF) Lecture 24 (PDF) (for Nov 15, 2022) - routing among the ISPs: BGP (5.4), the SDN control plane (5.5), ICMP: the Internet control message protocol (5.6), network management and SNMP (5.7) Lecture 25 (PDF) (for Nov 17, 2022) - introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3)
Week 14 Lab 14 (PDF) - this video assumes that you are familiar with rdt-3.0 covered in Lecture 17 Lecture 26 (PDF) (for Nov 22, 2022) - multiple access links and protocols (6.3), introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2) (Nov 24, 2022) - Thanksgiving Recess (no videos and no live lecture)
 
Week 15 PA5 (PDF) Lecture 27 (PDF) (for Nov 29, 2022) - wireless links and network characteristics (7.2), wifi: 802.11 wireless LANs (7.3) Lecture 28 (PDF) (for Dec 1, 2022) - switched local area networks (6.4), link virtualization: a network as a link layer (6.5), data center networking (6.6), retrospective: a day in the life of a web page request (6.7)

Preview:

  • (Dec 13, 2022) - final exam, 11am-11:40am (firm)
The following are tentative slides (in PDF format) for this semester.
The number of minutes below are rough estimated lecture video minutes and they do not include lab video minutes. Also, slide numbers below refers to the slide numbers in the Tentative Slides section above and they are also estimates since I may add or delete slides.

Please note that we are covering exactly the same material as previous semesters. This means that we need to cover 28 80-minute lectures and 14 50-minute lab lectures. In previous semester, when certain lecture days fell on university holidays, extra lectures were added so that the exact material can be covered. For this semester, is a university holiday. Therefore, the lecture that was supposed to be held on that day (i.e., Lecture 3) was moved to the next day (i.e., scheduled for and the date is highlighted in bold below).

Week # Lecture # Dates Minutes Lecture Topics
1 1 8/23 80 course administration (slides 1-64)
  2 8/25 80 pa1 (slides 1-14)
2 3 8/30 80 pa1 (slides 14-93)
  4 9/1 80 socket programming (slides 1-49)
3 5 9/6 80 pa2 (slides 1-32)
  6 9/8 80 what is the Internet (1.1), the network edge (1.2), the network core (1.3) (slides 1-29)
4 7 9/13 80 what is the Internet (1.1), the network edge (1.2), the network core (1.3) (slides 30-71)
  8 9/15 80 delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7) (slides 1-62)
5 9 9/20 80 delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7) (slides 63-69), multithreading parts 1 & 2 - thread creation and termination (slides 1-39)
  10 9/22 80 multithreading parts 1 & 2 - thread creation and termination (slides 39-46), multithreading parts 3 - mutex (slides 1-19)
6 11 9/27 80 multithreading parts 3 - mutex (slides 19-25), principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3) (slides 1-22)
  12 9/29 80 principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3) (slides 23-68)
7 13 10/4 80 principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3) (slides 69-75), DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6) (slides 1-34)
  14 10/6 80 DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6) (slides 35-69), socket programming (2.7) (slides 1-56)
8 15 10/11 80 pa3 (slides 1-16), multithreading part 4 (generalized synchronization with condition variables) (slides 1-21), introduction and transport-layer services (3.1), multiplexing and demultiplexing (3.2), connectionless transport: UDP (3.3) (slides 1-30)
  - 10/13 - Fall Recess (no videos)
9 16 10/18 80 introduction and transport-layer services (3.1), multiplexing and demultiplexing (3.2), connectionless transport: UDP (3.3) (slides 31-36), principles of reliable data transfer (3.4) (slides 1-45)
  17 10/20 80 principles of reliable data transfer (3.4) (slides 44-78)
10 18 10/25 80 connection-oriented transport: TCP (3.5) (slides 1-46)
  19 10/27 80 principles of congestion control (3.6), TCP congestion control (3.7) (slides 1-74)
11 20 11/1 80 overview of network layer (4.1), what's inside a router (4.2) (slides 1-89)
  21 11/3 80 the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4) (slides 1-104)
12 22 11/8 80 pa4 (slides 1-5), introduction to the network control plane (5.1), routing algorithms (5.2) (slides 1-99)
  23 11/10 80 introduction to the network control plane (5.1), routing algorithms (5.2) (slides 99-136), intra-AS routing in the Internet: OSPF (5.3), routing among the ISPs: BGP (5.4) (slides 1-14)
13 24 11/15 80 intra-AS routing in the Internet: OSPF (5.3), routing among the ISPs: BGP (5.4) (slides 14-42), the SDN control plane (5.5), ICMP: the Internet control message protocol (5.6), network management and SNMP (5.7) (slides 1-41)
  25 11/17 80 introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3) (slides 1-56)
14 26 11/22 80 introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3) (slides 57-86), introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2) (slides 1-16)
  - 11/24 - Thanksgiving Recess (no videos)
15 27 11/29 80 introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2) (slides 16-41),
wifi: 802.11 wireless LANs (7.3) (slides 1-37)
  28 12/1 80 switched local area networks (6.4) (slides 1-67), link virtualization: a network as a link layer (6.5), data center networking (6.6) (slides 1-17), retrospective: a day in the life of a web page request (6.7) (slides 1-68)