Lecture schedule - Topics may change according to class pace
See https://csapp.cs.cmu.edu/3e/home.html for lecture notes.
| Week | Chapter | Lecture | Date | Section | Homework |
|---|---|---|---|---|---|
| 1 | Ch.1 A Tour of Computer Systems | 1 | Wed,9/3 | About the course | |
| 2 | Mon,9/8 | Intro to computers | |||
| 2 | Ch.2 Representing and Manipulating Information | 3 | Wed,9/10 | Binary, octal, decimal, hexa numbers, integer representation | HW1 on reality |
| 4 | Mon,9/15 | Binary to integer to unsigned and back | |||
| 3 | 5 | Wed,9/17 | Integer addition, integer multiplication. Possibly computer ethics issues in numbers. | HW 2 on ints | |
| 6 | Mon,9/22 | Floating point representation and operations. Possiblly computer ethics issues in numbers. | |||
| 4 | 7 | Wed,9/24 | Floating point continues. Data types, registers, | HW 3 on floats | |
| 4 | Ch.3 Machine-Level Representation of Programs - Linux assembly and machine languages | 8 | Mon,9/30 | C to assembly to machine code, Data movement instructions | |
| 5 | 9 | Wed,10/1 | Test 1, for an hour and 15 mins | ||
| 10 | Mon,10/6 | Data movement instructions, address computation | |||
| 6 | 11 | Wed,10/8 | Control: jump instructions, conditional branches | HW 4 on basic assembly | |
| 12 | Mon,10/13 | Loops and switch statements, push, pop | |||
| 7 | 13 | Wed,10/15 | Procedures and recursions | HW 5 on control | |
| 14 | Mon,10/20 | Array allocation and access, pointers | |||
| 8 | 15 | Wed,10/22 | Multi-dimension arrays, matrix, structs, | HW 6 on procs, recurs | |
| 16 | Mon,10/27 | Stack overflow detection and prevention, varible stack | |||
| 9 | 17 | Wed,10/29 | Floating point instructions, Intel AVX, GPU programming using Nvidia CUDA | HW 7 on stack overflow | |
| 9 | Ch.4 Processor Architecture | 18 | Mon,11/3 | Sequential computers - instruction set, add, mov | |
| 10 | 19 | Wed,11/5 | Test 2, for an hour and 15 mins | ||
| 20 | Mon,11/10 | Sequential computers - add, mov, load, store | |||
| 11 | 21 | Wed,11/12 | Sequential computers - load, store, push, pop, call, ret | HW 8 on instr exec | |
| 22 | Mon,11/17 | Pipelined computers - data and branch hazards | |||
| 12 | 23 | Wed,11/19 | Pipelined computers - solutions to the hazards | ||
| 12 | Ch.6 Memory Hierarchy | 28 | Mon,11/24 | Main memory, cache memory, locality of reference | HW 9 on issues |
| 13 | 25 | Mon,12/1 | Cache memory - mapping, placement | ||
| 26 | Wed,12/3 | Cache memory - placement, replacement, memory mountain, matrix multiplcation | HW 10 on cache | ||
| 14 | Ch.9 Virtual Memory | 27 | Mon,12/8 | Paging, page tables, address translation, example 1 | |
| 28 | Wed,12/10 | Address translation example 2, dynamic memory allocation | HW 11 on virtual mem | ||
| 15 | --- | Final | See the registrar's page for the time and location | ||