This is an archived CS 240 website. There is a more current offering.

CS 240 Introduction to Computer Systems, Fall 2015

Staff / Hours

Instructor: Ben Wood, SCI E128 or microfous, office hours / contact on website
Lab Instructor: Jean Herbst, SCI E129, office hours / contact on website
Tutors: Amy and Meera

Schedule (jump to now)

Relevant reading is listed next to each lecture topic.
CSAPP: Computer Systems: A Programmer’s Perspective, 2/E
K&R: The C Programming Language, 2nd edition
SCO: Structured Computer Organization

The future and recent past, as recorded here, are subject to revision.

MonTueWedThuFri
31 August 01 September 02 September
  • Lab: computer teardown
  • Lab: transistors, electrical concepts
03 September 04 September
  • digital logic gates and boolean algebra (slides; SCO 3.0 - 3.1)
07 September 08 September 09 September
  • Lab: digital logic
10 September 11 September
  • integer representation (slides; CSAPP 2.2 - 2.2.3, 2.3. Skim 2.2.4 - 2.2.8)
14 September 15 September 16 September
  • Lab: ALU construction
17 September 18 September
  • latches, flip-flops, registers (slides; SCO 3.3 - 3.3.2 (3rd ed.) / 3.3.3 (4th ed.+), Latches, Flip-Flops, Registers)
  • Assign: Circuit Divination
21 September 22 September
  • memory devices (slides; SCO 3.3.3 (3rd ed.) / 3.3.4 (4th ed.+) - end of 3.3)
23 September
  • Lab: flip-flops and finite state machines
24 September 25 September
28 September 29 September
  • a simple processor (slides)
  • memory and addressing (slides; CSAPP 2.1.4 - 2.1.6)
  • C, pointers, arrays (slides; K&R 5; CSAPP 3.10)
30 September
  • Lab: processor datapath
01 October 02 October
  • in-class exam (numbers, digital logic, microarchitecture)
05 October 06 October
  • C, pointers, arrays (slides; K&R 5; CSAPP 3.10)
07 October 08 October 09 October
  • x86 basics (CSAPP 3.4 - 3.5; slides)
12 October Fall Break 13 October Fall Break 14 October
  • Lab: disassembly and reverse engineering
15 October 16 October
  • control flow (CSAPP 3.6; slides)
19 October 20 October
  • control flow (CSAPP 3.6; slides)
21 October 22 October 23 October
  • control flow (CSAPP 3.6; slides)
  • procedures and stacks (CSAPP 3.7; slides)
26 October 27 October Tanner Conference 28 October
  • Lab: procedures and stacks
29 October 30 October
02 November 03 November
  • buffer overrun exploits (CSAPP 3.12; slides)
  • 2D arrays (slides; CSAPP 3.8)
04 November
  • Lab: x86 programming
05 November 06 November
  • memory hierarchy and cache (slides; CSAPP 6.2-6.5)
09 November 10 November
  • memory hierarchy and cache (slides; CSAPP 6.2-6.5)
11 November
  • Lab: memory hierarchy and cache
  • Assign: Cache Sleuth
12 November 13 November
  • Due: Cache Sleuth
  • OS, process, exceptional control flow (slides; CSAPP 8.2, 8.1)
  • process management (slides; CSAPP 8.4)
16 November
  • begin exam window (ISA/assembly, caches)
17 November
  • process management (slides; CSAPP 8.4)
  • shells and signals (slides; CSAPP 8.5 as needed)
18 November 19 November 20 November
  • virtual memory (slides; CSAPP 9.0 - 9.7)
23 November 24 November 25 November Thanksgiving Break 26 November Thanksgiving Break 27 November Thanksgiving Break
30 November 01 December
  • dynamic memory allocation (slides; CSAPP 9.9 - 9.12)
02 December 03 December 04 December
  • garbage collection
  • compilers, runtime systems, Java (slides)
  • linking and loading (slides; skim CSAPP 7.1 - 7.11)
07 December 08 December 09 December Reading Period10 December Reading Period11 December Reading Period
14 December Final Exams15 December Final Exams16 December Final Exams17 December Final Exams18 December