15-213/15-513 Introduction to Computer Systems: Schedule

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 lectures are presented by Prof. David Andersen (dga) or Prof. Nathan Beckmann (beckmann) as indicated in the schedule.
  • All times (unless otherwise noted) are in Eastern Time.

Schedule (subject to change)

Date Lecture/Recitation Instructor(s)   Reading   Labs

Jan 16 Overview (pdf, pptx) dga 1 L0 (cprogramminglab) out
Jan 18 Bits, Bytes, & Integers (pdf, pptx) dga 2.1-2.3 L1 (datalab) out

Jan 21 Bootcamp 1: Linux, Command Line, Git (slides, handout, tar)
Jan 22 Recitation 1: Introduction, Datalab (pdf, slides, soln)
Jan 23 Machine Prog: Basics (pdf, pptx, activity, soln) beckmann 3.1-3.5 L0 (cprogramminglab) due
Jan 25 Machine Prog: Control (pdf, pptx, activity, soln) dga L2 (bomblab) out

Jan 28 Bootcamp 2: Debugging & GDB (slides, handout, tar)
Jan 29 Recitation 2: Bomb Lab (pdf, slides)
Jan 30 Machine Prog: Procedures (pdf, pptx, activity, soln) dga 3.7
Feb 01 Machine Prog: Data (pdf, pptx, activity, soln) dga 3.8-3.9, 3.11 L1 (datalab) due

Feb 05 Recitation 3: Bomb Lab (Part II) (pdf, slides)
Feb 06 Machine Prog: Advanced (pdf, pptx, activity, soln) dga 3.10
Feb 08 Design and Debugging (pdf, pptx) dga 9.10-9.12 L2 (bomblab) due, L3 (attacklab) out

Feb 11 Bootcamp 3: GCC & Build Automation (slides, handout)
Feb 12 Recitation 4: Attack Lab and Stacks (slides, handout, video)
Feb 13 The Memory Hierarchy (pdf, pptx) beckmann 6.1-6.3
Feb 15 Cache Memories (pdf, pptx) beckmann 6.4-6.7 L3 (attacklab) due, L4 (cachelab) out

Feb 18 Bootcamp 4: C Programming (slides, handout)
Feb 19 Recitation 5: Caches and C Review (slides)
Feb 20 Code Optimization (pdf, pptx) dga 5
Feb 22 Dynamic Memory Allocation: Basic (pdf, pptx) dga 9.9

Feb 26 Recitation 6: Caches & Blocking (slides, video)
Feb 27 Dynamic Memory Allocation: Advanced (pdf, pptx) dga 9.10-9.12
Feb 29 Linking (pdf, pptx, activity, activit-soln) dga 7 L4 (cachelab) due, L5a (malloclab) out

Mar 04 No recitation—Spring Break
Mar 05 No class—Spring Break
Mar 07 No class—Spring Break

Mar 11 Recitation 7: Malloclab (Part I) (slides, video)
Mar 12 Virtual Memory: Concepts (pdf, pptx) beckmann 9.1-9.6
Mar 14 Virtual Memory Systems (pdf, pptx) beckmann 9.7-9.8

Mar 17 Bootcamp 5: Post-checkpoint Malloc (pdf)
Mar 18 Recitation 8: Malloclab (Part II) (slides)
Mar 19 ECF: Exceptions and Processes beckmann 8.5-8.8 L5a (malloclab) due, L5b (malloclab) out
Mar 21 ECF: Signals and Nonlocal Jumps beckmann

Mar 25 Recitation 9: Processes, Signals
Mar 26 System Level I/O dga 10 L5b (malloclab) due, L6 (tshlab) out
Mar 28 Network Programming (Part I) dga 11.1-11.4

Apr 01 Recitation 10: Tshlab
Apr 02 Network Programming (Part II) dga 11.4-11.6
Apr 04 Concurrent Programming beckmann 12.1-12.3

Apr 08 Recitation 11: Networking and Proxies
Apr 09 Synchronization: Basic beckmann 12.4, 12.5.1-3 L6 (tshlab) due, L7a (proxylab) out
Apr 11 No class—Spring Carnival

Apr 15 Recitation 12: Synchronization
Apr 16 Synchronization: Advanced beckmann 12.5.4-5, 12.7-8
Apr 18 Thread-Level Parallelism beckmann 12.6 L7a (proxylab) due, L7b (proxylab) out

Apr 22 Recitation 13: Exam Review
Apr 23 Filesystems Lab? bpr
Apr 25 Future of Computing beckmann L7b (proxylab) due

Apr 28 Bootcamp 6: Exam Review