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)
Feb 7 Machine Prog: Data dga 3.8-3.9
Feb 9 Machine Prog: Advanced dga 3.10 L2 due, L3 (attacklab) out

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

Feb 19 Bootcamp 4: C Programming
Feb 20 Recitation 6: C Review
Feb 21 Design and Debugging dga
Feb 23 Code Optimization dga 5

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

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)
Mar 14 Linking dga 7
Mar 16 Virtual Memory: Concepts dga 9.1-9.6

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

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

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

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

Apr 17 Recitation 13: Synchronization
Apr 18 Synchronization: Basic dga 12.4, 12.5.1-3
Apr 20 Synchronization: Advanced dga 12.5.4-5, 12.7-8 L7a due

Apr 24 Recitation 14: Exam review
Apr 25 Thread-Level Parallelism dga 12.6
Apr 27 Future of Computing dga L7b due