Date | Class | Topic | Readings | |
---|
Mon | Jan 22 | 1 | Introduction | Ch. 1 (skim) | |
Wed | Jan 24 | 2 | Bits and Binary | Ch. 2.1, binary-exercises.pdf | |
Fri | Jan 26 | L0 | Unix Warmup | | |
Mon | Jan 29 | 3 | Data Representation: Ints | Ch. 2.2, representation-exercises.pdf | |
Wed | Jan 31 | 4 | Data Representation: Ints | Ch. 2.3 | |
Fri | Feb 2 | L1 | A Bit Puzzling | | |
Mon | Feb 5 | 5 | Signed vs Unsigned, Integer Logic | logic-exercises.pdf | |
Wed | Feb 7 | 6 | Floating-Point Data, Memory | Ch. 2.4, fp-exercises.pdf | |
Fri | Feb 9 | L1 | A Bit Puzzling (cont) | | |
Mon | Feb 12 | 7 | Programming with Memory | C Pointers & Memory tutorial, pointer-exercises.pdf | |
Wed | Feb 14 | 8 | Programming with Memory | stringtest.c, pointertest.c | |
Fri | Feb 16 | L2 | Program Pointers | debugging practice programs (in SVN), GDB Tutorial | |
Mon | Feb 19 | 9 | x86-64 ISA, Data Movement | Ch. 3.1-3.4 | |
Wed | Feb 21 | 10 | Arithmetic, Condition Codes | Ch. 3.5, mov-exercises.pdf | |
Fri | Feb 23 | L2 | Program Pointers (cont) | | |
Mon | Feb 26 | 11 | Control Flow: Conditionals | Ch. 3.6 | |
Wed | Feb 28 | | No Class: Cancelled | | |
Fri | Mar 2 | L3 | BitBombs | | |
Mon | Mar 5 | 12 | Control Flow: Loops & Switches | | |
Wed | Mar 7 | 13 | Control Flow: Procedures | Ch. 3.7 | |
Fri | Mar 9 | | Midterm Exam (in lab) | | |
Mon | Mar 12 | | No Class: Spring Break | | |
Wed | Mar 14 | | No Class: Spring Break | | |
Fri | Mar 16 | | No Class: Spring Break | | |
Mon | Mar 19 | | No Class: Spring Break | | |
Wed | Mar 21 | | No Class: Spring Break | | |
Fri | Mar 23 | | No Class: Spring Break | | |
Mon | Mar 26 | 14 | Saved Registers & Arrays | Ch. 3.8 | |
Wed | Mar 28 | 15 | Structs & Floating Point | Ch. 3.9 | |
Fri | Mar 30 | L3 | BitBombs (cont) | | |
Mon | Apr 2 | 16 | Buffer Overflow & Code Injection | Ch. 3.10, buftest.c, exploit.c | |
Wed | Apr 4 | 17 | Return-Oriented Programming | | |
Fri | Apr 6 | L4 | Byte Stacker | | |
Mon | Apr 9 | 18 | Caching & The Memory Hierarchy | Ch. 6.2-6.3 | |
Wed | Apr 11 | 19 | Direct-Mapped Caches | Ch. 6.4-6.5, caching-exercises.pdf | |
Fri | Apr 13 | L4 | Byte Stacker (cont) | | |
Mon | Apr 16 | 20 | Associative Caches | associative-exercises.pdf | |
Wed | Apr 18 | 21 | Exceptional Control Flow | Ch. 8.1-8.3 | |
Fri | Apr 20 | L5 | Make Some Cache | | |
Mon | Apr 23 | 22 | Process Management | Ch. 8.4, fork-exercises.pdf, forktest.c | |
Wed | Apr 25 | 23 | Shells & Signals | Ch. 8.5 | |
Fri | Apr 27 | | No Class: Cancelled | | |
Mon | Apr 30 | 24 | Concurrency and Threads | thread.c | |
Wed | May 2 | L6 | The Bowdoin Shell | | |
Fri | May 4 | | No Class: Cancelled (previous makeup) | | |
Mon | May 7 | 25 | Virtual Memory | | |
Wed | May 9 | 26 | Linking, Digital Logic, and Wrap-up | | |