Resources
C tutorials and references
- C for Java Programmers (contains links to C tutorials and C reference books)
 - C for Java Programmers by J. Maassen
 - A Tutorial on Pointers and Arrays in C by Ted Jensen
 - Top tips to help the Java programmer code in C
 
IA-32 (x86) assembly language
- PC Assembly Language, by Paul A. Carter, July 2006. Note: this guide uses Intel style assembly syntax in its descriptions. We are using AT&T style syntax for our assembly code. See page 166 in CS:APP2e for the difference.
 - Harvard-local copy of PC Assembly Language
 - Brennan’s Guide to Inline Assembly (linking assembly code into a C program)
 - Other references, including the current Intel manuals
 
Textbook
- Student resources (includes Unix FAQ, C tutorials, example code, GDB tutorials, and more.)
 
GDB debugger
- Guide to Faster, Less Frustrating Debugging by Norman Matloff
 - GDB User Manual
 - GDB usage primer video
 - Useful GDB commands
 - Another GDB cheat sheet
 - Insight a GDB Graphical User Interface
 
Git
- CS61 Git notes, with links to more resources
 - CS61 Diff notes
 
Miscellaneous
- Machine programming
- The Story of Mel
 - Programming from the Ground Up. Introduction to programming via assembly.
 
 - Linking and loading
 - Dynamic memory management
- A Memory Allocator by Doug Lea
 
 - Memory hierarchy and memory technology
 - Optimization
- About GCC printf optimization by Peter Seiderer
 - Will It Optimize? from ridiculousfish
 
 - Concurrency and synchronization
- The Little Book of Semaphores by Allen B. Downey