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-s23/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 |
Lecture 1
(PDF)
(for Jan 9, 2023)
- course administration
Lecture 2
(PDF)
(for Jan 11, 2023)
- course administration, socket programming
|
Week 2 |
(1/16)
- Martin Luther King Day, university holiday (no class)
Lecture 3
(PDF)
(for Jan 18, 2023)
- socket programming, what is the Internet (1.1), the network edge (1.2)
|
Week 3 |
Lecture 4
(PDF)
(for Jan 23, 2023)
- the network edge (1.2), the network core (1.3)
Lecture 5
(PDF)
(for Jan 25, 2023)
- the network core (1.3),
delay, loss, throughput (1.4)
|
Week 4 |
Lecture 6
(PDF)
(for Jan 30, 2023)
- delay, loss, throughput (1.4), protocol layers, service models (1.5), network under attack (1.6), history of Internet (1.7),
multithreading parts 1 & 2 - thread creation and termination
Lecture 7
(PDF)
(for Feb 1, 2023)
- multithreading parts 1 & 2 - thread creation and termination
|
Week 5 |
Lecture 8
(PDF)
(for Feb 6, 2023)
- multithreading parts 1 & 2 - thread creation and termination,
multithreading part 3 - mutex,
principles of network applications (2.1)
Lecture 9
(PDF)
(for Feb 8, 2023)
- principles of network applications (2.1), the web and HTTP (2.2)
|
Week 6 |
Lecture 10
(PDF)
(for Feb 13, 2023)
- the web and HTTP (2.2), electronic mail in the Internet (2.3),
DNS (2.4)
Lecture 11
(PDF)
(for Feb 15, 2023)
- DNS (2.4), peer-to-peer applications (2.5), video streaming and conent distribution networks (2.6),
socket programming (2.7)
|
Week 7 |
(2/20)
- Presidents’ Day, university holiday (no class)
Lecture 12
(PDF)
(for Feb 22, 2023)
- socket programming (2.7),
exam logistics
|
Week 8 |
Lecture 13
(PDF)
(for Feb 27, 2023)
- multithreading part 4 (generalized synchronization with condition variables)
Lecture 14
(PDF)
(for Mar 1, 2023)
- 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 9 |
(3/6)
- Midterm Exam (no class)
Lecture 15
(PDF)
(for Mar 6, 2023)
- principles of reliable data transfer (3.4)
|
Week 10 |
Lecture 16
(PDF)
(for Mar 20, 2023)
- connection-oriented transport: TCP (3.5),
Lecture 17
(PDF)
(for Mar 22, 2023)
- principles of congestion control (3.6), TCP congestion control (3.7)
|
Week 11 |
Lecture 18
(PDF)
(for Mar 27, 2023)
- connection-oriented transport: TCP (3.5),
overview of network layer (4.1), what's inside a router (4.2)
Lecture 19
(PDF)
(for Mar 29, 2023)
- the Internet protocol (IP): IPv4, addressing, IPv6, and more (4.3), generalized forwarding and SDN (4.4)
|
Week 12 |
Lecture 20
(PDF)
(for Apr 3, 2023)
- 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)
Lecture 21
(PDF)
(for Apr 5, 2023)
- 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)
|
Week 13 |
Lecture 22
(PDF)
(for Apr 10, 2023)
- 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)
Lecture 23
(PDF)
(for Apr 12, 2023)
- introduction to the link layer (6.1), error-detection and correction techniques (6.2), multiple access links and protocols (6.3)
- recording of the live lecture - 94 minutes
(the lecture ended abruptedly because the equipment in THH 102 all of a sudden reset itself and killed the feed)
|
Week 14 |
Lecture 24
(tentative PDF)
(for Apr 17, 2023)
- 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)
Lecture 25
(PDF)
(for Apr 19, 2023)
- introduction wireless and mobile networks (7.1), wireless links and network characteristics (7.2),
wifi: 802.11 wireless LANs (7.3),
switched local area networks (6.4)
|
Week 15 |
Lecture 26
(PDF)
(for Apr 24, 2023)
- 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)
Lecture 27 (for Apr 26, 2023)
- since all the materials have been covered, Lecture 27 will be conducted like an office hour on Zoom only and it will not be recorded (no class in THH 102)
|
Preview:
- (May 5, 2023) - final exam, (NEW) [11:00:00am-11: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)
- 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
- 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.
|