18-213/18-613: Computer Systems, Fall 2026

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
  • 18-213 lectures are most often presented by Prof. Vyas Sekar
  • 18-613 lectures are most often presented by Prof. Greg Kesden

Schedule (subject to change)

Date Lecture/Groups Reading   Labs

Aug 24 Small groups Introductions, Overview of the role of group and TAs, Getting started with the shark machines, Overview of Lab 0 L0 (cprogramminglab) out (pdf, tar)
Aug 25 Overview (pptx , pdf , code) 1
Aug 27 Bits, Bytes, Integers, & Endianness (pptx , pdf , code) 2.1-2.3 L1 (datalab) out

Aug 31 Bit ops, Int rep, Endianness, Lean forward to Data Lab int puzzles. Groups reschedule meeting for later in week.
Sep 1 Floating Point (pptx , pdf) 2.4 L0 (cprogramminglab) 1st deadline
Sep 3 Machine Prog: Basics (pptx , pdf) 3.1-3.5

Sep 7 Small groups: Floating point, Unbox bomb, "Example bomb" (Labor Day)
Sep 8 Machine Prog: Control (pptx , pdf , code) 3.6 L1 due, L2 (bomblab) out
Sep 10 Machine Prog: Procedures (pptx , pdf , code) 3.7

Sep 14 Small groups: Assembly and Stack review and old exam problems
Sep 15 Machine Prog: Data (pptx , pdf) 3.8-3.9,3.11
Sep 17 Machine Prog: Advanced (pptx , pdf , code) 3.10 L2 due, L3 (attacklab) out

Sep 21 Small groups: Attack lab related material, esp. gadgets L0 2nd deadline
Sep 22 The Memory Hierarchy (pptx , pdf) 6.1-6.3
Sep 24 Cache Memories (pptx , pdf) 6.4-6.7 L3 due, L4 (cachelab) out

Sep 28 Small groups: Cache + Memory Hierarchy + Midterm Review
Sep 29 Linking (pptx , pdf) 7
Oct 1 Midterm Exam

Oct 5 Small groups: Cache lab (Blocking, etc) + Linking
Oct 6 Dynamic Memory Allocation: Basics (pptx , pdf , code) 9.9
Oct 8 Dynamic Memory Allocation: Advanced (pptx , pdf) 9.10-9.12 L4 due

Oct 12 Small groups don't meet -- University break
Oct 13 No class -- University break
Oct 15 No class -- University break

Oct 19 Small groups: Malloc review, gdb, valgrind, Malloc lab unboxing L5 (malloclab) out
Oct 20 Virtual Memory: Concepts (pptx , pdf) 9.1-9.6
Oct 22 Virtual Memory: Details (pptx , pdf) 9.7-9.8

Oct 26 Small groups: Heap checker cases, removing footers, malloc trace exam problems, etc. VM, as time allows. L5 checkpoint due
Oct 27 ECF: Exceptions & Processes (pptx , pdf , code) 8.1-8.4
Oct 29 ECF: Signals (pptx , pdf , code) 8.5

Nov 2 Small groups: Fork bomb with signals, Unbox tsh lab L5 due, L6 (tshlab) out
Nov 3 No class -- Democracy Day
Nov 5 System Level I/O (pptx , pdf , code) 10

Nov 9 Small groups: I/O bomb problems, files and redirection in tshlab.
Nov 10 Network Programming (Part I) (pptx , pdf , code)
Nov 12 Network Programming (Part II) (pptx , pdf , code)

Nov 16 Small groups: Proxylab unboxing. Heavy emphasis on role of proxy and parts of lab. L6 Due, L7 (proxylab) out
Nov 17 Concurrent programming (pptx , pdf , code) 12.1-12.3
Nov 19 Synchronization: Basic (pptx , pdf , code) 12.4-12.5.3

Nov 23 Small groups: Critical resources, critical sections, mutex problems, at-most-n and sempahore problems
Nov 24 Synchronization: Advanced (pptx , pdf , code) 12.5.4-5, 12.7-8 L7 checkpoint due
Nov 26 No class -- Thanksgiving

Nov 30 Small groups: Final exam review
Dec 1 Thread-Level Parallelism (pptx , pdf , code) 12.6
Dec 3 Code optimization and wrap-up (pptx , pdf)
Dec 4 L7 due