This schedule is tentative and most likely will be revised. Among other things, the assignments are not yet cast in stone. More assignments may be added.
| date | due | readings | lecture topics |
|---|---|---|---|
| 03-31 T | 1. Introduction | ||
| 04-02 R | §1–§2.3, §2.5 | 2. Integers | |
| 04-07 T | §3–§3.5, §3.13 | 3. Machine-level programming basics | |
| 04-09 R | §3.6 | 4. Control | |
| 04-10 F | HW #1 | ||
| 04-14 T | §3.7 | 5. Procedures | |
| 04-15 W | Data Lab | ||
| 04-16 R | §3.8–§3.10 | 6. Data structures | |
| 04-19 Su | HW #2 | ||
| 04-21 T | §3.11, §3.12, §3.15 | 7. Pointer problems | |
| 04-23 R | (midterm 1, in lecture) | ||
| 04-24 F | HW #3 | ||
| 04-28 T | §2.4, §3.14 | 8. Floating point | |
| 04-30 R | Pexex Lab | §5–§5.6, §5.13–§5.15 | 9. Program optimization |
| 05-05 T | §5.7–5.12 | 10. Instruction-level parallelism | |
| 05-07 R | §6 | 11. The memory hierarchy | |
| 05-08 F | HW #4 | ||
| 05-12 T | §12–§12.4 | 12. Thread-level parallelism | |
| 05-13 W | Smashing Lab | ||
| 05-14 R | §12.5–12.8 | 13. Synchronization | |
| 05-19 T | (midterm 2, in lecture) | ||
| 05-21 R | §10 | 14. I/O | |
| 05-26 T | HW #5 | §9 | 15. Virtual memory |
| 05-28 R | §7 | 16. Linking | |
| 06-02 T | §8, Appendix A | 17. Exceptions and errors | |
| 06-03 W | OpenMP Lab | ||
| 06-04 R | Blum et al. "Power Struggles" | 18. Other architectures |
The following textbook chapters are useful and entertaining but are not part of this course: §4, §11.
All assignments are due at 23:55 on the date specified.
The final exam is three hours and will be held at the time scheduled by the registrar.