CSCI 2330
Foundations of Computer Systems

Bowdoin College
Fall 2018
Instructor: Sean Barker


The course schedule is tentative and subject to change. This page will be updated frequently to reflect the most up-to-date schedule. Chapter sections refer to the Computer Systems textbook.

ThuAug 301Introductionintro-slides.pdf, Ch. 1 (skim)
MonSep 3L0Unix Warmup
TueSep 42Bits and BinaryCh. 2.1, representation-slides.pdf, binary-exercises.pdf
ThuSep 63Data Representation: IntsCh. 2.2, representation-slides.pdf, representation-exercises.pdf
MonSep 10L1A Bit Puzzling
TueSep 114Data Representation: IntsCh. 2.3, representation-slides.pdf, logic-exercises.pdf
ThuSep 135Floating-Point DataCh. 2.4, representation-slides.pdf, float-exercises.pdf
MonSep 17L1A Bit Puzzling (cont)
TueSep 186Memory and Pointersmemory-slides.pdf, C Pointers & Memory tutorial
ThuSep 207Pointers, Arrays, and Stringsmemory-slides.pdf, stringtest.c, pointer-exercises.pdf
MonSep 248Memory Allocationmemory-slides.pdf, pointertest.c
TueSep 25L2Program Pointersdebugging practice programs (in SVN), GDB Tutorial
ThuSep 279x86-64 ISA, Data MovementCh. 3.1-3.4, x86-basics-slides.pdf
MonOct 1L2Program Pointers (cont)
TueOct 210x86 ArithmeticCh 3.5, x86-basics-slides.pdf, mov-exercises.pdf
ThuOct 411Condition Codes & ConditionalsCh 3.6, x86-control-slides.pdf
MonOct 8No Class: Fall Break
TueOct 9No Class: Fall Break
ThuOct 11L3BitBombsx86-registers.pdf, gdb-reference.pdf
MonOct 1512Control Flow: Loops & Switchesx86-control-slides.pdf
TueOct 16L3BitBombs (cont)
ThuOct 1813Control Flow: ProceduresCh. 3.7, x86-procedures-slides.pdf
MonOct 22Midterm Exam (in lab)
TueOct 2314Saved Registers & ArraysCh 3.8, x86-structures-slides.pdf
ThuOct 2515Arrays & StructsCh 3.9, x86-structures-slides.pdf
MonOct 2916Buffer Overflow & Code InjectionCh. 3.10, buffer-slides.pdf, buftest.c, makesploit.c
TueOct 30L4Byte Stacker
ThuNov 117Return-Oriented Programmingbuffer-slides.pdf
MonNov 5L4Byte Stacker (cont)
TueNov 618Caching & Cache DesignsCh 6.1, caching-slides.pdf
ThuNov 819Direct-Mapped CachesCh. 6.4, caching-slides.pdf, caching-exercises.pdf
MonNov 12L5Make Some Cache
TueNov 1320Associative Caches & LocalityCh 6.2-6.3, 6.5, caching-slides.pdf, associative-exercises.pdf
ThuNov 1521Exceptional Control FlowCh. 8.1-8.3, process-slides.pdf
MonNov 19L5Make Some Cache (cont)
TueNov 2022Process ManagementCh. 8.4, process-slides.pdf, fork-exercises.pdf, forktest.c
ThuNov 22No Class: Thanksgiving Break
MonNov 2623Shells & SignalsCh. 8.5, process-slides.pdf
TueNov 27L6The Bowdoin Shell
ThuNov 2924Concurrency and Threadsprocess-slides.pdf
MonDec 3L6The Bowdoin Shell (cont)
TueDec 425Virtual Memoryvm-slides.pdf
ThuDec 626Linking, Digital Logic, Wrap-upwrapup-slides.pdf