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-f23/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!
Since COVID is not going away any time soon, you can participate in the live lecture via Zoom.
These Zoom meetings will not be recorded.
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).
One problem with such a Zoom setup is that audio/video equipment can malfunction (e.g., no sound in Zoom, camera is stuck pointing
at the wall, etc.). If that happens, there is very little I can do and I must continue with the live lecture in classroom.
Lecture videos from a previous semester is provided below so that you can still receive the same lecture material.
Of course, it's best if you come to the live class when you can.
(Please note that access to lecture notes is restricted.)
Within 24 hours after a lecture is over, I will post the PDF lecture slides I used here.
Week 1 |
(Aug 22, 2023)
Lecture 1
(PDF)
- course administration
(Aug 24, 2023)
Lecture 2
(PDF)
- course administration, socket programming
|
Week 2 |
(Aug 29, 2023)
Lecture 3
(PDF)
- socket programming, what is the Internet (1.1)
(Aug 31, 2023)
Lecture 4
(PDF)
- what is the Internet (1.1), the network edge (1.2), the network core (1.3)
|
Week 3 |
(Sep 5, 2023)
Lecture 5
(PDF)
- the network core (1.3),
delay, loss, throughput (1.4), protocol layers, service models (1.5)
(Sep 7, 2023)
Lecture 6
(PDF)
- protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7),
multithreading parts 1 & 2 - thread creation and termination
|
Week 4 |
(Sep 12, 2023)
Lecture 7
(PDF)
- multithreading parts 1 & 2 - thread creation and termination,
multithreading part 3 - mutex
(Sep 14, 2023)
Lecture 8
(PDF)
- multithreading part 3 - mutex,
principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3)
|
Week 5 |
(Sep 19, 2023)
Lecture 9
(PDF)
- principles of network applications (2.1), the web and HTTP (2.2)
(Sep 21, 2023)
Lecture 10
(PDF)
- principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3),
DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6)
|
Week 6 |
(Sep 26, 2023)
Lecture 11
(PDF)
- DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6)
(Sep 28, 2023)
Lecture 12
(PDF)
- video streaming and conent distribution networks (2.6),
socket programming (2.7),
multithreading part 4 (generalized synchronization with condition variables)
|
Week 7 |
(Oct 3, 2023)
Lecture 13
(PDF)
- multithreading part 4 (generalized synchronization with condition variables),
exam logistics,
(Oct 5, 2023)
Lecture 14
(PDF)
- introduction and transport-layer services (3.1), multiplexing and demultiplexing (3.2), connectionless transport: UDP (3.3),
principles of reliable data transfer (3.4)
|
Week 8 |
(Oct 10, 2023)
Lecture 15
(PDF)
- principles of reliable data transfer (3.4)
(Oct 12, 2023)
- Fall Recess (no class)
|
Week 9 |
(Oct 17, 2023)
- Midterm Exam (no class)
(Oct 19, 2023)
Lecture 16
(PDF)
- connection-oriented transport: TCP (3.5)
|
Week 10 |
(Oct 24, 2023)
Lecture 17
(PDF)
- principles of congestion control (3.6), TCP congestion control (3.7)
(Oct 26, 2023)
Lecture 18
(PDF)
- principles of congestion control (3.6), TCP congestion control (3.7)
overview of network layer (4.1), what's inside a router (4.2)
|
Week 11 |
(Oct 31, 2023)
Lecture 19
(PDF)
- the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4)
(Nov 2, 2023)
Lecture 20
(PDF)
- the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4),
introduction to the network control plane (5.1), routing algorithms (5.2)
|
Week 12 |
(Nov 7, 2023)
Lecture 21
(PDF)
- introduction to the network control plane (5.1), routing algorithms (5.2),
intra-AS routing in the Internet: OSPF (5.3), routing among the ISPs: BGP (5.4)
(Nov 9, 2023)
Lecture 22
(PDF)
- intra-AS routing in the Internet: OSPF (5.3), 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 13 |
(Nov 14, 2023)
Lecture 23
(PDF)
- network management and SNMP (5.7),
introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3)
(Nov 16, 2023)
Lecture 24
(PDF)
- introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3),
introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2)
|
Week 14 |
(Nov 21, 2023)
Lecture 25
(PDF)
- wifi: 802.11 wireless LANs (7.3),
switched local area networks (6.4)
(Nov 23, 2023)
- Thanksgiving Break (no class)
|
Week 15 |
(Nov 28, 2023)
Lecture 26
(PDF)
- 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)
(Nov 30, 2023)
Lecture 27
(PDF)
- since all the materials have been covered, Lecture 27 will be conducted like an office hour on Zoom only;
I will go over administrative slides at the beginning and will turn off recording to answer questions about labs or PAs in breakout rooms afterwards
|
Preview:
- (Dec 12, 2023) - final exam, 11am-11:40am (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)
- (these files are also in lab6data.tar.gz)
first.cpp,
first-arg.cpp,
first-arg-class.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
- Ch 2 - Application Layer
- Ch 3 - Transport Layer
- Ch 4 - The Network Layer: Data Plane
- Ch 5 - The Network Layer: Control Plane
- Ch 6 - The Link Layer and LANs
- Ch 7 - Wireless and Mobile Networks (will cover part of this chapter if there is time)
- Miscellaneous
- blank slides (for use by instructor)
(PDF)
(Please note that access to these videos is restricted.)
Lecture videos from a previous semester are provided here, in case that they can be helpful.
You should get the lecture material by coming to class. In case you cannot make it to class,
you can view these old lecture videos.
I'm planning on covering exactly the same lecture slides as previous semesters.
The main difference between the lecture videos and live classes is the old lecture videos
are more condensed since I'm the only person doing the talking. Live lecutre pace should be
slower.
Access to these old lecture videos are protected by an additional level of security measure.
All videos here are on D2L, please enter your D2L user ID and password before accessing these videos.
Please also see hints about using the D2L video viewer.
You also need to enable 3rd party cookies in your browser.
|