Tutorial slides for COMP2017: System Programming

If you have any questions, please email me at stvya.sharma@sydney.edu.au or post it on EdStem.

Important: For any discrepancy, please refer to the content in the Lecture Slides and the Tutorial Exercises. These slides are only to be used to help explain concepts. They may leave out small details that are examinable, or they may contain information that is not examinable. Always use the Lecture Content and Tutorial Exercises as the primary reference.
13 tutorials
Week Topic Description
Week 2 Tut A Introduction to C History of C, differences from Java, and fundamental language characteristics
open
Week 2 Tut B Arrays & Pointers C arrays, pointer arithmetic, and introduction to Linux and the shell
open
Week 3 Tut A Number Systems & Memory Binary and hex, data representation, endianness, IEEE 754 floating point
open
Week 3 Tut B Strings & Preprocessing C string manipulation functions, compiler usage, and preprocessing directives
open
Week 4 Tut A Standard Library & Bitfields String functions, math.h, and bitwise operations with bitfields
open
Week 4 Tut B Structs & Unions Declaration, initialization, memory layout, padding, and nested structures
open
Week 5 Tut A File I/O Unix file philosophy, file descriptors, and standard C file I/O functions
open
Week 5 Tut B Dynamic Memory Stack vs heap, malloc/calloc/realloc/free, and building linked lists
open
Week 6 Tut A Linked Lists & Generics Singly/doubly/circular linked lists, dynamic arrays, and void* generic lists
open
Week 6 Tut B System Calls & Signals File descriptors, syscalls, blocking vs non-blocking I/O, and POSIX signals
open
Week 7 Tut A Function Pointers Declaration syntax, callbacks, typedefs, dispatch tables, and qsort
open
Week 7 Tut B Compilation Pipeline Stages of C compilation: preprocessing, lexing, parsing, assembly, and linking
open
Questions for practice Questions that are being used in my slides.
open