CSCI 2330
Foundations of Computer Systems

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

MonJan 221Introduction, Lab 0Ch. 1 (skim) Intro Slides
WedJan 242Numbering SystemsCh. 2.1 Representation Slides Binary Exercises
FriJan 263Bitwise OperatorsCh. 2.2 Bitwise Exercises
MonJan 29No Class: Instructor out
WedJan 314Integer Representations, Lab 1Ch. 2.3 Representation Exercises
FriFeb 25Two's Complement, Bit PuzzlesBitpuzzle Exercises
MonFeb 56Integer Logic & Floating-PointLogic Exercises
WedFeb 77IEEE 754 RepresentationCh. 2.4 Float Exercises
FriFeb 98Memory & EndiannessMemory Slides
MonFeb 129Pointers and ArraysPointers tutorial Pointer Exercises
WedFeb 1410Arrays and StringsArray Exercises
FriFeb 1611Memory Layout & Allocation, Lab 2Allocation Exercises
MonFeb 1912Debugging, Lab DGDB Reference
WedFeb 2113x86-64 ISA, Data MovementCh. 3.1-3.4 x86-basics Slides
FriFeb 2314x86 ArithmeticCh. 3.5 Operand Exercises
MonFeb 2615Procedures & Condition CodesCh. 3.6 x86-control Slides Asm1 Exercises
WedFeb 2816Conditionals, Lab 3x86-64 Registers
FriMar 1Midterm Exam 1
MonMar 417Reverse Engineering & LoopsAsm2-gdb Exercises
WedMar 618Switches & Jump Tables
FriMar 819Procedures & StacksCh. 3.7 x86-procedures Slides Procedures Exercises
MonMar 11No Class: Spring Break
WedMar 13No Class: Spring Break
FriMar 15No Class: Spring Break
MonMar 18No Class: Spring Break
WedMar 20No Class: Spring Break
FriMar 22No Class: Spring Break
MonMar 25No Class: Weather
WedMar 2720Stack Vars & Saved Registers
FriMar 2921Arrays & StructsCh. 3.8-3.9 x86-structures Slides Struct Exercises
MonApr 122Buffer OverflowsCh. 3.10 Buffers Slides
WedApr 323Code Injection Attacks, Lab 4
FriApr 524Return-Oriented ProgrammingOverflow Exercises
MonApr 8No Class: Eclipse!
WedApr 1025Caching & Cache DesignsCh. 6.1 Caching Slides
FriApr 1226Direct-Mapped CachesCh. 6.4 Caching Exercises
MonApr 15Midterm Exam 2
WedApr 1727Associative Caches, Lab 5Associative Exercises
FriApr 19No Class: Instructor away
MonApr 2228Locality & The Memory HierarchyCh. 6.2-6.3, 6.5
WedApr 2429Processes & Exceptional Control FlowCh. 8.1-8.2 Process Slides
FriApr 2630Process ManagementFork Exercises
MonApr 2931Process Control & Shells, Lab 6Ch. 8.3
WedMay 132Signals & ZombiesCh. 8.4-8.5 Shell Exercises
FriMay 333Reaping & Concurrency
MonMay 634Threads & Lab 6 Discussion
WedMay 835Virtual Memory & Wrap-upCh. 9.1 Vm-wrapup Slides