Feb 22: Introduction to the Course:
syllabus; what is systems programming; why it is useful to
know the C programming language; getting started: a very first
example; using the compiler; a very simple Makefile.
Mar 15: More details on the build process; the
pre-processor; multi-file projects; compilation units; symbols;
shared declarations; the pre-processor; the linkers;
modularization and information hiding in C.
TBD: Aggregate types; structures and
unions; enumerations; type definitions; initializers for
structures and arrays; nested structures, multidimensional arrays,
and other non-trivial types.
TBD: An in-depth look at expressions and
the execution model: operator precedence; type conversions; the
assignment statement; the execution model: evaluation order;
sequence points.
TBD: Overview of the C standard library:
basic string/character manipulation; File I/O; File-system
operations; dynamic memory allocation and management; simple dynamic
array.