Lecture schedule - Topics may change according to class pace
See http://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 | Tue, 1/22/2019 | About the course | ||
2 | Thur, 1/24/2019 | Intro to computers | HW1 on reality | |||
2 | Ch.2 Representing and Manipulating Information | 3 | Tue, 1/29/2019 | Binary, octal, decimal, hexa numbers, integer representation | ||
4 | Thur, 1/31/2019 | Binary to integer to unsigned and back | ||||
3 | 5 | Tue, 2/5/2019 | Integer addition, integer multiplication | HW 2 on ints | ||
6 | Thur, 2/7/2019 | Floating point representation and operationsn | ||||
4 | Ch.3 Machine-Level Representation of Programs - Linux assembly and machine languages | 7 | Tue, 2/12/2019 | Data types, registers, C to assembly to machine code | HW 3 on floats | |
8 | Thur, 2/14/2019 | Data movement instructions, address computation | ||||
5 | 9 | Tue, 2/19/2019 | Data movement instructions, address computation | |||
10 | Thur, 2/21/2019 | Test 1, for an hour and 15 mins, the same classroom | ||||
6 | 11 | Tue, 2/26/2019 | Control: jump instructions, conditional branches | HW 4 on basic assembly | ||
12 | Thur, 2/28/2019 | Loops and switch statements, push, pop | ||||
7 | 13 | Tue, 3/5/2019 | Procedures and recursions | HW 5 on control | ||
14 | Tue, 3/7/2019 | Array allocation and access, pointers | ||||
8 | 15 | Tue, 3/12/2019 | Multi-dimension arrays, matrix, structs, | HW 6 on procs, recurs | ||
16 | Thur, 3/14/2019 | Stack overflow detection and prevention, varible stack | ||||
9 | 17 | Tue, 3/26/2019 | Floating point instructions using mmx...zmm registers, avx,sse | HW 7 on stack overflow | ||
9 | Ch.4 Processor Architecture | 18 | Thur, 3/28/30/2019 | Sequential computers - instruction set, add, mov | ||
10 | 19 | Tue, 4/2/2019 | Sequential computers - add, mov, load, store | |||
20 | Thur, 4/4/2019 | Test 2, for an hour and 15 mins, the same classroom | ||||
11 | 21 | Tue, 4/9/2019 | Sequential computers - load, store, push, pop, call, ret | HW 8 on instr exec | ||
22 | Thur, 4/11/2019 | Pipelined computers - data and branch hazards | ||||
12 | 23 | Tue, 4/16/2019 | Pipelined computers - solutions to the hazards | |||
12 | Ch.6 Memory Hierarchy | 24 | Thur, 4/18/2019 | Main memory, cache memory, locality of reference | HW 9 on issues | |
13 | 25 | Tue, 4/23/2019 | Cache memory - mapping, placement | |||
26 | Thur, 4/25/2019 | Cache memory - placement, replacement, memory mountain, matrix multiplcation | HW 10 on cache | |||
14 | Ch.9 Virtual Memory | 27 | Tue, 4/30/2019 | Paging, page tables, address translation, example 1 | ||
28 | Thur, 5/2/2019 | Address translation example 2, dynamic memory allocation | HW 11 on virtual mem | |||
15 | --- | Final | See the registrar's page for the time and location |