18-613/14-513: Computer Systems, Summer 2020

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

  • Video is provided via Canvas
  • Lectures are Tuesdays, Wednesdays, and Thursday for the 1st half of the course and Tuesdays and Thursdays for the 2nd half of the course.
  • Sign-up for small group sessions, the summer version of recitations (but not really) will occur during the first week of class.
  • Mondays are reserved for special sessions. They won't necessarily occur every week, and will usually be announced at least one week in advance.
Date Lecture/Recitation Lec   Reading   Labs

May 18 Special Session: Zoom meet-and-greet, Q&A Session, Connectivity Testing
May 19 Overview (pptx , pdf) Overview 1 L0 (cprogramminglab) out (pdf, pdf, tar)
May 20 Bits, Bytes, & Integers (pptx , pdf , code) Integers 2.1-2.3
May 21 Bits, Bytes, & Integers (cont) (pptx , pdf , code) L1 (datalab) out

May 25 Special Session: Andrew/Linux/Git Boot Camp
May 26 Floating Point (pptx , pdf) Point 2.4
May 27 Machine Prog: Basics (pptx , pdf) Basics 3.1-3.5
May 28 Machine Prog: Basics (pptx , pdf) Basics 3.1-3.5 L1 due, L2 (bomblab) out

Jun 1 No special session scheduled
Jun 2 Machine Prog: Control (pptx , pdf , code) Control 3.6
Jun 3 Machine Prog: Procedures (pptx , pdf , code) Procedures 3.7
Jun 4 Machine Prog: Data (pptx , pdf , code) Data 3.8-3.9 L2 due, L3 (attacklab) out

Jun 8 Special Session: None scheduled (at least yet).
Jun 9 Machine Prog: Advanced (pptx , pdf , code) Advanced 3.10 L2 due
Jun 10 The Memory Hierarchy (pptx , pdf) Hierarchy 6.1-6.3 L0 due (hard)
Jun 11 Cache Memories (pptx , pdf , code) Memories 6.4-6.7 L4 (cachelab) out

Jun 15 Special Session: Exam preview L3 due
Jun 16 Code Optimization (pptx , pdf) Optimization 5
Jun 17 Dynamic Memory Allocation: Basic (pptx , pdf , code) Basic 9.9
Jun 18 Dynamic Memory Allocation: Advanced (pptx , pdf) Advanced 9.10-9.13

Jun 22 Special Session: The Midterm Exam L4a due
Jun 23 Exam discussion discussion
Jun 24 Virtual Memory: Concepts (pptx , pdf) Concepts 9.1-9.6
Jun 25 Virtual Memory: Systems (pptx , pdf) Systems 9.7-9.8

Jun 29 Malloc bootcamp L4 due, L5 (malloclab) out
Jun 30 ECF: Exceptions & Processes (pptx , pdf) Processes 8.1-8.4
Jul 1
Jul 2 ECF: Signals & Nonlocal Jumps (pptx , pdf) Jumps 8.5-8.8

Jul 6 Special Session: None scheduled (at least yet). L5a due
Jul 7 System Level I/O (pptx , pdf , code) IO 10
Jul 8
Jul 9 Network Programming (Part I) (pptx , pdf , code) Net 11.1-11.4

Jul 13 Special Session: None scheduled (at least yet). L5b Due, L6 (tshlab) out
Jul 14 Network Programming (Part II) (pptx , pdf , code) Net 2 11.5-11.6
Jul 15
Jul 16 Concurrent programming (pptx , pdf , code) Concurrency 12.1-12.3

Jul 20 Special Session: None scheduled (at least yet). L6a Due
Jul 21 Synchronization: Basic (pptx , pdf , code) Basic 12.4, 12.5.1-3
Jul 22
Jul 23 Synchronization: Advanced (pdf , code) Advanced 12.5.4-5, 12.7-8

Jul 27 Special Session: None scheduled (at least yet). L6 Due, L7 (proxylab) out
Jul 28 Thread-Level Parallelism (pptx , pdf , code) TLP 12.6
Jul 29
Jul 30 Another model for parallelism: OpenMP in C/C++ (pptx , pdf) OMP L7a due

Aug 3 Special Session: Final Exam Preview
Aug 4 Linking (pptx , pdf) Linking 7
Aug 5
Aug 6 Class wrap-up and looking forward in systems courses courses
Aug 7 L7b due
Aug 7 Final Exam