Last Updated: 2026-03-10 Tue 10:39

CMSC216: Course Schedule and Materials

University of Maryland
Spring 2026

Schedule and Course Materials

All materials are subject to change and are marked internally with their latest update time.

Week Dates   Lecture / Projects Links Labs HW Solutions Reading
      Course Mechanics / Code Environment Slides Video       Code Environment
1 26-Jan Mon No Discussion         K&R C book OR
    Tue Introduction to C Slides Code Lab01 HW01 Lab HW C Refs on Canvas
    Wed Environment Setup, Lab1 Videos        
    Thu C Basics          
2 02-Feb Mon Lab02 Overview Slides Code Lab02 HW02 Lab HW  
    Tue Basic Types, Pointers / Addresses Videos        
    Wed Lab02 Completion, HW02 Practice          
    Thu Void Ptrs, Arrays          
3 09-Feb Mon C I/O Tutorial, Lab03 Prev. Slides Lab03 HW03 Lab HW  
    Tue Allocation, Valgrind Continued        
    Wed Valgrind Debugging: Materials Videos        
  💘 Thu Structs, I/O          
4 16-Feb Mon Project 1 Due: Mon 16-Feb          
    Mon Practice1A SolutionA Practice1B SolutionB        
    Tue Binary Encoding, Number Systems Slides Code       CSAPP: 2.1-2.3
    Wed Review Videos        
    Thu Exam 1 Thu 19-Feb (Exam Rules) Bonus Review 1        
5 23-Feb Mon GDB Usage and Practice, Lab04   Lab04 HW04   Quick Guide to GDB
    Tue Two's Complement, Bit Operations Videos        
    Wed Bit Shifting          
    Thu Assembly Basics, Data movement Slides Code       CSAPP: 3.1-3.5
6 02-Mar Mon Assembly Coding Examples, Lab05   Lab05 HW05    
  🎂 Tue ASM Data Movement, Memory Access Videos       CSAPP: 3.6-3.7
    Wed Assembly Arithmetic          
    Thu Assembly Arithmetic, Division          
      P2 Due Fri 06-Mar Midterm Survey        
7 09-Mar Mon GDB with Compiled Code, Lab06 Slides Code Lab06 HW06   CSAPP: 3.8-3.10
    Tue ASM RIP Compare, Test, Jump Videos        
    Wed Caller/Callee Save Regs          
    Thu ASM Function Calls          
  16-Mar   SPRING BREAK: No Classes          
8 23-Mar Mon Assembly Globals         CSAPP: 8
    Tue ASM Globals/Data, Buffer Overflow          
    Wed Assembly Stack Space          
    Tue Exceptional Control Flow, Processes          
9 30-Mar Mon P3 Due Mon 30-Mar          
    Mon Practice2A          
    Tue Unix Procs Wrap          
  🤡 Wed Practice2B          
    Thu Exam 2 Thu 02-Apr          
10 06-Apr Mon Processes, Fork, Wait, Lab09         CSAPP: 10
    Tue Unix read() / write()          
    Wed TBD          
    Thu Unix redirection, stat()          
11 13-Apr Mon I/O Redirection         CSAPP: 6
    Tue Timing, Strides and Cache          
    Wed Cache Analysis          
    Thu Memory Pyramid, Matrix layout          
12 20-Apr Mon Matrices and Cache Opt         CSAPP: 9
    Tue Hardware Demo, VirtMem Overview          
    Wed Practice Exam 3A          
    Thu Page Tables, mmap()          
    Fri P4 Due Fri 24-Apr          
13 27-Apr Mon Practice Exam 3B          
    Tue Exam 3 Tue 28-Apr          
    Wed Memory Mapped Arrays          
    Thu Threads, Mutex, Coordination         CSAPP: 12
14 04-May Mon Threads, Lab12          
    Tue Advanced Thread usage          
    Wed PracticeFA          
    Thu Finale / Review          
    Fri P5 Due Fri 08-May          
  09-May Sat Reading Day          
  📚              
  12-May Tue Final Exam          
      Tue 12-May 6:30pm-8:30pm          
      (Common Final Exam Time)          

Textbooks

Required Textbook (CSAPP): Computer Systems: A Programmer's Perspective, Third Edition by R. Bryant, D. O'Hallaron, Pearson, 2016

Optional (K&R C Book): The C Programming Language, Second Edition by Brian Kernighan and Dennis M. Ritchie, Prentice Hall 1988

Other free C references are listed on the course Canvas Site

Other Links


Web Accessibility
Author: Chris Kauffman (profk@umd.edu)
Date: 2026-03-10 Tue 10:39