CSCI 2330
Foundations of Computer Systems

Bowdoin College
Fall 2025
Instructors: Sean Barker & Jeffrey Knockel

Schedule

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.

DateClassTopicReadingsSlidesExercises
WedSep 31Introduction, Lab 0Ch. 1 (skim) Intro Slides Layers Slides
FriSep 52Numbering SystemsCh. 2.1 Representation Slides Binary Exercises
MonSep 83Bitwise OperatorsCh. 2.2 Bitwise Exercises
WedSep 104Integer Representations, Lab 1Ch. 2.3 Representation Exercises
FriSep 125Two's Complement, Bit PuzzlesBitpuzzle Exercises
MonSep 156Integer Logic & Floating-PointLogic Exercises
WedSep 177IEEE 754 RepresentationCh. 2.4 Float Exercises
FriSep 198Memory, Endianness, & PointersMemory Slides Pointer Exercises
MonSep 229Arrays and StringsArray Exercises
WedSep 2410Memory Layout & AllocationAllocation Exercises
FriSep 2611Debugging, Lab 2
MonSep 2912Debugging PracticeGDB Reference Debugging Exercises (mini-lab)
WedOct 113x86-64 ISA, Data MovementCh. 3.1-3.4 x86-basics Slides Mov Exercises
FriOct 314Addressing & ArithmeticCh. 3.5 Operand Exercises
MonOct 615Procedures & Condition CodesCh. 3.6 x86-control Slides Asm1 Exercises
WedOct 816Loops & OptimizationsAsm2 Exercises
FriOct 10Midterm Exam 1
MonOct 13No Class: Fall Break
WedOct 1517Reverse Engineering, Lab 3x86-64 Registers Gdb Exercises
FriOct 1718Jump Tables & ProceduresCh. 3.7 x86-procedures Slides
MonOct 2019Procedure MemoryProcedures Exercises
WedOct 2220Saved Registers, ArraysCh. 3.8 x86-structures Slides
FriOct 2421StructsCh. 3.9
MonOct 2722Buffer OverflowsCh. 3.10
WedOct 2923Code Injection Attacks, Lab 4
FriOct 3124Return-Oriented Programming