CSCI 2330
Foundations of Computer Systems

Bowdoin College
Spring 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.

MonJan 221IntroductionCh. 1 (skim)
WedJan 242Bits and BinaryCh. 2.1, binary-exercises.pdf
FriJan 26L0Unix Warmup
MonJan 293Data Representation: IntsCh. 2.2, representation-exercises.pdf
WedJan 314Data Representation: IntsCh. 2.3
FriFeb 2L1A Bit Puzzling
MonFeb 55Signed vs Unsigned, Integer Logiclogic-exercises.pdf
WedFeb 76Floating-Point Data, MemoryCh. 2.4, fp-exercises.pdf
FriFeb 9L1A Bit Puzzling (cont)
MonFeb 127Programming with MemoryC Pointers & Memory tutorial, pointer-exercises.pdf
WedFeb 148Programming with Memorystringtest.c, pointertest.c
FriFeb 16L2Program Pointersdebugging practice programs (in SVN), GDB Tutorial
MonFeb 199x86-64 ISA, Data MovementCh. 3.1-3.4
WedFeb 2110Arithmetic, Condition CodesCh. 3.5, mov-exercises.pdf
FriFeb 23L2Program Pointers (cont)
MonFeb 2611Control Flow: ConditionalsCh. 3.6
WedFeb 28No Class: Cancelled
FriMar 2L3BitBombs
MonMar 512Control Flow: Loops & Switches
WedMar 713Control Flow: ProceduresCh. 3.7
FriMar 9Midterm Exam (in lab)
MonMar 12No Class: Spring Break
WedMar 14No Class: Spring Break
FriMar 16No Class: Spring Break
MonMar 19No Class: Spring Break
WedMar 21No Class: Spring Break
FriMar 23No Class: Spring Break
MonMar 2614Saved Registers & ArraysCh. 3.8
WedMar 2815Structs & Floating PointCh. 3.9
FriMar 30L3BitBombs (cont)
MonApr 216Buffer Overflow & Code InjectionCh. 3.10, buftest.c, exploit.c
WedApr 417Return-Oriented Programming
FriApr 6L4Byte Stacker
MonApr 918Caching & The Memory HierarchyCh. 6.2-6.3
WedApr 1119Direct-Mapped CachesCh. 6.4-6.5, caching-exercises.pdf
FriApr 13L4Byte Stacker (cont)
MonApr 1620Associative Cachesassociative-exercises.pdf
WedApr 1821Exceptional Control FlowCh. 8.1-8.3
FriApr 20L5Make Some Cache
MonApr 2322Process ManagementCh. 8.4, fork-exercises.pdf, forktest.c
WedApr 2523Shells & SignalsCh. 8.5
FriApr 27No Class: Cancelled
MonApr 3024Concurrency and Threadsthread.c
WedMay 2L6The Bowdoin Shell
FriMay 4No Class: Cancelled (previous makeup)
MonMay 725Virtual Memory
WedMay 926Linking, Digital Logic, and Wrap-up