CSCI 2330
Foundations of Computer Systems

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

MonFeb 81remoteIntroduction, Lab 0Ch. 1 (skim) Intro Slides
WedFeb 102remoteNumbering SystemsCh. 2.1 Representation Slides
FriFeb 123remoteBitwise OperatorsBinary Exercises
MonFeb 154remoteInteger RepresentationsCh. 2.2
WedFeb 175in-personInteger Representations, Lab 1Representation Exercises
FriFeb 196in-personInteger RepresentationsCh. 2.3 Bitpuzzle Exercises
MonFeb 227in-personFloating-Point RepresentationsCh. 2.4 Logic Exercises
WedFeb 248in-personFloating-Point RepresentationsFloat Exercises
FriFeb 269in-personMemory and Pointers Pointers tutorial Memory Slides
MonMar 110in-personPointers and ArraysPointer Exercises
WedMar 311remoteStrings, Lab 2
FriMar 512in-personMemory Allocation
MonMar 813in-personDebugging, Lab D
WedMar 1014in-personx86-64 ISA, Data MovementCh. 3.1-3.4 x86-basics Slides
FriMar 1215in-personx86 ArithmeticCh. 3.5 Operand Exercises
MonMar 1516in-personCondition Codes & ConditionalsCh. 3.6 x86-control Slides
WedMar 1717in-personReverse Engineering, Lab 3GDB Reference
FriMar 19in-personMidterm Exam
MonMar 22No Class: Spring Break
WedMar 2418in-personLoops & Switches
FriMar 2619in-personJump Tables
MonMar 2920in-personProcedures & StacksCh. 3.7 x86-procedures Slides
WedMar 3121in-personProcedure Memory
FriApr 222in-personArrays & StructsCh. 3.8-3.9 x86-structures Slides Array Exercises
MonApr 523remoteStructs & Buffer OverflowCh. 3.10 Buffers Slides
WedApr 724remoteCode Injection Attacks
FriApr 925remoteBuffer Overflow Defenses
MonApr 1226in-personROP Attacks, Lab 4
WedApr 1427in-personCaching & Cache DesignsCh. 6.1 Caching Slides
FriApr 1628in-personDirect-Mapped CachesCh. 6.4 Caching Exercises
MonApr 1929in-personAssociative CachesAssociative Exercises
WedApr 2130in-personLocality, Lab 5Ch. 6.2-6.3, 6.5
FriApr 2331in-personProcessesCh. 8.2 Process Slides
MonApr 2632in-personExceptional Control FlowCh. 8.1
WedApr 2833in-personProcess Control & ShellsCh. 8.3 Fork Exercises
FriApr 3034in-personLab 5 Discussion
MonMay 335in-personProcess ControlCh. 8.4
WedMay 536in-personSignalsCh. 8.5
FriMay 737in-personConcurrency & Threads
MonMay 1038in-personLab 6 Discussion
WedMay 1239in-personVirtual MemoryCh. 9.1 Vm-wrapup Slides
FriMay 1440in-personVirtual Memory, Lab 6
MonMay 1741in-personBeyond 2330 & Wrap-up