CSCI 2330
Foundations of Computer Systems

Bowdoin College
Spring 2023
Instructor: Sean Barker

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
TueJan 241Introduction, Lab 0Ch. 1 (skim) Intro Slides
ThuJan 262Numbering SystemsCh. 2.1 Representation Slides Binary Exercises
FriJan 273Bitwise OperatorsCh. 2.2 Bitwise Exercises
TueJan 314Integer RepresentationsCh. 2.3 Representation Exercises
ThuFeb 25Bit Puzzles, Lab 1Bitpuzzle Exercises
FriFeb 36Logic, Floating-Point NumbersCh. 2.4 Logic Exercises
TueFeb 77IEEE 754, Memory & EndiannessMemory Slides Float Exercises
ThuFeb 98PointersPointers tutorial Pointer Exercises
FriFeb 109Arrays and StringsArray Exercises
TueFeb 1410Memory Layout & Segments
ThuFeb 1611Memory Allocation, Lab 2
FriFeb 1712Debugging, Lab DGDB Reference
TueFeb 2113x86-64 ISA, Data MovementCh. 3.1-3.4 x86-basics Slides
ThuFeb 2314x86 ArithmeticCh. 3.5 Operand Exercises
FriFeb 2415Condition Codes & ConditionalsCh. 3.6 x86-control Slides
TueFeb 2816Loops, Reverse Engineeringx86-64 Registers Assembly Exercises
ThuMar 2Midterm Exam 1
FriMar 317Reverse Engineering, Lab 3GDB Reference Gdb Exercises
TueMar 718Switches & Jump Tables
ThuMar 919Procedures & StacksCh. 3.7 x86-procedures Slides
FriMar 1020Procedure Memory
TueMar 14No Class: Spring Break
ThuMar 16No Class: Spring Break
FriMar 17No Class: Spring Break
TueMar 21No Class: Spring Break
ThuMar 23No Class: Spring Break
FriMar 24No Class: Spring Break
TueMar 2821Arrays & StructsCh. 3.8-3.9 x86-structures Slides
ThuMar 3022Buffer OverflowsCh. 3.10 Buffers Slides
FriMar 3123Code Injection Attacks, Lab 4
TueApr 424Return-Oriented Programming
ThuApr 625Caching & Cache DesignsCh. 6.1 Caching Slides
FriApr 726Direct-Mapped CachesCh. 6.4 Caching Exercises
TueApr 1127Associative Caches, Lab 5Associative Exercises
ThuApr 13Midterm Exam 2
FriApr 14No Class: Instructor away
TueApr 1828Locality & The Memory HierarchyCh. 6.2-6.3, 6.5
ThuApr 2029Processes & Exceptional Control FlowCh. 8.1-8.2 Process Slides
FriApr 2130Lab 5 Discussion
TueApr 2531Process Control & ShellsCh. 8.3 Fork Exercises
ThuApr 2732Process ControlCh. 8.4
FriApr 2833Signals, Lab 6Ch. 8.5
TueMay 234Zombies & Reaping
ThuMay 435Concurrency & Threads
FriMay 536Lab 6 Discussion
TueMay 937Virtual Memory & Wrap-upCh. 9.1 Vm-wrapup Slides