15-213/18-213/14-513/15-513/18-613: Intro to Computer Systems, Fall 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
  • 15/18-213 lectures are presented by either Prof. Brian Railing (bpr) or Prof. Brandon Lucia (BL) as indicated in the schedule.
  • 14-513 lectures are presented by Prof. David Varodayan
  • 18-613 lectures are presented by Prof. Phil Gibbons

Schedule (subject to change)

Date Lecture/Recitation 213 Lec   Reading   Labs

Aug 31 Recitation 1: No recitation--Semester starts with first lecture
Sep 1 Overview (pptx , pdf) bpr/BL 1 L0 (cprogramminglab) out
Sep 3 Bits, Bytes, & Integers I (pptx , pdf) BL 2.1
Sep 4 Bootcamp 1: Linux, Command Line, Git @ 7-9 pm ET

Sep 7 Recitation 2: No recitations--Labor Day
Sep 8 Bits, Bytes, & Integers II (pptx , pdf) BL 2.2-2.3 L1 (datalab) out
Sep 9 Bootcamp 2: GCC & Build Automation @ 7-9 pm ET
Sep 10 Floating Point (pptx , pdf) bpr 2.4 L0 due
Sep 11 Bootcamp 3: Debugging & GDB @ 7-9 pm ET

Sep 14 Recitation 3: Datalab and Data Representations (pptx , handout , solution)
Sep 15 Machine Prog: Basics (pptx , pdf) BL 3.1-3.5
Sep 17 Machine Prog: Control (pptx , pdf) BL 3.6 L1 due, L2 (bomblab) out

Sep 21 Recitation 4: Bomb Lab (pdf , pptx , handout)
Sep 22 Machine Prog: Procedures (pptx , pdf) bpr 3.7
Sep 24 Machine Prog: Data (pptx , pdf) bpr 3.8-3.9

Sep 28 Recitation 5: C Review (pdf , pptx , solutions)
Sep 29 Machine Prog: Advanced (pptx , pdf) bpr 3.10 L2 due, L3 (attacklab) out
Oct 1 The Memory Hierarchy (pptx , pdf) BL 6.1-6.3

Oct 4 Bootcamp 4: C Programming @ 7-9 pm ET
Oct 5 Recitation 6: Attack Lab and Stacks (handout , pptx)
Oct 6 Cache Memories (pptx , pdf) BL 6.4-6.7
Oct 8 Design and Debugging (pptx , pdf) bpr L3 due, L4 (cachelab) out

Oct 12 Recitation 7: Cache Lab and blocking (pptx)
Oct 13 Code Optimization (pptx , pdf) bpr 5
Oct 15 Linking (pptx , pdf) bpr 7

Oct 19 Recitation 8: Review (pptx)
Oct 20 Dynamic Memory Allocation: Basic (pptx , pdf) bpr 9.9 L4 due, L5 (malloclab) out
Oct 22 Dynamic Memory Allocation: Advanced (pptx , pdf) bpr 9.10-9.12

Oct 26 Recitation 9: Malloc lab (Part I) (pptx)
Oct 27 Virtual Memory: Concepts (pptx , pdf) BL 9.1-9.6
Oct 29 Virtual Memory: Systems (pptx , pdf) BL 9.7-9.8 L5a Due

Nov 1 Bootcamp 5: Malloc @ 7-9 pm ET
Nov 2 Recitation 10: Malloc lab (Part II) (pptx)
Nov 3 ECF: Exceptions & Processes (pptx , pdf) bpr 8.1-8.4
Nov 5 ECF: Signals & Nonlocal Jumps (pptx , pdf) bpr 8.5-8.8

Nov 9 Recitation 11: Processes, signals (pptx)
Nov 10 System Level I/O (pptx , pdf) BL 10 L5b Due, L6 (tshlab) out
Nov 12 Network Programming (Part I) (pptx , pdf) bpr 11.1-11.4

Nov 16 Recitation 12: Shell lab (pptx)
Nov 17 Network Programming (Part II) (pptx , pdf) bpr 11.4-11.6
Nov 19 Concurrent programming (pptx , pdf) BL 12.1-12.3

Nov 23 Recitation 13: Networking and Proxy (pptx) L6 Due, L7 (proxylab) out
Nov 24 No lecture--Thanksgiving
Nov 26 No lecture--Thanksgiving

Nov 30 Recitation 14: Synchronization (pptx)
Dec 1 Synchronization: Basic (pptx , pdf) BL 12.4, 12.5.1-3
Dec 3 Synchronization: Advanced (pptx , pdf) BL 12.5.4-5, 12.7-8 L7a due

Dec 7 Recitation 15: Exam review (pptx)
Dec 8 Thread-Level Parallelism (pptx , pdf) BL 12.6
Dec 10 Future of Computing (Milijana-pptx , Milijana-pdf , Kiwan-pptx , Kiwan-pdf , Harsh-pptx , Harsh-pdf) BL L7b due

Dec 13 Exam Review (pptx)
Dec 17 Final Exam