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

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

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

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

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

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

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

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

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

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

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

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

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