Topics

Newer training material is written in reStructuredText, and massaged by a Sphinx extension to form a network of topics as I call it. This is work in progress.

Topics naturally depend on other topics. Together, topics and their dependencies form a directed acyclic graph - see for example the full set of Python topics, laid out as one such graph.

The Python training has been converted to this format; see there for how this could look like (careful though: this is work in progress).

Code

Much of the training material is accompanied by a growing code base, mostly written in Python, C, and C++. For reference, here’s the CMakeLists.txt file that steers the build of C and C++ material.

ADD_SUBDIRECTORY(unittest-gtest-basics-code)
ADD_SUBDIRECTORY(unittest-gtest-fixture-code)
ADD_SUBDIRECTORY(unittest-gtest-mock-code)
ADD_SUBDIRECTORY(sysprog-signals-code)
ADD_SUBDIRECTORY(sysprog-ipc-code)
ADD_SUBDIRECTORY(sysprog-events-code)

ADD_SUBDIRECTORY(c++-class-intro-code)
ADD_SUBDIRECTORY(c++-dynamic-memory-code)
ADD_SUBDIRECTORY(c++-ownership-raii-code)
ADD_SUBDIRECTORY(c++-global-initialization-code)
ADD_SUBDIRECTORY(c++-exercises-code)
ADD_SUBDIRECTORY(c++-smart-pointers-code)
ADD_SUBDIRECTORY(c++-class-templates-code)
ADD_SUBDIRECTORY(c++-inheritance-virtual-code)
ADD_SUBDIRECTORY(c++-templates-vs-interfaces-code)
ADD_SUBDIRECTORY(c++-stl-container-intro-code)
ADD_SUBDIRECTORY(c++-lambda-code)

Note

See here for how to build the sample code that is referenced.