15-213/14-513/15-513: Intro to Computer Systems, Spring 2022

Notes on links

  • pptx links are to Powerpoint versions of the lectures
  • pdf links are to Adobe Acrobat versions of the lectures
  • code links are to directories containing code used for class demonstrations
  • tar links are to archive files in TAR format. Use the tar command on a linux machine to unpack these
  • 15-213 / 15-513 lectures are presented by Prof. Zack Weinberg (zw), Prof. Dave Andersen (dga), or Prof. Brian Railing (bpr) as indicated in the schedule. All lectures are recorded and posted on Panopto.
  • 14-513 lectures are presented by Prof. David Varodayan. All lectures are recorded and posted on Panopto.
  • All times (unless otherwise noted) are in Eastern Time.

Schedule (subject to change)

Date Lecture/Recitation Instructor   Reading   Labs

Jan 17 Recitation 1: No recitation — Semester starts with first lecture
Jan 18 Overview (pptx, pdf, video 15213, video 14513) zw/da/bpr 1 L0 (cprogramminglab) out (pdf, tar)
Jan 20 Bits, Bytes, & Integers I (pptx, pdf, video 15213, video 14513) zw 2.1 L1 (datalab) out (pdf, tar)

Jan 23 Bootcamp 1: Linux, Command Line, Git (slides, pdf, tar, video)
Jan 24 Recitation 2: Introductions (slides)
Jan 25 Bits, Bytes, & Integers II (pptx, pdf, video 15213, video 14513) zw 2.2-2.3 L0 due
Jan 27 Machine Prog: Basics (pptx, pdf, video 15213, video 14513) dga 3.1-3.5 L2 (bomblab) out (pdf, tar)

Jan 30 Bootcamp 2: Debugging & GDB (slides, pdf, tar, video)
Jan 31 Recitation 3: Datalab and Data Representations (slides, pdf)
Feb 1 Machine Prog: Control (pptx, pdf, video 15213, video 14513) dga 3.6
Feb 3 Machine Prog: Procedures (pptx, pdf, video 15213, video 14513) zw 3.7 L1 due

Feb 7 Recitation 4: Bomb Lab (slides, pdf, tar)
Feb 8 Machine Prog: Data (pptx, pdf, video 15213, video 14513) zw 3.8-3.9
Feb 10 Machine Prog: Advanced (pptx, pdf, video 15213, video 14513) zw 3.10 L2 due, L3 (attacklab) out (pdf, tar)

Feb 13 Bootcamp 3: GCC & Build Automation (slides, pdf, tar, video)
Feb 14 Recitation 5: Attack Lab and Stacks (slides, pdf, tar)
Feb 15 The Memory Hierarchy (pptx, pdf, video 15213, video 14513) dga 6.1-6.3
Feb 17 Cache Memories (pptx, pdf, video 15213, video 14513) dga 6.4-6.7 L3 due, L4 (cachelab) out (pdf, tar)

Feb 20 Bootcamp 4: C Programming (slides, tar, video)
Feb 21 Recitation 6: C Review (slides, pdf, tar)
Feb 22 Design and Debugging (pptx, pdf, video 15213, video 14513) dga
Feb 24 Code Optimization (pptx, pdf, video 15213, video 14513) zw 5

Feb 28 Recitation 7: Caches & Blocking (slides)
Mar 1 Dynamic Memory Allocation: Basic (pptx, pdf, video 15213, video 14513) zw 9.9
Mar 3 Dynamic Memory Allocation: Advanced (pptx, pdf, video 15213, video 14513) zw 9.10-9.12 L4 due, L5 (malloclab) out (pdf, tar)

Mar 7 No recitation — spring break
Mar 8 No class — spring break
Mar 10 No class — spring break

Mar 14 Recitation 8: Malloc lab (Part I) (slides)
Mar 15 Linking (pptx, pdf, video 15213, video 14513) zw 7
Mar 17 Virtual Memory: Concepts (pptx, pdf, video 15213, video 14513) dga 9.1-9.6

Mar 20 Bootcamp 5: Malloc (slides)
Mar 21 Recitation 9: Malloc lab (Part II) (slides, tar)
Mar 22 Virtual Memory: Systems (pptx, pdf, video 15213, video 14513) dga 9.7-9.8 L5a Due
Mar 24 ECF: Exceptions & Processes (pptx, pdf, video 15213, video 14513, stack-cache, float, assembly) zw 8.1-8.4

Mar 28 Recitation 10: Processes, signals (slides, tar)
Mar 29 ECF: Signals & Nonlocal Jumps (pptx, pdf, video 15213, video 14513) zw 8.5-8.8 L5b Due, L6 (tshlab) out (pdf, tar)
Mar 31 System Level I/O (pptx, pdf, video 15213, video 14513) dga 10

Apr 4 Recitation 11: Shell lab (slides)
Apr 5 Network Programming (Part I) (pptx, pdf, video 15213, video 14513) dga 11.1-11.4
Apr 7 No class — Carnival

Apr 11 Recitation 12: Networking and Proxy (slides, tar)
Apr 12 Network Programming (Part II) (pptx, pdf, video 15213, video 14513, lecture code) dga 11.4-11.6 L7 (proxylab) out (pdf, tar)
Apr 14 Concurrent programming (pptx, pdf, video 15213, video 14513) dga 12.1-12.3 L6 Due

Apr 18 Recitation 13: Synchronization (slides)
Apr 19 Synchronization: Basic (pptx, pdf, video 15213, video 14513) zw 12.4, 12.5.1-3
Apr 21 Synchronization: Advanced (pptx, pdf, video 15213, video 14513) zw 12.5.4-5, 12.7-8 L7a due

Apr 25 Recitation 14: Exam review (slides)
Apr 26 Thread-Level Parallelism (pptx, pdf, video 15213, video 14513) dga 12.6
Apr 28 Future of Computing (pptx, pdf, video 15213) dga L7b due

May 1 Final Exam Review (slides)
May 6 Final Exam: 1–4pm