Please note that the schedule is subject to change.
Videos of the lectures are available here. Videos will generally be available within two days of the lecture.
It is far preferable to have the 2nd edition of the textbook. However, we indicate how the readings differ for the first edition. Note there are a few sections that occur only in the 2nd edition (e.g., 3.13), and all students should read them. There is a copy of the 2nd edition on reserve in the library.
Date |
Lec. |
Topic |
Recommended Reading |
Notes |
---|---|---|---|---|
Th 1-Sep |
1 |
Course overview |
||
Tu 6-Sep |
2 |
Machine representation of information |
2.1-2.3 |
Lec02.pdf |
Th 8-Sep |
3 |
Machine programming 1: Introduction |
3.1-3.4 |
Lec03.pdf |
Tu 13-Sep |
4 |
Machine programming 2: Control flow |
3.5-3.6 |
Lec04.pdf |
Th 15-Sep |
5 |
Machine programming 3: Procedures |
3.7 |
|
Tu 20-Sep |
6 |
Machine programming 4: Structured data |
3.8-3.10 |
|
Th 22-Sep |
7 |
Machine programming 5: Buffer overruns and stack exploits |
3.11-3.13 |
Lec07.pdf |
Tu 27-Sep |
8 |
Processor architecture |
||
Th 29-Sep |
9 |
Program optimization |
5.1-5.11 |
|
Tu 4-Oct |
10 |
Dynamic memory allocation 1 |
9.9 |
Lec10.pdf |
Th 6-Oct |
11 |
Dynamic memory allocation 2 |
9.10-9.11 |
Lec11.pdf |
Tu 11-Oct |
12 |
Memory and storage technologies |
6.1-6.3 |
|
Th 13-Oct |
13 |
Caching |
6.4-6.7 |
Lec13.pdf |
Tu 18-Oct |
14 |
Cache performance measurement and optimization |
5.12-5.15 |
|
Th 20-Oct |
15 |
Virtual memory |
9.1-9.6 |
Lec15.pdf |
Tu 25-Oct |
16 |
Linking and loading |
7.1-7.11 |
|
Th 27-Oct |
Midterm exam in class |
|||
Tu 1-Nov |
17 |
Threads and concurrency |
12.1,12.3 |
Lec17.pdf |
Th 3-Nov |
18 |
Synchronization |
12.4 |
|
Tu 8-Nov |
19 |
Semaphores, CVs, and monitors |
12.5 |
|
Th 10-Nov |
20 |
Synchronization problems and deadlock |
12.7 |
|
Tu 15-Nov |
21 |
Processes |
8.1-8.5 |
|
Th 17-Nov |
22 |
Files, pipes, and terminals |
10.1-10.10 |
Lec22.pdf |
Tu 22-Nov |
23 |
Network programming |
11.1-11.4 |
|
Th 24-Nov |
Thanksgiving: no class |
|||
Tu 29-Nov |
24 |
Virtualization (Guest lecturer: Daniel Margo) |
||
Th 1-Dec |
Final exam in class |
|||
Tu 6-Dec |
HW 6 due |
|||