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-s22/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 Jan 10, 2022): Lab 1 (PDF) Lecture 2 (PDF) (for Jan 12, 2022) - pa1
Week 2 No live lecture on Jan 17, 2022 - Martin Luther King Day, university holiday

Lecture 3 (PDF) (for Jan 18, 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 Jan 19, 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 Jan 24, 2022) - pa2 (this video assumes that you have finished watching Lab 3 videos Lecture 6 (PDF) (for Jan 26, 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 Jan 31, 2022) - the network core (1.3) Lecture 8 (PDF) (for Feb 2, 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 Feb 7, 2022) - history of Internet (1.7), multithreading parts 1 & 2 Lecture 10 (PDF) (for Feb 9, 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 Feb 14, 2022) - multithreading part 3 (mutex), principles of network applications (2.1), the web and HTTP (2.2) Lecture 12 (PDF) (for Feb 16, 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)

(2/21) - Presidents' Day, university holiday (no videos)

Lecture 13 (PDF) (for Feb 23, 2022) - electronic mail in the Internet (2.3), DNS (2.4), peer-to-peer applications (2.5)
Week 8 Lab 8 (PDF) Lecture 14 (PDF) (for Feb 28, 2022) - peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6), socket programming (2.7) Lecture 15 (PDF) (for Mar 2, 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)
Week 9 IMPORTANT: Since we are having a midterm exam this Monday 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 Mar 7, 2022) - connectionless transport: UDP (3.3), principles of reliable data transfer (3.4) (Mar 9, 2022) - No Class (no videos)
 
Week 10 Lab 10 (PDF) Lecture 17 (PDF) (for Mar 21, 2022) - principles of reliable data transfer (3.4) Lecture 18 (PDF) (for Mar 23, 2022) - connection-oriented transport: TCP (3.5)
Week 11 Lab 11 (PDF) Lecture 19 (PDF) (for Mar 28, 2022) - principles of congestion control (3.6), TCP congestion control (3.7) Lecture 20 (PDF) (for Mar 30, 2022) - overview of network layer (4.1), what's inside a router (4.2)
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 21 (PDF) (for Apr 4, 2022) - the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4) Lecture 22 (PDF) (for Apr 6, 2022) - introduction to the network control plane (5.1), routing algorithms (5.2)
Week 13 Lab 13 (PDF) Lecture 23 (PDF) (for Apr 11, 2022) - routing algorithms (5.2), intra-AS routing in the Internet: OSPF (5.3) Lecture 24 (PDF) (for Apr 13, 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)
Week 14 Lab 14 (PDF) - this video assumes that you are familiar with rdt-3.0 covered in Lecture 17 Lecture 25 (PDF) (for Apr 18, 2022) - introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3) Lecture 26 (PDF) (for Apr 20, 2022) - multiple access links and protocols (6.3), introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2)
Week 15 PA5 (PDF) Lecture 27 (PDF) (for Apr 25, 2022) - wireless links and network characteristics (7.2), wifi: 802.11 wireless LANs (7.3) Lecture 28 (PDF) (for Apr 27, 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:

  • (May 6, 2022) - final exam, during 11:00am - 1:00pm (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, 1/17 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 1/18 and the date is highlighted in bold below).

Week # Lecture # Dates Minutes Lecture Topics
1 1 1/10 80 course administration (slides 1-64)
  2 1/12 80 pa1 (slides 1-14)
2 3 1/18 80 pa1 (slides 14-93)
  4 1/19 80 socket programming (slides 1-49)
3 5 1/24 80 pa2 (slides 1-32)
  6 1/26 80 what is the Internet (1.1), the network edge (1.2), the network core (1.3) (slides 1-29)
4 7 1/31 80 what is the Internet (1.1), the network edge (1.2), the network core (1.3) (slides 30-71)
  8 2/2 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 2/7 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 2/9 80 multithreading parts 1 & 2 - thread creation and termination (slides 39-46), multithreading parts 3 - mutex (slides 1-19)
6 11 2/14 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 2/16 80 principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3) (slides 23-68)
7 - 2/21 - Presidents' Day, university holiday (no videos)
  13 2/23 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)
8 14 2/28 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)
  15 3/2 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)
9 16 3/7 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)
  - 3/9 - No Class (no videos)
- - 3/14&3/16 - Spring Recess (no videos)
10 17 3/21 80 principles of reliable data transfer (3.4) (slides 44-78)
  18 3/23 80 connection-oriented transport: TCP (3.5) (slides 1-46)
11 19 3/28 80 principles of congestion control (3.6), TCP congestion control (3.7) (slides 1-74)
  20 3/30 80 overview of network layer (4.1), what's inside a router (4.2) (slides 1-89)
12 21 4/4 80 the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4) (slides 1-104)
  22 4/6 80 pa4 (slides 1-5), introduction to the network control plane (5.1), routing algorithms (5.2) (slides 1-99)
13 23 4/11 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)
  24 4/13 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)
14 25 4/18 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)
  26 4/20 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)
15 27 4/25 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 4/27 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)