Complete Powerpoint Lecture Notes for
Computer Systems: A Programmer's Perspective (CS:APP)
Randal E. Bryant and David R. O'Hallaron
Instructor Site
This page contains a complete set of Powerpoint lecture notes
for the CS:APP textbook, covering all thirteen chapters.
You can download a tarfile that
contains all of the Powerpoint lecture notes on this page.
Powerpoint Lecture Notes for Chapters 1-3 and 5-13
Here are the course outline and lecture notes we used for the
one-semester, Fall 2002 version of Introduction to Computer
Systems at Carnegie Mellon. This is the course that we refer to as
ICS+ in the CS:APP Preface. The ICS+
course covers every chapter in the CS:APP text except Chapter 4:
Processor Architecture. The notes for Chapter 4 are provided below.
- Class 01 - Introduction (Aug 27):
- Class 02 - Bits and Bytes (Aug 29)
(pdf,
pdf4up,
ppt)
- Class 03 - Integers (Sep 3)
(pdf,
pdf4up,
ppt)
- Class 04 - Floating point (Sep 5)
(pdf,
pdf4up,
ppt)
- Class 05 - Machine-Level Programming I - Introduction (Sep 10)
(pdf,
pdf4up,
ppt)
- Class 06 - Machine-Level Programming II - Control Flow (Sep 12)
(pdf,
pdf4up,
ppt)
- Data Lab (L1) due
- Bomb Lab (L2) handed out
- Class 07 - Machine-Level Programming III- Procedures (Sep 17
(pdf,
pdf4up,
ppt)
- Class 08 - Machine-Level Programming IV - Structured Data (Sep 19)
(pdf,
pdf4up,
ppt)
- Class 09 - Machine-Level Programming V - Miscellaneous Topics (Sep 24)
(pdf,
pdf4up,
ppt)
- Class 10 - Program Optimization I (Sep 26)
(pdf,
pdf4up,
ppt)
- Bomb Lab (L2) due
- Buffer Lab (L3) handed out
- Class 11 - Program Optimization II (Oct 1)
(pdf,
pdf4up,
ppt)
- Class 12 - The Memory Hierarchy (Oct 3)
(pdf,
pdf4up,
ppt)
- Class 13 - Exam 1 (Oct 8)
- Class 14 - Cache Memories (Oct 10)
(pdf,
pdf4up,
ppt)
- Performance Lab (L4) handed out
- Class 15 - Linking (Oct 15)
(pdf,
pdf4up,
ppt)
- Class 16 - Exceptional Control Flow I (Oct 17)
(pdf,
pdf4up,
ppt)
- Class 17 - Exceptional Control Flow II (Oct 22)
(pdf,
pdf4up,
ppt)
- Class 18 - Measuring Program Execution Time (Oct 24)
(pdf,
pdf4up,
ppt)
- Performance Lab (L4) due
- Shell Lab (L5) handed out
- Class 19 - Virtual Memory (Oct 29)
(pdf,
pdf4up,
ppt)
- Class 20 - P6/Linux Memory System (Oct 31)
(pdf,
pdf4up,
ppt)
- Shell Lab (L5) due (Nov 3)
- Malloc Lab (L6) handed out
- Class 21 - Dynamic Memory Allocation I (Nov 5)
(pdf,
pdf4up,
ppt)
- Class 22 - Dynamic Memory Allocation II (Nov 7)
(pdf,
pdf4up,
ppt)
- Class 23 - Exam 2 (Nov 12)
- Class 24 - System-Level I/O (Nov 14)
(pdf,
pdf4up,
ppt)
- Class 25 - Internetworking (Nov 19)
(pdf,
pdf4up,
ppt)
- Class 26 - Network Programming (Nov 21)
(pdf,
pdf4up,
ppt)
- Malloc Lab (L6) due
- Proxy Lab (L7) handed out
- Class 27 - Web Services (Nov 26)
(pdf,
pdf4up,
ppt)
- Class 28 - Concurrent Servers (Dec 3)
(pdf,
pdf4up,
ppt)
- Class 29 - Programming with Threads (Dec 5)
(pdf,
pdf4up,
ppt)
- Class 30 - Final exam (Dec 17)
Powerpoint Lecture Notes for Chapter 4: Processor Architecture
Here are the lecture notes from a mini-course on processor
architecture, based on CS:APP, that we offered at Carnegie Mellon in
the summer of 2002.
- Class 01 - Overview and ISA (May 21):
- Class 02 - Logic Design (May 23)
(pdf,
pdf4up,
ppt)
- Class 03 - Sequential Implementation (May 28)
(pdf,
pdf4up,
ppt)
- Class 04 - Pipelined Implementation I (May 30)
(pdf,
pdf4up,
ppt)
- Class 05 - Pipelined Implementation II (Jun 4)
(pdf,
pdf4up,
ppt)
- Class 06 - Wrap-up (Jun 6)
(pdf,
pdf4up,
ppt)
Supporting materials
Last modified: Wed Apr 23 18:59:47 EDT 2003