CSCI 2330
Foundations of Computer Systems

Bowdoin College
Fall 2023
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 311Introduction, Lab 0Ch. 1 (skim) Intro Slides
FriSep 12Numbering SystemsCh. 2.1 Representation Slides Binary Exercises
TueSep 53Bitwise OperatorsCh. 2.2 Bitwise Exercises
ThuSep 74Integer RepresentationsCh. 2.3 Representation Exercises
FriSep 85Bit Puzzles, Lab 1Bitpuzzle Exercises
TueSep 126Bit Puzzles & Integer LogicLogic Exercises
ThuSep 147Floating-Point NumbersCh. 2.4 Float Exercises
FriSep 158Memory & PointersMemory Slides
TueSep 199PointersPointers tutorial Pointer Exercises
ThuSep 2110Arrays and StringsArray Exercises
FriSep 2211Memory Layout & Segments, Lab 2
TueSep 2612Heap Allocation & DeallocationAllocation Exercises
ThuSep 2813Debugging, Lab DGDB Reference
FriSep 2914x86-64 ISA, Data MovementCh. 3.1-3.4 x86-basics Slides
TueOct 315x86 ArithmeticCh. 3.5 Operand Exercises
ThuOct 516Procedures & Condition CodesCh. 3.6 x86-control Slides Assembly1 Exercises
FriOct 6No Class: Instructor away
TueOct 10No Class: Fall Break
ThuOct 1217Conditionals, Lab 3x86-64 Registers
FriOct 13Midterm Exam 1
TueOct 1718LoopsGdb-asm Exercises
ThuOct 1919Switches & Jump Tables
FriOct 2020Procedures & StacksCh. 3.7 x86-procedures Slides
TueOct 2421Procedure MemoryProcedures Exercises
ThuOct 26No Class: Canceled
FriOct 2722Arrays & StructsCh. 3.8-3.9 x86-structures Slides
TueOct 3123Buffer Overflows, Lab 4Ch. 3.10 Buffers Slides
ThuNov 224Code Injection Attacks
FriNov 325Return-Oriented ProgrammingOverflow Exercises
TueNov 726Caching & Cache DesignsCh. 6.1 Caching Slides
ThuNov 927Direct-Mapped CachesCh. 6.4 Caching Exercises
FriNov 1028Associative Caches, Lab 5Associative Exercises
TueNov 14Midterm Exam 2
ThuNov 1629Locality & The Memory HierarchyCh. 6.2-6.3, 6.5
FriNov 1730Processes & Exceptional Control FlowCh. 8.1-8.2 Process Slides
TueNov 2131Process ManagementFork Exercises
ThuNov 23No Class: Thanksgiving Break
FriNov 24No Class: Thanksgiving Break
TueNov 2832Process Control & Shells, Lab 6Ch. 8.3
ThuNov 3033Signals & ZombiesCh. 8.4-8.5 Shell Exercises
FriDec 134Reaping & Concurrency
TueDec 535Lab 6 Discussion
ThuDec 736Threads & Virtual MemoryCh. 9.1 Vm-wrapup Slides
FriDec 837Virtual Memory & Wrap-up