Date | Class | Topic | Readings |
---|
Tue | Jan 26 | 1 | Introduction | Ch. 1 (skim) |
Thu | Jan 28 | 2 | Bits and Binary | Ch. 2.1, binary-exercises.pdf |
Tue | Feb 2 | 3 | Data Representation: Ints | Ch. 2.2, integer-exercises.pdf |
Thu | Feb 4 | 4 | Integer Arithmetic & Overflow | Ch. 2.3 |
Tue | Feb 9 | 5 | Project 1, Signed vs Unsigned | |
Thu | Feb 11 | 6 | Data Representation: Floats | Ch. 2.4, floating-exercises.pdf |
Tue | Feb 16 | 7 | Endianness, Strings, and Assembly | |
Thu | Feb 18 | 8 | x86-64 Basics, Data Movement | Ch. 3.1-3.4, addressing-exercises.pdf |
Tue | Feb 23 | 9 | Arithmetic, Control Flow | Ch. 3.5-3.6 |
Thu | Feb 25 | 10 | Control Flow and GDB | GDB BitBomb demo |
Tue | Mar 1 | 11 | Switches & Procedures | Ch. 3.7 |
Thu | Mar 3 | 12 | Procedures, Arrays, and Structs | Ch. 3.8-3.9 |
Tue | Mar 8 | 13 | Arrays, Structs, and Buffer Overflows | |
Thu | Mar 10 | | Midterm Exam | |
Tue | Mar 15 | | No Class: Spring break | |
Thu | Mar 17 | | No Class: Spring break | |
Tue | Mar 22 | | No Class: Spring break | |
Thu | Mar 24 | | No Class: Spring break | |
Tue | Mar 29 | 14 | Code Injection & Return-Oriented Programming | Ch. 3.10 |
Thu | Mar 31 | 15 | Program Performance | Ch. 5 |
Tue | Apr 5 | 16 | Program Performance | |
Thu | Apr 7 | 17 | Caching and The Memory Hierarchy | Ch. 6.2-6.3 |
Tue | Apr 12 | 18 | Direct-Mapped Caches | Ch. 6.4-6.5 |
Thu | Apr 14 | 19 | Associative Caches | cache-exercises.pdf |
Tue | Apr 19 | 20 | Exceptions and Processes | Ch. 8.1-8.3 |
Thu | Apr 21 | 21 | Process Management | Ch. 8.4, forktest.c, fork-exercises.pdf |
Tue | Apr 26 | 22 | Systems Programming & Shells | waittest.c |
Thu | Apr 28 | 23 | Signals | Ch. 8.5, sigtest.c, alarmtest.c, killtest.c |
Tue | May 3 | 24 | Concurrency, Memory Management | |
Thu | May 5 | 25 | Page Tables, Threads, & Linking | |
Tue | May 10 | 26 | Guest Lecture & Exam Review | |