Date | Material Covered | Reading |
Problem Set | Out | Due |
WEEK 1 |
Mo | 8/20 |
Administrative details, Course overview |
Chapter 1 |
PS 1
(solutions) |
|
|
We | 8/22 |
Information storage
(code) |
2.1 |
PS 2: 2.61-2.62, submit .c file(s) |
Lab 1 |
|
WEEK 2 |
Mo | 8/27 |
Representing integers
(code) |
2.2-2.3 |
PS 3: 2.71, 2.76, 2.81 (.pdf) |
|
|
We | 8/29 |
Representing floats |
2.4-2.5 |
PS 4: 2.83 (.c) hint,
2.86 and 2.88 (.pdf) |
|
|
WEEK 3 |
Mo | 9/3 |
No class -- Labor Day |
We | 9/5 |
x86 machine model |
3.1-3.5 |
PS 5 |
|
|
WEEK 4 |
Mo | 9/10 |
Representing control flow, GDB |
3.6, 3.11 |
PS 6 |
Lab 2 |
Lab 1 |
We | 9/12 |
Representing procedures |
3.7 |
PS 7 |
|
|
WEEK 5 |
Mo | 9/17 |
Array allocation and access
(extra slides,
notes)
|
3.8 |
PS 8: 3.62-3.63
(.pdf) hint errata |
|
|
We | 9/19 |
Structures, Buffer overflow |
3.9-3.10, 3.12-3.13 |
PS 9: 3.64-3.65 (.pdf) |
|
|
WEEK 6 |
Mo | 9/24 |
Review for midterm exam 1
(sample exam,
solns,
slides) |
|
|
Lab 3 |
Lab 2 |
We | 9/26 |
Midterm exam 1 |
|
|
|
|
WEEK 7 |
Mo | 10/1 |
Optimization
(code) |
5.1-5.8 |
PS10: 5.15-5.16 (.pdf) |
|
|
We | 10/3 |
More on optimization |
5.9-5.15 |
PS11: 5.17, 5.22 (.pdf) |
|
|
WEEK 8 |
Mo | 10/8 |
No class – Fall Break |
We | 10/10 |
No class – Fall Break |
WEEK 9 |
Mo | 10/15 |
Memory hierarchy, Locality, Caches
(cachegrind) |
6.1-6.4 |
PS 12: 6.28, 6.31-6.32 (.pdf) |
Lab 4 |
Lab 3 |
We | 10/17 |
Writing cache-friendly code
(extra slides) |
6.5-6.7 |
PS 13: 6.36, 6.39-6.41 (.pdf) |
|
|
WEEK 10 |
Mo | 10/22 |
Linking |
7.1-7.6 |
PS 14: 7.6-7.8 (.pdf) |
|
|
We | 10/24 |
More on linking |
7.7-7.14 |
PS 15: 7.9-7.11 (.pdf) |
|
|
WEEK 11 |
Mo | 10/29 |
Exceptions, Process control |
8.1-8.4 |
PS16: 8.13-8.15 (.pdf) |
Lab 5 |
Lab 4 |
We | 10/31 |
Signals
(code) |
8.5-8.8 |
PS17: 8.10, 8.16, 8.18 (.pdf) |
|
|
WEEK 12 |
Mo | 11/5 |
Review for midterm exam 2
(sample exam,
solns,
notes) |
|
|
|
|
We | 11/7 |
Midterm exam 2 |
|
|
|
|
WEEK 13 |
Mo | 11/12 |
Virtual memory
(code) |
9.1-9.7 |
PS 18: 9.11-9.13 (.pdf) |
|
|
We | 11/15 |
Dynamic memory allocation |
9.9 |
PS 19 |
Lab 6 |
|
WEEK 14 |
Mo | 11/19 |
More on malloc |
9.9 |
PS 20 |
|
Lab 5 |
We | 11/21 |
Garbage collection, Memory-related bugs
(extra slides) |
9.10-9.12 |
|
|
|
WEEK 15 |
Mo | 11/26 |
Network programming
(extra slides, code) |
Chapter 11 (skim) |
PS 22 |
|
|
We | 11/28 |
Concurrent programming |
12.1-12.4 |
PS 23: 12.16 (.c), 12.17 (.pdf) |
|
|
WEEK 16 |
Mo | 12/3 |
Semaphores, Concurrency issues |
12.5-12.8 |
PS 24: 12.25, 12.28-12.29 (.pdf) |
|
|
We | 12/5 |
Review for final exam
(sample exam,
solns,
slides) |
|
|
|
Lab 6 |