18-213/18-613: Computer Systems, Summer 2025

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

Schedule (subject to change)

Date Lecture/Groups Lec   Reading   Labs

May 12 18-613 Special! (Anyone can watch): Linux Bootcamp (mp4) EGO L0 (cprogramminglab) out (pdf, tar)
May 13 Overview (pptx , pdf) GK 1
May 14 Binary-based Representation and Integers (pptx , pdf , code) GK 2.1-2.3 L1 (datalab) out
May 15 Floating Point (pptx , pdf) GK 2.4
May 16 Small Group: Introductions + Representation + Data Lab
May 17
May 18

May 19
May 20 Machine Prog: Basics (pptx , pdf) GK 3.1-3.5
May 21 Machine Prog: Control (pptx , pdf) GK 3.6
May 22 Machine Prog: Procedures (pptx , pdf) GK 3.7 L1 due, L2 (bomblab) out
May 23 Small group: assembly + bomblab + gdb (for assembly)
May 24
May 25

May 26
May 27 Machine Prog: Data (pptx , pdf , code) GK 3.8-3.9
May 28 Machine Prog: Advanced (pptx , pdf) GK 3.10
May 29 Code Optimization (pptx , pdf , code) GK 5,7 L2 due, L3 (attacklab) out
May 30 Small group: Data + Advanced + attacklab
May 31
Jun 1

Jun 2
Jun 3 The Memory Hierarchy (pptx , pdf) GK 6.1-6.3
Jun 4 Cache Memories (pptx , pdf) GK 6.4-6.7 L0 final due (Hope you super intensely studied C Language Programming!)
Jun 5 Virtual Memory: Concepts (pptx , pdf) GK 9.1-9.6 L3 due, L4 (cachelab) out
Jun 6 Small group: Caching + Cache Lab + valgrind
Jun 7
Jun 8

Jun 9 Special Session: Midterm Exam Review
Jun 10 Virtual Memory: Systems (pptx , pdf) GK 9.7-9.8
Jun 11 Linking (pptx , pdf) GK 7
Jun 12 Dynamic Memory Allocation Basic (pptx , pdf , code) GK 9.9 L4 checkpoint submission
Jun 13 Small groups: VM + gdb for C Language programming (vs assembly)
Jun 14
Jun 15 Midterm exam due by 11:59pm ET

Jun 16
Jun 17 Dynamic Memory Allocation Advanced (pptx , pdf) GK 9.10-9.12
Jun 18 ECF: Exceptions & Processes GK 8.1-8.4
Jun 19 Note: Juneteenth Observance (pptx , pdf , code) NA L4 (cachelab) due, L5 (malloclab) out
Jun 20 Small group: Malloc lab
Jun 21
Jun 22

Jun 23
Jun 24 Processes, cont. (pptx , pdf , code) GK 8.5-8.8
Jun 25
Jun 26 Signals and Files (pptx , pdf) GK 10 L5 checkpoint due
Jun 27 Small groups: Fork bombs and signals, Midterm review
Jun 28
Jun 29 L6 released for preview

Jun 30
Jul 1
Jul 2
Jul 3
Jul 4 Mid-Summer/Independence Day Break -- No classes or groups this week
Jul 5
Jul 6

Jul 7 L5 due, L6 (tshlab) out
Jul 8 Networking Overview I (pptx , pdf) GK 11.1-11.4
Jul 9
Jul 10 Networking Overview, cont (pptx , pdf) GK 11.5-11.6
Jul 11 Small group: I/O + Shell lab
Jul 12
Jul 13

Jul 14 L6 (tshlab) checkpoint due
Jul 15 Concurrent programming and Mutexes (pptx , pdf) GK 12.1-12.5.3
Jul 16
Jul 17 Synchronization Basic (pptx , pdf) GK 12.4, 12.5.1-3
Jul 18 Small group: Mutexes, sempahores, producer+consumer
Jul 19
Jul 20

Jul 21 L6 Due, L7 (proxylab) out
Jul 22 Synchronization Advanced (pptx , pdf , code) GK 12.5.4-5, 12.7-8
Jul 23
Jul 24 Thread-Level Parallelism (pptx , pdf , code) GK 12.6
Jul 25 Small group: Proxylab
Jul 26
Jul 27

Jul 28 L7 (proxylab) checkpoint due
Jul 29 Final Exam Review GK
Jul 30
Jul 31 Course wrap-up GK
Aug 1 Final exam
Aug 2 L7 due
Aug 3 L7 overdue (2 days late/grace, absolute last possible submission time)