| Date |
Lecture/Recitation |
Instructors |
Reading |
Labs |
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
- 15-213/513 lectures are presented by Prof. Brian Railing (bpr), Prof. David Andersen (dga), or Prof. Nathan Beckmann (beckmann) as indicated in the schedule.
- Bootcamps 5-6 will be presented live by the TAs, at a room TBD.
- For Bootcamps 1-4, we will post videos of prior bootcamps, along with slides and handouts.
- All times (unless otherwise noted) are in Eastern Time.
Schedule (subject to change)
|
|
Jan |
13 |
Overview
(pdf, pptx, L0-writeup, L0-tar-file)
|
dga/beckmann/bpr |
1 |
L0 (cprogramminglab) out
|
|
Jan |
15 |
Bits, Bytes, & Integers
|
|
2.1-2.3 |
L1 (datalab) out
|
|
Jan |
16 |
Recitation 1: Introduction, Datalab
|
|
|
|
|
|
Jan |
18 |
Bootcamp 1: Linux, Command Line, Git
|
|
|
|
|
Jan |
20 |
Machine Programming (Part I)
|
|
3.1-3.6 |
L0 due
|
|
Jan |
22 |
Machine Programming (Part II)
|
|
3.6-3.7 |
L2 (bomblab) out
|
|
Jan |
23 |
Recitation 2: Bomb Lab
|
|
|
|
|
|
Jan |
25 |
Bootcamp 2: Debugging & GDB
|
|
|
|
|
Jan |
27 |
Machine Programming (Part III)
|
|
3.7-3.9 |
L1 due
|
|
Jan |
29 |
Machine Programming (Part IV)
|
|
3.10-3.11 |
|
|
Jan |
30 |
Recitation 3: Bomb Lab part 2
|
|
|
|
|
|
Feb |
03 |
Linking
|
|
7 |
L2 due, L3 (attacklab) out
|
|
Feb |
05 |
Design and Debugging
|
|
9.10-9.12 |
|
|
Feb |
06 |
Recitation 4: Attack Lab and Stacks
|
|
|
|
|
|
Feb |
08 |
Bootcamp 3: GCC & Build Automation
|
|
|
|
|
Feb |
10 |
The Memory Hierarchy
|
|
6.1-6.3 |
|
|
Feb |
12 |
Cache Memories
|
|
6.4-6.7 |
L3 due, L4 (cachelab) out
|
|
Feb |
13 |
Recitation 5: Caches and C Review
|
|
|
|
|
|
Feb |
15 |
Bootcamp 4: C Programming
|
|
|
|
|
Feb |
17 |
Virtual Memory: Concepts
|
|
9.1-9.6 |
|
|
Feb |
19 |
Virtual Memory: Details
|
|
9.7-9.8 |
|
|
Feb |
20 |
Recitation 6: Caches & Blocking
|
|
|
|
|
|
Feb |
24 |
Dynamic Memory Allocation: Basic
|
|
9.9 |
|
|
Feb |
26 |
Dynamic Memory Allocation: Advanced
|
|
9.10-9.12 |
L4 due, L5 (malloclab) out
|
|
Feb |
27 |
Recitation 7: Malloclab (Part I)
|
|
|
|
|
|
Mar |
03 |
No class—fall break
|
|
|
|
|
Mar |
05 |
No class—fall break
|
|
|
|
|
Mar |
06 |
No recitation—fall break
|
|
|
|
|
|
Mar |
10 |
In-class Midterm
|
|
|
|
|
Mar |
12 |
Code Optimization
|
|
5 |
|
|
Mar |
13 |
Recitation 8: Malloclab (Part II)
|
|
|
|
|
|
Mar |
15 |
Bootcamp 5: Post-checkpoint Malloc
|
|
|
|
|
Mar |
17 |
Processes and Multitasking
|
|
8.1-8.4 |
L5a (malloc checkpoint) due
|
|
Mar |
19 |
Exceptional Control Flow
|
|
8.5-8.8 |
|
|
Mar |
20 |
Recitation 9: Processes and Shells
|
|
|
|
|
|
Mar |
24 |
No class—Democracy Day
|
|
|
L5b (malloc final) due, L6 (tshlab) out
|
|
Mar |
26 |
System Level I/O and File Systems
|
|
10 |
|
|
Mar |
27 |
Recitation 10: Tshlab
|
|
|
|
|
|
Mar |
31 |
File Systems / Network Programming (Part I)
|
|
11.1-11.4 |
|
|
Apr |
02 |
Network Programming (Part II)
|
|
11.4-11.6 |
|
|
Apr |
03 |
Recitation 11: Networking and Proxies
|
|
|
|
|
|
Apr |
07 |
Concurrent Programming
|
|
12.1-12.3 |
L6 due, L7 (proxylab) out
|
|
Apr |
09 |
Synchronization: Basic
|
|
12.4, 12.5.1-3 |
|
|
Apr |
10 |
Recitation 12: Synchronization
|
|
|
|
|
|
Apr |
14 |
Synchronization: Advanced
|
|
12.5.4-5, 12.7-8 |
L7 due, L8 (sfslab) out
|
|
Apr |
16 |
No class—Thanksgiving
|
|
|
|
|
Apr |
17 |
No recitation—Thanksgiving
|
|
|
|
|
|
Apr |
21 |
Thread-Level Parallelism
|
|
12.6 |
|
|
Apr |
23 |
Frontiers of Computing
|
|
|
L8 due
|
|
Apr |
24 |
Recitation 13: Exam Review
|
|
|
|
|
|
Apr |
26 |
Bootcamp 6: Exam Review
|
|
|
|