Textbook

Required: Computer Systems: A Programmer’s Perspective, 3rd Edition, by David R. O’Hallaron and Randal E. Bryant.

Optional/recommended: The C Programming Language, by Brian W. Kernighan and Dennis M. Ritchie. This is a foundational book in applied computing. C is probably the most consequential language of our time. It was used to implement the backbone of the internet and remains the bedrock of operating systems like Unix and Linux. The book is one of the top-10 books that every computer scientist should read, at some point, and keep handy on their desk.

These books sell for about $30-$40 in online stores. Used copies sell for a bit less. Buying used is a good sustainability practice, and you get to save a few bucks.

Tools

Some of the coding in the course requires a C compiler. MacOS and Linux come with C compilers. Windows can be configured to work with C as well. A safer option is to use the shell in a hosted service like Replit. Alternatively, you may use a Raspberry Pi or similar single-board computers than can be purchased for less than $90.