COMP 40 Syllabus
Note: This syllabus is subject to change without notice at any
time.
Expect it to change approximately weekly throughout the semester.
Scheduling is by ``units,'' not weeks.
Units and weeks may not correspond exactly.
Check the dates carefully.
If you want to see something organized more by date, look at the
schedule.
- intro (9/9-9/11)
- Introduction: Old wine in new bottles
Read:
Design (also in PDF) due on 9/14.
Homework (also in PDF) due on 9/17.
- iii (9/14-9/28)
- Interfaces, implementations, and images
Read:
Design (also in PDF) due on 9/24.
Homework (also in PDF) due on 9/30.
- locality (9/30-10/14)
- Machine storage and locality
Read:
- Bryant and O'Hallaron: Chapter 1 (skim)
- Bryant and O'Hallaron, Section 1.7 (read)
- Bryant and O'Hallaron, Sections 6.2 to 6.5
Design (also in PDF) due on 10/8.
Homework (also in PDF) due on 10/13.
- arith (10/16-10/26)
- Data! Bits, bytes, words, and arithmetic
Read: Bryant and O'Hallaron, Sections 2.1–2.4
Lecture notes are not yet available.
Design (also in PDF) due on 10/21.
Homework (also in PDF) due on 10/25.
- Midterm exam in class (10/28)
- Interfaces and implementations; caches and locality; machine arithmetic.The midterm will focus on material from the first three assignments and on material from in-class exercises. I will also expect you to have some grasp of floating-point arithmetic.You will be expected to read and write C code, although if you can't remember some syntax, you can make it up and explain its meaning.
- code (11/2-11/9)
- From C code to machine instructions
Read:
- Bryant and O'Hallaron, new material in Sections 3.1–3.7 (but be aware this material uses the wrong machine for examples)
- Bryant and O'Hallaron AMD64 supplement
- Bryant and O'Hallaron, material for review in Sections 3.8–3.11
Homework (also in PDF) due on 11/10.
- um (11/11-11/18)
- Machine code: Virtual Machines
Design (also in PDF) due on 11/17.
Homework (also in PDF) due on 11/19.
- profile (11/20-11/30)
- Code IV: Profiling and Code Tuning
Read:
- Bryant and O'Hallaron, sections of Chapter 5 (for details, see homework)
- Documentation for valgrind and kcachegrind (for reference)
Lecture notes are not yet available.
Homework (also in PDF) due on 12/3.
- asm (12/2-12/11)
- From assembly code to machine code
Read:
Homework planned to be due on 12/10.
- Final exam (12/16)
- 12:00 PM, Halligan 111A