Syllabus
Mailing list
Course online
Code examples
Tutors
Textbook Errata
riely373.cdm.depaul.edu
Lab descriptions at CMU
Data Lab
Bomb Lab
Buffer Lab
UNIX Tutorial for Beginners
Ubuntu documentation
GNU bash Manual
nano (Recommended)
vim
emacs
GNU C Programming Tutorial
An introduction to C
GNU gcc Manual
My gdb Notes
gdb Tutorial
GNU gdb Manual
Gnu Assembler Manual
Intel opcode table for IA32
Intel IA32 Documentation
x86-64 Machine-Level Programming
x86-64 Application Binary Interface (ABI)
Intel software optimization manual
Smashing The Stack For Fun And Profit
ELF Format
The Linux Kernel
Skim CS:APP 1 (ie, chapter 1 of the textbook Computer Systems: A Programmer's Perspective)
Skim Hoover 1 (ie, chapter 1 of the textbook System Programming with C and Unix)
Read CS:APP 2.1
Read Tutorial One: http://www.ee.surrey.ac.uk/Teaching/Unix
Skim this C reference: http://cprog.tomsweb.net/
Slides from class: file:class-01 file:s01-1.pptx file:02-1.ppt
Read CS:APP 2.1-2.2
Read Hoover 2
http://www.youtube.com/watch?v=OCYZTg3jahU
Slides: file:class-02 file:02-2.ppt
Read CS:APP 2.3-2.4
Slides: file:class-03 file:s02-3.pptx
Read CS:APP 3.1-3.5
Read Hoover 3-4
Read about C pointers: http://boredzo.org/pointers/
Slides: file:03-1.ppt
More slides on C: file:class-02
My gdb Notes My Bomb Lab Notes
Read CS:APP 3.6-3.7
Slides: file:03-2.ppt file:03-3.ppt
Read CS:APP 3.8-3.13 file:03-4.ppt file:03-5.ppt
How do buffer overflow attacks work?
Read CS:APP 6
Slides: file:s06-1.pptx file:s06-2.pptx
Memory System Performance Characterization with ECT memperf - Extended Copy Transfer Characterization
Intel's Sandy Bridge Microarchitecture (By: David Kanter)
Final exam is held Thursday, June 7, 2012 11:45am-2:00pm
The stylesheets used to create this website are based on Corin Pitcher's XSLT stylesheets for lecture slides.