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-s21/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!
(Please note that access to lecture notes and videos is restricted.)
Week 0 |
Lecture 1
(PDF)
(for Jan 15, 2021)
- course administration
|
Week 1 |
Lab 1
(PDF)
(Jan 18, 2021) - Martin Luther King Day, university holiday, no lecture video (or live lecture)
Lecture 2
(PDF)
(for Jan 20, 2021)
- pa1
|
Week 2 |
Lecture 3
(PDF)
(for Jan 25, 2021)
- 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 27, 2021)
- 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 Feb 1, 2021)
- pa2 (this video assumes that you have finished watching Lab 3 videos
Lecture 6
(PDF)
(for Feb 3, 2021)
- 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 Feb 8, 2021)
- the network core (1.3)
Lecture 8
(PDF)
(for Feb 10, 2021)
- delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6)
|
Week 5 |
Lab 5
(PDF)
(Feb 15, 2021) - Presidents' Day, university holiday, no lecture video (or live lecture)
Lecture 9
(PDF)
(for Feb 17, 2021)
- history of Internet (1.7), multithreading parts 1 & 2
|
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 10
(PDF)
(for Feb 22, 2021)
- multithreading part 2, multithreading part 3 (mutex)
Lecture 11
(PDF)
(for Feb 24, 2021)
- multithreading part 3 (mutex), principles of network applications (2.1), the web and HTTP (2.2)
|
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 12
(PDF)
(for Mar 1, 2021)
- the web and HTTP (2.2), electronic mail in the Internet (2.3)
Lecture 13
(PDF)
(for Mar 3, 2021)
- electronic mail in the Internet (2.3), DNS (2.4), peer-to-peer applications (2.5)
|
Week 8 |
Lecture 14
(PDF)
(for Mar 8, 2021)
- peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6), socket programming (2.7)
Lab 8
(PDF)
Lecture 15
(PDF)
(for Mar 10, 2021)
- 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 |
(Mar 15, 2021) - midterm exam (40 minutes), no live lecture
Lecture 16
(PDF)
(for Mar 15, 2021)
- connectionless transport: UDP (3.3), principles of reliable data transfer (3.4)
Lab 9
(PDF)
- this video assumes that you have finished watching multithreading part 3 videos (i.e., Lecture 10 and
the beginning of Lecture 11)
Lecture 17
(PDF)
(for Mar 17, 2021)
- principles of reliable data transfer (3.4)
|
Week 10 |
Lab 10
(PDF)
Lecture 18
(PDF)
(for Mar 22, 2021)
- connection-oriented transport: TCP (3.5)
Lecture 19
(PDF)
(for Mar 24, 2021)
- principles of congestion control (3.6), TCP congestion control (3.7)
|
Week 11 |
Lab 11
(PDF)
Lecture 20
(PDF)
(for Mar 29, 2021)
- overview of network layer (4.1), what's inside a router (4.2)
Lecture 21
(PDF)
(for Mar 31, 2021)
- 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 Apr 5, 2021)
- introduction to the network control plane (5.1), routing algorithms (5.2)
(Apr 7, 2021) - Wellness Day, university holiday, no lecture video (or live lecture)
|
Week 13 |
Lab 13
(PDF)
Lecture 23
(PDF)
(for Apr 12, 2021)
- routing algorithms (5.2), intra-AS routing in the Internet: OSPF (5.3)
Lecture 24
(PDF)
(for Apr 14, 2021)
- 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 19, 2021)
- 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 21, 2021)
- 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 26, 2021)
- wireless links and network characteristics (7.2), wifi: 802.11 wireless LANs (7.3)
Lecture 28
(PDF)
(for Apr 28, 2021)
- 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:
- Lecture 27 video will cover
wireless links and network characteristics (7.2), wifi: 802.11 wireless LANs (7.3).
You can get a preview by looking at slides from Spring 2020.
- (May 7, 2021) - final exam, 11am - 1:00pm (firm)
The following are tentative slides (in PDF format) for this semester.
- Administrative
- Programming Assignments
- Background for Programming Assignments and Labs
- socket programming
(PDF)
- multithreading parts 1 & 2 - thread creation and termination
(PDF)
- first.cpp,
first-arg.cpp,
fac.cpp,
create.cpp,
bad-create.cpp,
join.cpp,
exit-detach.cpp,
detach.cpp,
bad-dyn-create.cpp,
bad-dyn-create2.cpp,
bad-dyn-create3.cpp,
join-dyn.cpp,
join-dyn3.cpp,
join-shared.cpp,
join-new.cpp
- multithreading part 3 - mutex
(PDF)
- multithreading part 4 (generalized synchronization with condition variables)
(PDF)
- Ch 1 - Computer Networks and the Internet
- what is the Internet (1.1), the network edge (1.2), the network core (1.3)
(PDF)
- delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7)
(PDF)
- Ch 2 - Application Layer
- principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3)
(PDF)
- DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6)
(PDF)
- socket programming (2.7)
(PDF)
- Ch 3 - Transport Layer
- introduction and transport-layer services (3.1), multiplexing and demultiplexing (3.2), connectionless transport: UDP (3.3)
(PDF)
- principles of reliable data transfer (3.4)
(PDF)
- connection-oriented transport: TCP (3.5)
(PDF)
- principles of congestion control (3.6), TCP congestion control (3.7)
(PDF)
- Ch 4 - The Network Layer: Data Plane
- overview of network layer (4.1), what's inside a router (4.2)
(PDF)
- the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4)
(PDF)
- Ch 5 - The Network Layer: Control Plane
- introduction to the network control plane (5.1), routing algorithms (5.2)
(PDF)
- intra-AS routing in the Internet: OSPF (5.3), routing among the ISPs: BGP (5.4)
(PDF)
- the SDN control plane (5.5), ICMP: the Internet control message protocol (5.6), network management and SNMP (5.7)
(PDF)
- Ch 6 - The Link Layer and LANs
- introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3)
(PDF)
- switched local area networks (6.4)
(PDF)
- link virtualization: a network as a link layer (6.5), data center networking (6.6)
(PDF)
- retrospective: a day in the life of a web page request (6.7)
(PDF)
- Ch 7 - Wireless and Mobile Networks (will cover part of this chapter if there is time)
- introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2)
(PDF)
- wifi: 802.11 wireless LANs (7.3)
(PDF)
cellular Internet access (7.4), mobility management: principles (7.5), mobile IP (7.6), managing mobility in cellular networks (7.7),
wireless and mobility: impact on higher-layer protocols (7.8)
(PDF)
- Miscellaneous
- blank slides (for use by instructor)
(PDF)
NOTE: This class is not designed to cover all the chapters of the textbook. The focus is Ch 1 through Ch 7.
So, the stuff towards the bottom is very very tentative.
Week # |
Dates |
Topics |
Comments |
---|
0 |
1/15 |
course administration |
|
1 |
1/18 1/20 |
MLK Holiday (no class)
lab1, pa1, socket programming |
|
2 |
1/25&1/27 |
lab2, socket programming |
|
3 |
2/1&2/3 |
lab3, pa2, Computer Networks and the Internet (Ch 1) |
(PA1 due on Friday) |
4 |
2/8&2/10 |
lab4, Computer Networks and the Internet (Ch 1) |
|
5 |
2/15 2/17 |
Presidents' Day Holiday (no class)
lab5, Computer Networks and the Internet (Ch 1), multithreading parts 1 & 2 |
|
6 |
2/22&2/24 |
lab6, multithreading part 3, Application Layer (Ch 2) |
(PA2 due on Friday) |
7 |
3/1&3/3 |
lab7, Application Layer (Ch 2) |
|
8 |
3/8&3/10 |
lab8, pa3, multithreading part 4, Transport Layer (Ch 3) |
|
9 |
3/15 3/17 |
midterm exam
lab9, Transport Layer (Ch 3) |
(PA3 due on Friday) |
10 |
3/22&3/24 |
lab10, pa4, Transport Layer (Ch 3) |
|
11 |
3/29&3/31 |
lab11, The Network Layer: Data Plane (Ch 4) |
|
12 |
4/5 4/7 |
lab12, The Network Layer: Data Plane (Ch 4), The Network Layer: Control Plane (Ch 5)
Wellness Day (no class) |
(PA4 due on Friday) |
13 |
4/12&4/14 |
lab13, The Network Layer: Control Plane (Ch 5) |
|
14 |
4/19&4/21 |
lab14, pa5, The Network Layer: Control Plane (Ch 5), The Link Layer and LANs (Ch 6) |
|
15 |
4/26&4/28 |
The Link Layer and LANs (Ch 6), Wireless and Mobile Networks (Ch 7) |
(PA5 due on Saturday) |
|