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

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