The tutorials for this course are listed below.
- Tutorial 1: Introduction to Unix
- Tutorial 2: Debugger
- There are two different tutorials, depending on whether you want to use gdb or lldb; only one is required. Pick the one that works best in your environment (lldb is preferred, but that does not work in the Ubuntu VirtualBox image). The source code provided is the same.
- Tutorial 2: GDB
- Tutorial 2: LLDB
- Tutorial 3: More Unix, part 1, which is sections 1-4; this tutorial is originally from here
- Tutorial 4: More Unix, part 2, which is sections 5-8; this tutorial is originally from here
- Tutorial 5: make, and the necessary pizza.zip
- Tutorial 6: Shell scripting, part 1
- This part of the Wikibooks article on Bash Shell Scripting
- In particular, it is section 1 (introduction) through section 4 (variables), as well as section 12 (shell arithmetic) and section 14 (input/output)
- Tutorial 7: Shell scripting, part 2
- This is the remainder of the Wikibooks article on Bash Shell Scripting
- Tutorial 8: assembly
32-bit: This two PDF book chapters that are contained in this repository: x86 Assembly, 32 bit and The 32 bit x86 C Calling Convention- 64-bit: This two PDF book chapters that are contained in this repository: x86 Assembly, 64 bit and The 64 bit x86 C Calling Convention
- Another good reading document is the x86-64 Machine-Level Programming document from CMU, although they use the other assembly language format
- Tutorial 9: C
- (no tutorial 10)
- Tutorial 11: Doxygen
- Source code: average.cpp (src)
- Tutorial 12: Objective C
- Source code: helloworld.m (src)
These are tutorials that may be useful to students, but are not assigned as part of the labs.