CSCI 2330
Foundations of Computer Systems

Bowdoin College
Fall 2019
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.

ThuSep 51IntroductionCh. 1 (skim), intro-slides.pdf
FriSep 6L0Unix Warmup
TueSep 102Bits and BinaryCh. 2.1, representation-slides.pdf, binary-exercises.pdf
ThuSep 123Integer RepresentationsCh. 2.2, representation-slides.pdf, representation-exercises.pdf
FriSep 13L1A Bit Puzzling
TueSep 174Integer RepresentationsCh. 2.3, representation-slides.pdf, logic-exercises.pdf
ThuSep 195Floating-Point RepresentationsCh. 2.4, representation-slides.pdf, float-exercises.pdf
FriSep 20L1A Bit Puzzling (cont)
TueSep 246Memory and Pointersmemory-slides.pdf, C Pointers & Memory tutorial
ThuSep 267Pointers, Arrays, and Stringsmemory-slides.pdf, stringtest.c, pointer-exercises.pdf
FriSep 278Memory Allocationmemory-slides.pdf, pointertest.c
TueOct 19Debugging Mini-Lab
ThuOct 3L2Programming Pointers
FriOct 410x86-64 ISA, Data MovementCh. 3.1-3.4, x86-basics-slides.pdf
TueOct 811x86 ArithmeticCh. 3.5, x86-basics-slides.pdf, mov-exercises.pdf
ThuOct 1012Condition Codes & ConditionalsCh. 3.6, x86-control-slides.pdf
FriOct 11L3BitBombsx86-registers.pdf, gdb-reference.pdf
TueOct 15No Class: Fall Break
ThuOct 17No Class: Weather
FriOct 1813Loops & Switchesx86-control-slides.pdf
TueOct 22Midterm Exam
ThuOct 2414Procedures & StacksCh. 3.7, x86-procedures-slides.pdf
FriOct 2515Saved Registers & ArraysCh. 3.8, x86-structures-slides.pdf, array-exercises.pdf
TueOct 2916StructsCh. 3.9, x86-structures-slides.pdf
ThuOct 31L3BitBombs (cont)
FriNov 117Buffer Overflow & Code InjectionCh. 3.10, buffers-slides.pdf
TueNov 518Return-Oriented Programmingbuffers-slides.pdf
ThuNov 7L4Byte Stacker
FriNov 819Caching & Cache DesignsCh. 6.1, caching-slides.pdf
TueNov 1220Direct-Mapped CachesCh. 6.4, caching-slides.pdf, caching-exercises.pdf
ThuNov 1421Associative Caches & LocalityCh. 6.2-6.3, 6.5, caching-slides.pdf, associative-exercises.pdf
FriNov 15L5Make Some Cache
TueNov 1922Exceptional Control FlowCh. 8.1-8.3, process-slides.pdf
ThuNov 2123Processes & Shellsprocess-slides.pdf, fork-exercises.pdf
FriNov 22L5Make Some Cache (cont)
TueNov 2624Process ControlCh. 8.4, process-slides.pdf
ThuNov 28No Class: Thanksgiving Break
FriNov 29No Class: Thanksgiving Break
TueDec 325SignalsCh. 8.5, process-slides.pdf
ThuDec 526Concurrencyprocess-slides.pdf
FriDec 6L6The Bowdoin Shell
TueDec 1027Virtual Memory & Wrap-upCh. 9.1, vm-wrapup-slides.pdf