CSCI 2330
Foundations of Computer Systems
The course schedule is tentative and subject to change. This page will be updated frequently to reflect the most up-to-date schedule. Chapter sections refer to the Computer Systems textbook.
Date | Class | Topic | Readings | Slides | Exercises | |
---|---|---|---|---|---|---|
Wed | Sep 3 | 1 | Introduction, Lab 0 | Ch. 1 (skim) | Intro Slides Layers Slides | |
Fri | Sep 5 | 2 | Numbering Systems | Ch. 2.1 | Representation Slides | Binary Exercises |
Mon | Sep 8 | 3 | Bitwise Operators | Ch. 2.2 | Bitwise Exercises | |
Wed | Sep 10 | 4 | Integer Representations, Lab 1 | Ch. 2.3 | Representation Exercises | |
Fri | Sep 12 | 5 | Two's Complement, Bit Puzzles | Bitpuzzle Exercises | ||
Mon | Sep 15 | 6 | Integer Logic & Floating-Point | Logic Exercises | ||
Wed | Sep 17 | 7 | IEEE 754 Representation | Ch. 2.4 | Float Exercises | |
Fri | Sep 19 | 8 | Memory, Endianness, & Pointers | Memory Slides | Pointer Exercises | |
Mon | Sep 22 | 9 | Arrays and Strings | Array Exercises | ||
Wed | Sep 24 | 10 | Memory Layout & Allocation | Allocation Exercises | ||
Fri | Sep 26 | 11 | Debugging, Lab 2 | |||
Mon | Sep 29 | 12 | Debugging Practice | GDB Reference | Debugging Exercises (mini-lab) | |
Wed | Oct 1 | 13 | x86-64 ISA, Data Movement | Ch. 3.1-3.4 | x86-basics Slides | Mov Exercises |
Fri | Oct 3 | 14 | Addressing & Arithmetic | Ch. 3.5 | Operand Exercises | |
Mon | Oct 6 | 15 | Procedures & Condition Codes | Ch. 3.6 | x86-control Slides | Asm1 Exercises |
Wed | Oct 8 | 16 | Loops & Optimizations | Asm2 Exercises | ||
Fri | Oct 10 | Midterm Exam 1 | ||||
Mon | Oct 13 | No Class: Fall Break | ||||
Wed | Oct 15 | 17 | Reverse Engineering, Lab 3 | x86-64 Registers | Gdb Exercises | |
Fri | Oct 17 | 18 | Jump Tables & Procedures | Ch. 3.7 | x86-procedures Slides | |
Mon | Oct 20 | 19 | Procedure Memory | Procedures Exercises | ||
Wed | Oct 22 | 20 | Saved Registers, Arrays | Ch. 3.8 | x86-structures Slides | |
Fri | Oct 24 | 21 | Structs | Ch. 3.9 | ||
Mon | Oct 27 | 22 | Buffer Overflows | Ch. 3.10 | ||
Wed | Oct 29 | 23 | Code Injection Attacks, Lab 4 | |||
Fri | Oct 31 | 24 | Return-Oriented Programming |