CSC373: Computer Systems I (Autumn 2009/2010)
James Riely

Important Links

Syllabus

Mailing list

Course online

Code examples

Textbook Errata

Labs

Data Lab

Bomb Lab

Buffer Lab

Unix

UNIX Tutorial for Beginners

Ubuntu documentation

GNU bash Manual

Editors

nano (Recommended)

vim

emacs

C

GNU C Programming Tutorial

(pdf)

An introduction to C

GNU gcc Manual

GDB

gdb Tutorial

My gdb Notes

GNU gdb Manual

Assembly

Summary by Muganda

Gnu Assembler Manual

(See the x86 features)

Intel IA32 Documentation

(Uses intel syntax)
Linux

ELF Format

The Linux Kernel

(pdf)
Lecture Materials
1. Intro to Computer Systems and the C Language [09/15]

Read CS:APP 1 (ie, chapter 1 of the textbook Computer Systems: A Programmer's Perspective)

Read about C pointers: http://boredzo.org/pointers/

Read Tutorial One: http://www.ee.surrey.ac.uk/Teaching/Unix

Skim this C reference: http://cprog.tomsweb.net/

Slides from class: file:01-1.ppt file:class-01

More slides on C: file:00-1.ppt

Due: Nothing due!

2. Integer Representations [09/22]

Read CS:APP 2.1-2.2

Slides: file:class-02 file:02-1.ppt file:02-2.ppt

Due: Datalab (bitNor)

3. Integer Arithmetic; Floating Point [09/29]

Read CS:APP 2.3-2.4

Slides: file:class-03 file:02-3.ppt

Due: Datalab (bitNor bitXor isNotEqual getByte copyLSB logicalShift tmax)

4. Assembly I (Arithmetic; Control) [10/06]

Read CS:APP 3.1-3.5

Slides: file:03-1.ppt file:03-2.ppt

Due: Datalab (all)

5. Midterm Exam [10/13]

Due: Nothing due!

6. Assembly II (Procedures) [10/20]

Read CS:APP 3.6-3.7

Slides: file:03-3.ppt

Due: Bomblab (first two phases)

7. Assembly III (Structured Data) [10/27]

Read CS:APP 3.8-3.13 file:03-4.ppt file:03-5.ppt

How do buffer overflow attacks work?

Due: Bomblab (all)

8. Memory Hierarchy [11/03]

Read CS:APP 6.1-6.4

Slides: file:06-1.ppt file:06-2.ppt

My buflab Notes, Buflab disassembled

Due: Buflab (Candle and Sparkler)

9. Memory Hierarchy; Virtual Memory [11/10]

Read CS:APP 6.5-6.8, 10.1-10.7

Slides: file:10-1.ppt

Due: Buflab (all)

10. Optimization [11/17]

Read CS:APP 5

Slides: file:05-1.ppt file:05-2.ppt

Due: Nothing due!

Memory System Performance Characterization with ECT memperf - Extended Copy Transfer Characterization

11. Final Exam [11/24]

Due: Nothing due!

Contact Hours
Class Hours: Tue 5:45pm-9:00pm in Lewis 1110 [Section 701]
Online, Anytime [Section 710]
Office Hours: Tue 1:00-2:00pm in CDM 846


The stylesheets used to create this website are based on Corin Pitcher's XSLT stylesheets for lecture slides.