C Lang and gdb:
- An interactive online environment for learning C program: Learn C.
- An entertaining post for learning the basic of gdb: gdb tutorial.
- A more advanced tutorial about gdb: GDB-intermediate.
- Some tutorial about how gdb is used in reverse engineering: Reverse Engineering Using gdb
Reverse engineering:
- Anatomy of a Program in Memory.
- Hacking: The Art of Exploitation. Note that the book is not required. But it is fun to read and could be helpful for many of your assignments.