15-213/15-513/14-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/15-513 lectures are presented by Prof. Phillip Gibbons (pg) of Prof. Seth Goldstein (sg) as indicated in the schedule.
  • 14-513 lectures are presented by Prof. Taha Khan (tk)
  • Bootcamps 5-6 will be presented live by the TAs, at a room TBD.
  • For Bootcamps 1-4, we will post videos of prior bootcamps, along with slides and handouts.
  • There will be ten in-class paper quizzes over the course of the semester, and your lowest two quizzes will be dropped. Each quiz is equally weighted, worth 0.5% of your grade.

Schedule (subject to change)

Date Lecture/Recitation Instructors   Reading   Labs

Aug 25 Overview pg/sg, tk 1 L0 (cprogramminglab) out
Aug 27 Bits, Bytes, & Integers pg, tk 2.1-2.3 L1 (datalab) out
Aug 28 Recitation 1: Introduction, Datalab

Aug 30 Bootcamp 1: Linux, Command Line, Git and Bootcamp 2: Debugging & GDB
Sep 01 Machine Programming (Part I) sg, tk 3.1-3.6 L0 due
Sep 03 Machine Programming (Part II) sg, tk 3.6-3.7 L2 (bomblab) out
Sep 04 Recitation 2: Bomb Lab

Sep 08 Machine Programming (Part III) pg, tk 3.7-3.9 L1 due
Sep 10 Machine Programming (Part IV) pg, tk 3.10-3.11
Sep 11 Recitation 3: Bomb Lab part 2

Sep 15 Linking sg, tk 7 L2 due, L3 (attacklab) out
Sep 17 Design and Debugging sg, tk 9.10-9.12
Sep 18 Recitation 4: Attack Lab and Stacks

Sep 20 Bootcamp 3: GCC & Build Automation
Sep 22 The Memory Hierarchy pg, tk 6.1-6.3
Sep 24 Cache Memories pg, tk 6.4-6.7 L3 due, L4 (cachelab) out
Sep 25 Recitation 5: Caches and C Review

Sep 27 Bootcamp 4: C Programming
Sep 29 Virtual Memory: Concepts sg, tk 9.1-9.6
Oct 01 Virtual Memory: Details sg, tk 9.7-9.8
Oct 02 Recitation 6: Caches & Blocking

Oct 06 Dynamic Memory Allocation: Basic pg, tk 9.9
Oct 08 Dynamic Memory Allocation: Advanced pg, tk 9.10-9.12 L4 due, L5 (malloclab) out
Oct 09 Recitation 7: Malloclab (Part I)

Oct 13 No class—fall break
Oct 15 No class—fall break
Oct 16 No recitation—fall break

Oct 20 In-class Midterm
Oct 22 Code Optimization sg, tk 5
Oct 23 Recitation 8: Malloclab (Part II)

Oct 25 Bootcamp 5: Post-checkpoint Malloc
Oct 27 Processes and Multitasking sg, tk 8.1-8.4 L5a (malloc checkpoint) due
Oct 29 Exceptional Control Flow sg, tk 8.5-8.8
Oct 30 Recitation 9: Processes and Shells

Nov 03 No class—Democracy Day L5b (malloc final) due, L6 (tshlab) out
Nov 05 System Level I/O and File Systems sg, tk 10
Nov 06 Recitation 10: Tshlab

Nov 10 File Systems / Network Programming (Part I) sg, tk 11.1-11.4
Nov 12 Network Programming (Part II) sg, tk 11.4-11.6 L6 due, L7 (proxylab) out
Nov 13 Recitation 11: Networking and Proxies

Nov 17 Concurrent Programming pg, tk 12.1-12.3
Nov 19 Synchronization: Basic pg, tk 12.4, 12.5.1-3 L8 (sfslab) out
Nov 20 Recitation 12: Synchronization

Nov 24 Synchronization: Advanced pg, tk 12.5.4-5, 12.7-8 L7 due
Nov 26 No class—Thanksgiving
Nov 27 No recitation—Thanksgiving

Dec 01 Thread-Level Parallelism pg, tk 12.6
Dec 03 Frontiers of Computing pg L8 due
Dec 04 Recitation 13: Exam Review

Dec 06 Bootcamp 6: Exam Review