15-213/15-513: Introduction to Computer Systems: Course Schedule

NEW: Our OH Schedule

You can now view the OH schedule HERE

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, activity-sol, pdf, code, video) zackw 3.6
May 27 Bomblab/GDB Bootcamp(pdf, video) TAs Lab 2 (bomblab) out (al-213, al-513)

May 31 Machine Prog: Procedures (activity, activity tar, activity-sol, pdf, code, video) zackw 3.7
Jun 1 Machine Prog: Data (activity, activity tar, activity-sol, pdf, code, video) zackw 3.8–3.9 Written #2 out, Written #1 due
Jun 2 Efficient Dev Bootcamp (pdf) TAs
Jun 3 Machine Prog: Advanced (activity, activity-sol, pdf, code, video) kmliang 3.10 Lab 3 (attacklab) out (al-213, al-513)
Datalab and bomblab due

June 7 Attacklab Bootcamp (activity, pdf, video) TAs W3 out, W2 due, W1 reviews due
June 8 The Memory Hierarchy (activity, activity-sol, pdf, video) kmliang 6.1–6.3
June 9 Cache Memories (activity, activity-sol, pdf, video) kmliang 6.4–6.7
June 10 C Bootcamp (tar, pdf, video) TAs Lab 4 (cachelab) out (al-213, al-513), attacklab due

June 14 Code Optimization (pdf, video) zackw 5
June 15 Software Design (pdf, tar, video) kmliang W4 out, W3 due, W2 reviews due
June 16 Debugging and Testing (tar, video) kmliang
June 17 Dynamic Memory Allocation: Basic (pdf, video) zackw 9.9 Lab 5 (malloclab) out (al-213, al-513)

June 21 Dynamic Memory Allocation: Advanced (pdf, video, extras pdf) zackw 9.10–9.13
June 22 Midterm Review(pdf, video) 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 (activity, pdf, video) TAs 9.10–9.13
July 6 Linking (activity, pdf, video) kmliang 7 W5 out, W4 due
July 7 TAs
July 8 TAs Malloclab checkpoint due

July 12 Virtual Memory: Concepts(activity, activity code, activity solution, pdf, video) zackw 9.1–9.6
July 13 Virtual Memory: Details (pdf, video, activity, activity solution) zackw 9.7–9.8 W6 out, W5 due, W4 reviews due
July 14 ECF: Exceptions & Processes (pdf, activity, activity solution, video) kmliang 8.1–8.4
July 15 ECF: Exceptions (continued), Office Hours kmliang, TAs Lab 5 (tshlab) out (al-213, al-513), malloclab final due

July 19 ECF: Signals (pdf, pptx, activity, activity solution, additional pdf, video) kmliang 8.5–8.8
July 20 ECF: Signals (continued), Office Hours kmliang, TAs W7 out, W6 due, W5 reviews due
July 21 System-Level I/O pdf, pptx, extra slides pdf, extra slides pptx, activity, activity solutions, video) zackw 9.10
July 22 TAs

July 26 Network Programming (Part I) (activity, pdf, video) zackw 11.1–11.3 Lab 7 (proxylab) out (al-213, al-513)
July 27 Network Programming (Part II) (pdf, supplemental slides pdf, video) zackw 11.4 W8 out, W7 due, W6 reviews due
July 28 Synchronization: Basic (pptx, pdf, activity, video) abigalek 12.4, 12.5.1–3
July 29 TAs Tshlab due

Aug 2 Concurrency (pdf, activity, solution, video) zackw 12.1-12.3
Aug 3 Synchronization: Advanced (pptx, pdf, activity, video) abigalek 12.5.4–5, 12.7–8 W8 due, W7 reviews due
Aug 4 Thread-Level Parallelism (pdf, activity, activity-soln, video) kmliang 12.6
Aug 5 Course Review (pdf) zackw Proxylab checkpoint due

Aug 9 Final Exam Review (pdf-2018, pptx-2022, video) TAs
Aug 10 Future of Computing(video) zackw W8 reviews due
Aug 11 Final Exam
Aug 12 Proxylab due