CMSC216: Course Schedule and Materials
Sections 1xx / 2xx
University of Maryland
4 credits, Fall 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 | Code Environment | ||||||
| 1 | 31-Aug | Mon | No Discussion | K&R C book OR | ||||
| Tue | Introduction to C | C Refs on Canvas | ||||||
| Wed | Environment Setup, Lab1 | |||||||
| Thu | C Basics | |||||||
| 2 | 07-Sep | Mon | Labor Day: No Classes | |||||
| Tue | Basic Types, Pointers / Addresses | |||||||
| Wed | Lab02 Overview | |||||||
| Thu | Void Ptrs, Arrays | |||||||
| 3 | 14-Sep | Mon | C I/O Tutorial, Lab03 | Prev. Slides | ||||
| Tue | Allocation, Valgrind | Continued | ||||||
| Wed | Valgrind Debugging | |||||||
| Thu | Structs, I/O | |||||||
| 4 | 21-Sep | Mon | Project 1 Due: Mon 21-Sep | |||||
| Mon | Practice Exams | |||||||
| Tue | Binary Encoding, Number Systems | CSAPP: 2.1-2.3 | ||||||
| Wed | Review | |||||||
| Thu | Exam 1 Thu 24-Sep (Exam Rules) | |||||||
| 5 | 28-Sep | Mon | GDB Usage and Practice, Lab04 | Quick Guide to GDB | ||||
| Tue | Two's Complement, Bit Operations | |||||||
| Wed | Bit Shifting | |||||||
| Thu | Assembly Basics, Data movement | CSAPP: 3.1-3.5 | ||||||
| 6 | 05-Oct | Mon | Assembly Coding Examples, Lab05 | |||||
| Tue | ASM Data Movement, Memory Access | CSAPP: 3.6-3.7 | ||||||
| Wed | Assembly Arithmetic | |||||||
| Thu | Assembly Arithmetic, Division | |||||||
| Fri | P2 Due Fri 09-Oct | |||||||
| 7 | 12-Oct | Mon | Fall Break: No Class Mon/Tue 🍂 | |||||
| Wed | GDB with Compiled Code, Lab06 | CSAPP: 3.8-3.10 | ||||||
| Thu | ASM RIP Compare, Test, Jump | |||||||
| 8 | 19-Oct | Mon | Caller/Callee Save Regs | |||||
| Tue | ASM Function Calls | |||||||
| Wed | Assembly Globals | |||||||
| Thu | ASM Globals/Data, Buffer Overflow | |||||||
| 9 | 26-Oct | Mon | Assembly Stack Space | |||||
| Tue | Assembly Wrap-Up | |||||||
| Wed | Practice Exams | |||||||
| Thu | Exceptional Control Flow, Processes | CSAPP: 8 | ||||||
| Fri | P3 Due Fri 30-Oct | |||||||
| 10 | 02-Nov | Mon | Practice Exams | |||||
| Tue | Exam 2 Thu 03-Nov | |||||||
| Wed | Processes, Fork, Wait, Lab08 | |||||||
| Thu | Unix read() / write() | CSAPP: 10 | ||||||
| 11 | 09-Nov | Mon | Files Stats via stat() | |||||
| Tue | Unix redirection, stat() | |||||||
| Wed | make and Makefiles | |||||||
| Thu | Timing, Strides, and Cache | CSAPP: 6 | ||||||
| 12 | 16-Nov | Mon | I/O Redirection | |||||
| Tue | Memory Pyramid, Matrix layout | |||||||
| Wed | Cache Analysis | |||||||
| Thu | Hardware Demo, VirtMem Overview | CSAPP: 9 | ||||||
| 13 | 23-Nov | Mon | P4 Due Mon 23-Nov | |||||
| Mon | Matrices and Cache Optimization | |||||||
| Tue | Page Tables, mmap() | |||||||
| 25-Nov | Wed | Thanksgiving Break: Wed-Fri 🦃 | ||||||
| 14 | 30-Nov | Mon | Practice Exams | |||||
| Tue | Exam 3 Tue 01-Dec | |||||||
| Wed | Memory Mapped Arrays, Lab11 | |||||||
| Thu | Threads, Mutex, Coordination | CSAPP: 12 | ||||||
| 15 | 07-Dec | Mon | Threads | |||||
| Tue | Advanced Thread usage | |||||||
| Wed | Practice Exams | |||||||
| Thu | Finale / Review | |||||||
| Fri | P5 Due Fri 11-Dec | |||||||
| 12-Dec | Sat | Reading Day 📚 | ||||||
| 16-Dec | Tue | Final Exam | ||||||
| Tue 15-Dec 6:30pm-8:30pm | ||||||||
| Location To Be Determined | ||||||||
| (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
- CMSC216 Coding Environment Setup Guide
- CMSC216 C Coding Style Guide
- TA Slides / Tutorials: Public Google Drive of TA materials to support lab work
- Open Resource Exam Rules
- Quick Guide to GDB
- Brown University's x64 Cheat Sheet
- Grade Calculator
- Midterm Survey Results
- Exit Survey Results