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

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 18-613 Special! (Anyone can watch): EGO's Linux Bootcamp (mp4) L0 (cprogramminglab) out (pdf, tar)
Aug 26 Small groups: Introductions, Overview of the role of group and TAs, Getting started with the shark machines, Overview of Lab 0
Aug 27 Overview (pptx , pdf , code) 1
Aug 29 Bits, Bytes, Integers, & Endianness (pptx , pdf , code) 2.1-2.3 L1 (datalab) out (pdf, tar)

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

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

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

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

Sep 30 Small groups: Memory hierarchy and locality exam problems, cache organization, cache traces and old exam problems.
Oct 1 Virtual Memory: Concepts (pptx , pdf) 9.1-9.6
Oct 3 Virtual Memory: Details (pptx , pdf) 9.7-9.8

Oct 7 Small groups: midterm review, VM reinforcement, traces Midterm out
Oct 8 Dynamic Memory Allocation: Basics (pptx , pdf , code) 9.9
Oct 10 Dynamic Memory Allocation: Advanced (pptx , pdf) 9.10-9.12 L4 due
Oct 11 Midterm Due

Oct 14 Small groups don't meet -- University break
Oct 15 No class -- University break
Oct 17 No class -- University break

Oct 21 Small groups: Malloc review, gdb, valgrind, Malloc lab unboxing L5 (malloclab) out
Oct 22 Design and Debugging (pptx , pdf)
Oct 24 Linking (pptx , pdf) 7

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

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

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

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

Nov 25 Small groups: Critical resources, critical sections, mutex problems, at-most-n and sempahore problems
Nov 26 Synchronization: Advanced 12.5.4-5, 12.7-8 L7 checkpoint due
Nov 28 No class -- Thanksgiving

Dec 2 Small groups: Final exam review
Dec 3 Thread-Level Parallelism 12.6
Dec 5 Code optimization and wrap-up
Dec 6 L7 due