CS 240 Computing Environments
- CS Linux machines are available in the SCI microfocus lab and SCI 173.
- A CS account is required. If you do not have one, request an account while on campus.
- The wx appliance is a self-contained GNU/Linux environment for your computer.
We support two computing environments for CS 240. Unlike your earlier CS courses, CS 240 is a low-level systems course where the low-level system details matter. It is difficult, error-prone, or impossible to complete CS 240 assignments elsewhere1 (e.g., on Mac or Windows). We do not support environments other than ours. Do not waste time trying to use a different environment.
- GNU/Linux Skills (← start here), Scott Anderson, Wellesley College (Ignore
- Emacs Basics (← start here)
- Mercurial (
hg) and Bitbucket for version control of CS 240 assignments.
C and x86
- The C Programming Language (a.k.a. K&R), Kernighan and Ritchie, classic book
- Stanford CS Library C resources
- C resources, Tia Newhall, Swarthmore College
- Duane’s Incredibly Brief Introduction to the C Programming Language, Duane Bailey, Williams College
- GCC manual (
makeand writing Makefiles, Tia Newhall, Swarthmore College
- Make manual (not easy reading)
- CS 240 GDB reference sheet (pdf, txt):
- Valgrind Memcheck manual:
- x86-64: CSAPP Chapter 3 (draft)
- CSAPP textbook resources
If you already use Linux on your personal computer, I am happy to share the list of tools we need or point you to our RPM package repository, but I will not have time to help you figure out how those map to packages on Linux distributions other than Fedora. ↩