18-213/18-613: Computer Systems, Fall 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
  • 18-213 lectures are presented by Prof. Phil Gibbons
  • 18-613 lectures are presented by Prof. Greg Kesden

Schedule (subject to change)

Date Lecture/Groups Reading   Labs

Aug 29 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 30 Overview (pptx , pdf) 1
Sep 1 Bits, Bytes, Integers, & Endianness (pptx , pdf , code) 2.1-2.3 L1 (datalab) out

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

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

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

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

Oct 3 Small groups: Memory hierarchy and locality exam problems, cache organization, cache traces and old exam problems.
Oct 4 Design and Debugging (pptx , pdf)
Oct 6 Virtual Memory: Concepts (pptx , pdf) 9.1-9.6

Oct 10 Small groups: midterm review, VM reinforcement, traces HW 6/7 (low stakes midterm) out
Oct 11 Virtual Memory: Systems (pptx , pdf) 9.7-9.8
Oct 13 Dynamic Memory Allocation: Basics (pptx , pdf) 9.9 L4 due
Oct 14 HW 6/7 (low stakes midterm) due

Oct 17 Small groups don't meet -- University break
Oct 18 No class -- University break
Oct 20 No class -- University break

Oct 24 Small groups: Malloc review, gdb, valgrind, Malloc lab unboxing L5 (malloclab) out
Oct 25 Dynamic Memory Allocation: Advanced (pptx , pdf) 9.10-9.12
Oct 27 Linking (pptx , pdf) 7

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

Nov 7 Small groups: Fork bomb with signals, Unbox tsh lab L5 due, L6 (tshlab) out
Nov 8 System Level I/O (pptx , pdf , code) 10
Nov 10 Network Programming (Part I) (pptx , pdf)

Nov 14 Small groups: I/O bomb problems, files and redirection in tshlab.
Nov 15 Network Programming (Part II) (pptx , pdf , code)
Nov 17 Concurrent programming (pptx , pdf , code) 12.1-12.3

Nov 21 Small groups: Proxylab unboxing. Heavy emphasis on role of proxy and parts of lab. L6 Due, L7 (proxylab) out
Nov 22 Synchronization: Basic (pptx , pdf , code) 12.4, 12.5.1-3
Nov 24 No class — University break

Nov 28 Small groups: Critical resources, critical sections, mutex problems, at-most-n and sempahore problems
Nov 29 Synchronization: Advanced (pptx , pdf , code) 12.5.4-5, 12.7-8
Dec 1 Thread-Level Parallelism (pptx , pdf , code) 12.6 L7 checkpoint due

Dec 5 Small groups: Final exam review
Dec 6 Code optimization (pptx , pdf) 5
Dec 8 Future of Computing
Dec 9 L7 due