Agenda Preparation
These four topics cannot be explained as they are, standing
alone. Rather, each topic has it own set of prerequisite topics that
must be explained before reaching the final topic. Those
prerequisite topics in turn have their own prerequisites.
Agenda preparation means to come up with a sequence of topics that
will be covered in the training. This is usually done manually. The
task is error prone and time consuming , which means that it is
usually also done half-heartedly - bad work .
Topics, together with their prerequisites, form an entire network of
topics. The topic system , at the heart of the project, formalizes
this information and makes it available to a number of tools.
Here you can see the structure of the hypothetical training that we
defined above. An arrow A ⟶ B means that topic B must
be explained before topic A (A is said to depend on B).
cluster_python
Python
cluster_python_basics
Basics
cluster_python_swdev
Software Development
python_python_1010_generators_yield
Iteration, and Generators: the yield Keyword
python_basics_python_0220_for
for Loops
python_python_1010_generators_yield->python_basics_python_0220_for
python_basics_python_0225_range
The range Function
python_python_1010_generators_yield->python_basics_python_0225_range
python_basics_python_0200_sequential_types
Sequential Datatypes
python_python_1010_generators_yield->python_basics_python_0200_sequential_types
python_basics_python_0270_functions
Functions
python_python_1010_generators_yield->python_basics_python_0270_functions
python_basics_python_0193_while
while Loops
python_basics_python_0220_for->python_basics_python_0193_while
python_basics_python_0220_for->python_basics_python_0200_sequential_types
python_basics_python_0450_dictionaries
More on Dictionaries
python_basics_python_0450_dictionaries->python_basics_python_0220_for
python_basics_python_0150_datatypes_overview_compound
Compound Datatypes
python_basics_python_0450_dictionaries->python_basics_python_0150_datatypes_overview_compound
python_basics_python_0225_range->python_basics_python_0220_for
python_basics_python_0225_range->python_basics_python_0200_sequential_types
python_basics_python_0170_if
The if Statement
python_basics_python_0193_while->python_basics_python_0170_if
python_basics_python_0160_boolean
Boolean
python_basics_python_0193_while->python_basics_python_0160_boolean
python_basics_python_0170_if->python_basics_python_0160_boolean
python_basics_python_0150_datatypes_overview
Datatypes
python_basics_python_0200_sequential_types->python_basics_python_0150_datatypes_overview
python_basics_python_0160_boolean->python_basics_python_0150_datatypes_overview
python_basics_python_0150_datatypes_overview_compound->python_basics_python_0150_datatypes_overview
python_basics_python_0120_helloworld
Hello World
python_basics_python_0110_blahblah
Blahblah
python_basics_python_0120_helloworld->python_basics_python_0110_blahblah
python_basics_python_0140_variables
Variables
python_basics_python_0150_datatypes_overview->python_basics_python_0140_variables
python_basics_python_0130_syntax_etc
Syntax etc.
python_basics_python_0130_syntax_etc->python_basics_python_0120_helloworld
python_basics_python_0140_variables->python_basics_python_0130_syntax_etc
python_basics_python_0270_functions->python_basics_python_0150_datatypes_overview
python_basics_python_0270_functions->python_basics_python_0140_variables
python_swdev_python_1100_exceptions
Exception Handling
python_swdev_python_1100_exceptions->python_basics_python_0140_variables
python_swdev_python_1100_exceptions->python_basics_python_0270_functions
python_swdev_python_1050_oo
Object Oriented Programming
python_swdev_python_1100_exceptions->python_swdev_python_1050_oo
python_swdev_python_1050_oo->python_basics_python_0450_dictionaries
python_swdev_python_1050_oo->python_basics_python_0270_functions
python_swdev_python_1200_modules
Modules and Packages
python_swdev_python_1200_modules->python_basics_python_0140_variables
python_swdev_python_1200_modules->python_basics_python_0270_functions
python_swdev_python_1200_modules->python_swdev_python_1050_oo
Based upon this knowledge, a tool can be used to automatically
generate an agenda.