Last Updated: 2026-02-06 Fri 17:09

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   C Refs on Canvas
    Wed Environment Setup, Lab1 Videos        
    Thu C Basics          
2 02-Feb Mon Lab02 Overview Slides Code Lab02 HW02    
    Tue Basic Types, Pointers / Addresses Videos        
    Wed Lab02 Completion, HW02 Practice          
    Thu Void Ptrs, Arrays          
3 09-Feb Mon C I/O Tutorial, Lab03          
    Tue Allocation, Valgrind          
    Wed Valgrind Debugging          
  💘 Thu Structs, I/O          
4 16-Feb Mon Project 1 Due: Mon 16-Feb          
    Mon Practice1A          
    Tue Binary Ints, Bit Operations         CSAPP: 2.1-2.3
    Wed Practice1B          
    Thu Exam 1 Thu 19-Feb (Exam Rules)          
5 23-Feb Mon Bit Shifting, Lab04         CSAPP: 3.1-3.5
    Tue Assembly Basics          
    Wed GDB Usage and Practice         Quick Guide to GDB
    Thu Data movement, GDB usage          
6 02-Mar Mon Assembly Coding Examples, Lab05         CSAPP: 3.6-3.7
  🎂 Tue Arithmetic, Division, Jumps          
    Wed Assembly Arithmetic          
    Thu Compare, Test, Functions          
      P2 Due Fri 06-Mar          
7 09-Mar Mon Assembly Functions, Lab06         CSAPP: 3.8-3.10
    Tue Function Calls          
    Wed TBD          
    Thu ASM Globals/Data, Buffer Overflow          
  16-Mar   SPRING BREAK: No Classes          
8 23-Mar Mon Stack Space, Lab07         CSAPP: 8
    Tue Exceptional Control Flow          
    Wed GDB with Compiled Code          
    Tue Unix 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-02-06 Fri 17:09