15-213/18-213: Introduction to Computer Systems

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
  • video links are to lectures given in spring 2019.
  • tar links are to archive files in TAR format. Use the tar command on a linux machine to unpack these
Date Lecture/Recitation Lec   Reading   Labs

May 21 Overview (pdf, code, video) bpr 1
May 22 Bits and Bytes (activity, activity-sol, pdf, code, video) sboucher 2.1
May 23 Integers (activity, activity-sol, pdf, code, video) sboucher 2.2-2.3
May 24 Floating Point (activity, activity-sol, pdf, video) bpr 2.4 L1 (datalab) out

May 28 Linux/Git Bootcamp (pdf) TAs
May 29 Machine Prog: Basics (activity, activity-sol, pdf, code, video) bpr 3.1-3.5
May 30 Machine Prog: Control (activity, activity-sol, pdf , code , video) sboucher 3.6
May 31 Bomblab/GDB Recitation (pdf, handout-pdf) TAs L1 due, L2 (bomblab) out

Jun 4 Machine Prog: Procedures (activity, activity-sol, pdf, code, video) sboucher 3.7
Jun 5 Machine Prog: Data (activity, activity-sol, pdf, code, video) sboucher 3.8-3.9
Jun 7 Machine Prog: Advanced (activity, activity-sol, pdf, code, video) bpr 3.10

June 10 L2 due, L3 (attacklab) out
June 11 The Memory Hierarchy (activity, activity-sol, pdf) bpr 6.1-6.3
June 12 Attacklab Revisited (activity, pdf) TAs
June 13 Cache Memories (activity, activity-sol, pdf, video) bpr 6.4-6.7
June 14 C Bootcamp (pdf) TAs

June 17 L3 due, L4 (cachelab) out
June 18 Code Optimization (pdf, video) bpr 5
June 19 Software Design (pdf, tar) mhilton
June 20 Debugging and Testing (pdf, tar) mhilton
June 21 Dynamic Memory Allocation: Basic (pdf, video) bpr 9.9

June 24 L4 due, L5 (malloclab) out
June 25 Dynamic Memory Allocation: Advanced (pdf, video) bpr 9.10-9.13
June 26 Midterm Review (pdf) TAs
June 28 Midterm Exam — No Office Hours

July 2 More Malloc (pdf) TAs 9.10-9.13
July 3 Linking (activity, pdf, video) sboucher 7 malloclab checkpoint due

July 9 Virtual Memory: Concepts (activity, activity-sol, pdf, video) sboucher 9.1-9.6
July 10 Virtual Memory: Systems (activity, activity-sol, pdf, video) sboucher 9.7-9.8
July 12 ECF: Exceptions & Processes (activity, activity-sol, pdf, video) sboucher 8.1-8.4

July 15 L5 due, L6 (tshlab) out
July 16 ECF: Signals & Nonlocal Jumps (activity, activity-sol, pdf, video) sboucher 8.5-8.8
July 17 ECF: Signals (continued), Office Hours sboucher, TAs 9.10
July 19 System-Level I/O (activity, activity-sol, pdf, video) bpr 9.10

July 23 Network Programming (Part I) (activity, activity-sol, pdf, video) sboucher 11.1-11.3
July 24 Network Programming (Part II) (pdf, code, video) sboucher 11.4
July 25 Concurrency (pdf, video) bpr 12.1-12.3
July 26 L6 Due, L7 (proxylab) out

July 30 Synchronization: Basic (pdf, video) bpr 12.4, 12.5.1-3
July 31 Synchronization: Advanced (pdf, video) bpr 12.5.4-5, 12.7-8
Aug 1 Thread-Level Parallelism (pdf, video) bpr 12.6
Aug 2 Course Review (pdf) sboucher proxylab checkpoint due

Aug 6 Final Exam Review (pdf, pptx) TAs
Aug 7 Future of Computing (video) bpr
Aug 8 Final Exam
Aug 9 L7 due