CMSC216: Course Schedule and Materials
University of Maryland
Fall 2024
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 | Slides Videos | Code Environment | |||||
Code Environment | |||||||
1 | 26-Aug | Introduction and C Basics | Slides Code Videos | Lab01 | HW01 | Lab HW | K&R C book OR |
C Refs on Canvas | |||||||
2 | 02-Sep | Labor Day, No Monday Discussion | |||||
03-Sep | Pointers and Addresses | Slides Code Videos | Lab02 | HW02 | Lab HW | ||
3 | 09-Sep | Allocation and I/O | Slides Cont'd Videos | Lab03 | HW03 | Lab HW | |
4 | 16-Sep | Binary Data/Ints | Slides Code Videos | Lab04 | HW04 | Lab HW | CSAPP: 2 |
GDB (Quick Guide to GDB) | Quick Guide to GDB | ||||||
P1 Due Mon 23-Sep | |||||||
5 | 23-Sep | Review | Slides Videos | ||||
Exam 1, Thu 26-Sep (Exam Rules) | Practice1A Solution | ||||||
Practice1B Solution | |||||||
6 | 30-Sep | Bit Operations | Videos Slides Cont'd | Lab05 | HW05 | Lab HW | |
Optional: Floats | Slides Code | ||||||
Assembly Basics | Slides Code | CSAPP: 3.1-3.5 | |||||
7 | 07-Oct | Assembly Control | Slides Code Videos | Lab06 | HW06 | Lab HW | CSAPP: 3.6-3.7 |
P2 Due Fri 11-Oct | |||||||
8 | 14-Oct | Assembly Data | Slides Code Videos | Lab07 | HW07 | Lab HW | CSAPP: 3.8-3.10 |
Security and Sundries | |||||||
9 | 21-Oct | Processes in Unix | Slides Code Videos | Lab08 | HW08 | Lab HW | CSAPP: 8 |
P3 Due Mon 28-Oct | |||||||
10 | 28-Oct | Review | Practice2A Solution | Reflection | Review | ||
🎃 | Exam 2, Thu 31-Oct | Practice2B Solution | |||||
Videos | |||||||
11 | 04-Nov | Unix Input / Output | Slides Code Videos | Lab09 | HW09 | Lab HW | CSAPP: 8,10 |
fork / dup Diagram | |||||||
12 | 11-Nov | Memory Systems and Cache | Slides Code Videos | Lab10 | HW10 | Lab HW | CSAPP: 6,9 |
13 | 18-Nov | Virtual Memory | Slides Code Videos | Lab11 | HW11 | Lab HW | CSAPP: 9 |
Threads and Concurrency | |||||||
P4 Due Fri 22-Nov | |||||||
14 | 25-Nov | Threads and Concurrency | Slides Code Videos | CSAPP: 12 | |||
27-Nov | Thanksgiving Recess | ||||||
No Classes Wed 27-Nov | |||||||
through Fri 29-Nov | |||||||
15 | 02-Dec | Threads Wrap-Up | Lab12 | HW12 | Lab HW | ||
Finale / Review | Slides Videos | ||||||
PracticeFA Solution | |||||||
16 | 09-Dec | P5 Due Mon 09-Dec | PracticeFB Solution | ||||
Mon: Last Day of Classes | |||||||
10-Dec | Tue: Reading Day | ||||||
12-Dec | Final Exam | Locations: | |||||
Thu 12-Dec 6:30pm-8:30pm | Lec 1xx: IRB 0324 | ||||||
(Common Final Exam Time) | Lec 2xx: ESJ 0202 | ||||||
11am section Final is IN A | |||||||
DIFFERENT BUILDING: ESJ 0202 | |||||||
Textbooks
Required Textbook (CS:APP): 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
- Open Resource Exam Rules
- Grade Calculator
- CSCI 2021 Quick Guide to gdb: The GNU Debugger
- Brown University's x64 Cheat Sheet
- TA Slides / Tutorials: Public Google Drive of TA materials to support lab work
- Midterm Survey Results