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-s25/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!
By default, live lectures will be recorded in Zoom (unless there are problems).
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 email 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 email 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 email 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.). It's also possible that there is no wifi in the lecture classroom!
If things like 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.
NOTE: Before you click on any video link, please make sure you have signed into USC Brightspace.
(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 |
(Jan 13&14, 2025)
Lecture 1
(PDF)
- course administration
(Jan 15&16, 2025)
Lecture 2
(PDF)
- what is the Internet (1.1), the network edge (1.2), the network core (1.3)
|
Week 2 |
(Jan 20&21, 2025)
- university holiday on Monday (no class)
(Jan 22&23, 2025)
Lecture 3
(PDF)
- the network edge (1.2), the network core (1.3)
|
Week 3 |
(Jan 27&28, 2025)
Lecture 4
(PDF)
- the network core (1.3),
delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7)
(Jan 29&30, 2025)
Lecture 5
(PDF)
- delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7)
|
Week 4 |
(Feb 3&4, 2025)
Lecture 6
(PDF)
- protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7),
principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3)
(Feb 5&6, 2025)
Lecture 7
(PDF)
- principles of network applications (2.1), the web and HTTP (2.2), electronic mail in the Internet (2.3)
|
Week 5 |
(Feb 10&11, 2025)
Lecture 8
(PDF)
- the web and HTTP (2.2)
(Feb 12&13, 2025)
Lecture 9
(PDF)
- 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 |
(Feb 17&18, 2025)
- university holiday on Monday (no class)
(Feb 19&20, 2025)
Lecture 10
(PDF)
- DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6)
|
Week 7 |
(Feb 24&25, 2025)
Lecture 11
(PDF)
- video streaming and conent distribution networks (2.6),
socket programming (2.7),
exam logistics
(Feb 26&27, 2025)
Lecture 12
(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 |
(Mar 3&4, 2025)
Lecture 13
(PDF)
- principles of reliable data transfer (3.4)
(Mar 5&6, 2025)
- midterm exams (no class)
|
Week 9 |
(Mar 10&11, 2025)
Lecture 14
(PDF)
- principles of reliable data transfer (3.4),
connection-oriented transport: TCP (3.5)
(Mar 12&13, 2025)
Lecture 15
(PDF)
- connection-oriented transport: TCP (3.5),
principles of congestion control (3.6), TCP congestion control (3.7)
|
Week 10 |
(Mar 24&25, 2025)
Lecture 16
(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) -
(Note: slide 71 is different from the slide in the lecture videos)
(Mar 26&27, 2025)
Lecture 17
(PDF)
- overview of network layer (4.1), what's inside a router (4.2),
the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4)
|
Week 11 |
(Mar 31&Apr 1, 2025)
Lecture 18
(PDF)
- the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4)
(Apr 2&3, 2025)
Lecture 19
(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 |
(Apr 7&8, 2025)
Lecture 20
(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) -
(slide 7 is slightly different from what's in the video)
(Apr 9&10, 2025)
Lecture 21
(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 |
(Apr 14&15, 2025)
Lecture 22
(PDF)
- the SDN control plane (5.5), ICMP: the Internet control message protocol (5.6), 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)
(Apr 16&17, 2025)
Lecture 23
(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 |
(Apr 21&22, 2025)
Lecture 24
(PDF)
- introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2),
wifi: 802.11 wireless LANs (7.3)
(Apr 23&24, 2025)
Lecture 25
(PDF)
- wifi: 802.11 wireless LANs (7.3),
switched local area networks (6.4)
|
Week 15 |
(Apr 28&29, 2025)
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)
(Apr 30&May 1, 2025)
Lecture 27
(PDF)
- housekeeping only; the rest of the class would be conducted office hour style
|
Preview:
- Lecture 27 will cover housekeeping stuff only since we have covered everything that's supposed to be covered in this class.
- (May 9, 2025) - MW section final exam, [11:00:00am-11:40:00am) (firm)
- (May 9, 2025) - Alternate final exam, [7:00:00pm-7:40:00pm) (firm)
- (May 13, 2025) - TT section final exam, [9:00:00am-9:40:00am) (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.
|