Closed Elscha closed 9 months ago
Should CompositeUnits
only return the taught/required skills of the nested LearningUnits
or may they define additional skills? For instance: May teach a CompositeUnit
additional skills regarding "The Introduction of Loops" and "Choosing Among Loops" or must they be included by adding additional LearningUnits
?
CompositeUnits
CompositeUnits
cannot be learned via the nested LearningUnits
onlyCompositeUnits
may not define additional taught/required skills.
When returning the taught/required skills of a CompositeUnit
, the following skills should be returned (needs to be clarified):
LearningUnits
, which are not taught by other nested LearningUnits
.
Otherwise, requirements of the CompositeUnits
won't be fulfillable.LearningUnits
, including skills that are required inside the CompositeUnit
.
Reason: Some other skills outside of the CompositeUnit
may also require intermediate skills as required input.For instance, given the following CompositeUnit
with its nested elements:
SK:10
and SK:11
should be marked as requirements, SK:21
, SK:22
, and SK:23
should be marked as taught skills.
CompositeUnit
Can a CompositeUnit
be split into its nested elements?
It should be possible, iff only a supset is to be learned, otherwise its kept as complete block. Or more general:
CompositeUnit
at the pathCompositeUnit
. Otherwiese there won't be a use case to model such elements. I.e. avoid that other LearningUnits
were added between "Introduction of Loops" and "While Loop" if they are part of a CompositeUnit
.CompositeUnit
:
This allows:
Discussion moved to e-Learning-by-SSE/nm-concept#21
Actual Situation
We can only model
LearningUnits
, which do not include/reference further units directly.Target Situation
We want to model
LearningUnits
that reference/include otherLearningUnits
in one block. These blocks should not be split up into several separate blocks by the path planning algorithm and may contain additional units, e.g., an additional introduction at the beginning and an additional exercise at the end of the block.Purpose
This should allow the user to model chapters inside a learning path. For instance, a chapter about loops, which includes:
WHILE
,DO WHILE
,FOR
,FOR EACH
Type Modifications
We need a new type
CompositeUnit
, which refer to an arbitrary amount of nested LearningUnits but alsoCompositeUnits
. The class structure needs to be adapted so that we can use polymorphism to return the skills:LearningUnit
should return its skillsCompositeUnit
should not return/contain any new skills. Instead it should return the skills of the nested elementsModifications to the Algorithm
The algorithm should try not to break the
CompositeUnits
. Therefore, it should first try to find a path by considering theCompositeUnits
as one single item. After a path was detected, the algorithm may find a sub path recursively inside each of the usedCompositeUnits
. Further,LearningUnits
that are used inside aCompositeUnit
must not be used be passed separately to the algorithm (otherwise the algorithm will treat them as alternative and may break the structure).