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

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 16 Recitation 1: No recitation — Semester starts with first lecture
Jan 17 Overview (pdf, pptx, video) zw/dga/bpr 1 L0 (cprogramminglab) out (pdf, tar)
Jan 19 Bits, Bytes, & Integers I (pdf, pptx, activity, soln, video) dga 2.1 L1 (datalab) out (pdf, tar)

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

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

Feb 6 Recitation 4: Bomb Lab (slides, handout)
Feb 7 Machine Prog: Data (pdf, pptx, video) dga 3.8-3.9
Feb 9 Machine Prog: Advanced (pdf, pptx, video) dga 3.10 L2 due, L3 (attacklab) out (pdf, tar)

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

Feb 19 Bootcamp 4: C Programming (slides, handout)
Feb 20 Recitation 6: C Review (slides)
Feb 21 Design and Debugging (pdf, pptx, video) dga
Feb 23 Code Optimization (pdf, pptx, video) dga 5

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

Mar 6 No recitation — spring break
Mar 7 No class — spring break
Mar 9 No class — spring break

Mar 13 Recitation 8: Malloc lab (Part I) (slides)
Mar 14 Linking (pdf, pptx, video) dga 7
Mar 16 Virtual Memory: Concepts (pdf, pptx, video) dga 9.1-9.6

Mar 19 Bootcamp 5: Malloc (slides)
Mar 20 Recitation 9: Malloc lab (Part II) (slides, handout)
Mar 21 Virtual Memory: Details (pdf, pptx, video) dga 9.7-9.8 L5a Due
Mar 23 Processes and Multitasking (pdf, pptx, video) dga 8.1-8.4

Mar 27 Recitation 10: Processes, signals (slides)
Mar 28 Exceptional Control Flow (pdf, pptx, video) dga 8.5-8.8 L5b Due, L6 (tshlab) out (pdf, tar)
Mar 30 System Level I/O (pdf, pptx, video) dga 10

Apr 3 Recitation 11: Shell lab (slides)
Apr 4 Network Programming (Part I) (pdf, pptx, video) dga 11.1-11.4
Apr 6 Network Programming (Part II) (pdf, pptx, video) dga 11.4-11.6

Apr 10 Recitation 12: Networking and Proxy (slides)
Apr 11 Concurrent programming (pdf, pptx, video) dga 12.1-12.3 L6 Due, L7a (proxylab) out (pdf, tar)
Apr 13 No class — Spring Carnival

Apr 17 Recitation 13: Synchronization (slides)
Apr 18 Synchronization: Basic (pdf, pptx, video) dga 12.4, 12.5.1-3
Apr 20 Synchronization: Advanced (pdf, pptx, video) dga 12.5.4-5, 12.7-8
Apr 21 L7a due

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