|
15-213/15-513: Introduction to Computer Systems: Course Schedule
Notes on the schedule
15-213 has classes Tuesday through Friday. Tuesdays are
highlighted with a tan
background. Mondays only appear in the table below when an
assignment is due or released on a Monday.
When the “Material” column is blank on a Tuesday through Friday,
the class period will be time to work on assignments, with faculty
and TAs present to answer questions; attendance is optional.
Attendance is also optional for any material labeled as “bootcamp”
or “review”.
15-513 students are not expected to attend classes. They should
instead watch the videos (posted as each class happens) and do the
activities on their own time. They are welcome to attend the class
if they are present in Pittsburgh, but will be asked to leave if
there is not enough space for everyone.
The “Textbook Chapters” column gives a list of chapters
in CS:APP that all students should
study before that class.
Notes on links
Links to recorded lectures, slide decks, etc. will be added to
each day’s “Material” entry immediately before the class begins.
- video links are to recorded lectures given in previous
semesters that cover approximately the same material as the
in-person class session. (The class sessions themselves are not
being recorded.)
- pptx links are to Powerpoint slide decks.
- pdf links are to PDF slide decks.
- activity links are to hand-outs used for in-class activities.
- activity-sol links are to solutions for in-class activities.
- code links are to directories containing code used for
class demonstrations.
- tar links are to archive files in TAR format, also
containing code used for class demonstrations.
Use the tar command on a linux machine to unpack these
- al-213 and al-513 links are to Autolab assignment
pages. Make sure to use the link for the version of the course
you are enrolled in! The other one will not work for you.
Date |
Material |
Presenter |
Textbook Chapters |
Assignments |
|
|
May |
16 |
|
|
|
Lab 0 out (al-213, al-513) |
|
May |
17 |
Overview (pdf, code, video) |
zackw, kmliang |
1 |
|
|
May |
18 |
Bits and Bytes (activity, activity-sol, summer-pdf, spring-pdf, code, video) |
zackw |
2.1 |
|
May |
19 |
Integers (activity, activity-sol, pdf, code, video) |
zackw |
2.2–2.3 |
|
|
May |
20 |
Floating Point (activity, activity-sol, pdf, video) |
kmliang |
2.4 |
Lab 1 (datalab) out (al-213, al-513) |
|
|
|
May |
23 |
|
|
|
Lab 0 due |
|
May |
24 |
Linux/Git Bootcamp(activity, pdf, video) |
TAs |
|
|
|
May |
25 |
Machine Prog: Basics (activity, activity tar, activity-sol, pdf, code, video) |
kmliang |
3.1–3.5 |
Written #1 out |
|
May |
26 |
Machine Prog: Control (activity, activity tar, pdf, code, video) |
zackw |
3.6 |
|
|
May |
27 |
Bomblab/GDB Bootcamp |
TAs |
|
Lab 2 (bomblab) out |
|
|
May |
31 |
Machine Prog: Procedures |
zackw |
3.7 |
|
|
Jun |
1 |
Machine Prog: Data |
zackw |
3.8–3.9 |
Written #2 out, Written #1 due |
|
Jun |
2 |
|
TAs |
|
|
|
Jun |
3 |
Machine Prog: Advanced |
kmliang |
3.10 |
Lab 3 (attacklab) out Datalab and bomblab due |
|
|
June |
7 |
The Memory Hierarchy |
kmliang |
6.1–6.3 |
|
|
June |
8 |
Attacklab Bootcamp |
TAs |
|
W3 out, W2 due, W1 reviews due |
|
June |
9 |
Cache Memories |
kmliang |
6.4–6.7 |
|
|
June |
10 |
C Bootcamp |
TAs |
|
Lab 4 (cachelab) out, attacklab due |
|
|
June |
14 |
Code Optimization |
zackw |
5 |
|
|
June |
15 |
Software Design |
kmliang |
|
W4 out, W3 due, W2 reviews due |
|
June |
16 |
Debugging and Testing |
kmliang |
|
|
|
June |
17 |
Dynamic Memory Allocation: Basic |
zackw |
9.9 |
Lab 5 (malloclab) out |
|
|
June |
21 |
Dynamic Memory Allocation: Advanced |
zackw |
9.10–9.13 |
|
|
June |
22 |
Midterm Review |
TAs |
|
W3 reviews due |
|
June |
23 |
|
TAs |
|
|
|
June |
24 |
Midterm Exam — No Office Hours |
|
|
Cachelab due |
|
|
June 27–July 1 |
Summer break — no classes |
|
|
July |
5 |
Malloc Bootcamp |
TAs |
9.10–9.13 |
|
|
July |
6 |
Linking |
kmliang |
7 |
W5 out, W4 due |
|
July |
7 |
|
TAs |
|
|
|
July |
8 |
|
TAs |
|
Malloclab checkpoint due |
|
|
July |
12 |
Virtual Memory: Concepts |
zackw |
9.1–9.6 |
|
|
July |
13 |
Virtual Memory: Systems |
zackw |
9.7–9.8 |
W6 out, W5 due, W4 reviews due |
|
July |
14 |
ECF: Exceptions & Processes |
kmliang |
8.1–8.4 |
|
|
July |
15 |
|
TAs |
|
Lab 5 (tshlab) out, malloclab final due |
|
|
July |
19 |
ECF: Signals & Nonlocal Jumps |
kmliang |
8.5–8.8 |
|
|
July |
20 |
System-Level I/O |
zackw |
9.10 |
W7 out, W6 due, W5 reviews due |
|
July |
21 |
|
TAs |
|
|
|
July |
22 |
|
TAs |
|
|
|
|
July |
26 |
Network Programming (Part I) |
zackw |
11.1–11.3 |
Lab 7 (proxylab) out |
|
July |
27 |
Network Programming (Part II) |
zackw |
11.4 |
W8 out, W7 due, W6 reviews due |
|
July |
28 |
Concurrency |
kmliang |
12.1–12.3 |
|
|
July |
29 |
TAs |
|
|
Tshlab due |
|
|
Aug |
2 |
Synchronization: Basic |
kmliang |
12.4, 12.5.1–3 |
|
|
Aug |
3 |
Synchronization: Advanced |
kmliang |
12.5.4–5, 12.7–8 |
W8 due, W7 reviews due |
|
Aug |
4 |
Thread-Level Parallelism |
kmliang |
12.6 |
|
|
Aug |
5 |
Course Review |
zackw |
|
Proxylab checkpoint due |
|
|
Aug |
9 |
Final Exam Review |
TAs |
|
|
|
Aug |
10 |
Future of Computing |
zackw |
|
W8 reviews due |
|
Aug |
11 |
Final Exam |
|
|
|
|
Aug |
12 |
|
|
|
Proxylab due |
|