Class Summary |
BaseLearnObjSelector |
Serves as the base class for learning objective selectors
Helps select the next learning objective for CompetenceProblemSequencer
Could select next learning objective in Sequence, or Random
Also, limits the number of problems generated in sequence for a learning objective |
BaseTemplateSelector |
Serves as the base class for tempalate selectors
Helps select the next template for a learning objective
Could select next template in Sequence, or Random
Ensures that templates are not reused
Could help audit the problems generated for each learning objective |
CompetenceProblemSequencerLimited |
Problem sequencer to help students learn till competent -
picks the problems applicable to the learning objectives
presents them in "appropriate" order
This is different from CompetenceProblemSequencer in the following ways:
1) It does not generate more than a fixed number of templates for a learning objective
Set BaseLearnObjSelector.maxProblems
2) It can select learning objectives sequentially or randomly -
Set BaseLearnObjSelector.sequenceType
3) It can select templates for a learning objective sequentially or randomly -
Set BaseTemplateSelector.sequenceType
3) When templates are generated randomly, it avoids duplicates within the last n/2
problems, n being the size of the template list. |
RandomLearnObjSelector |
Helps select the next learning objective for CompetenceProblemSequencer
Selects the next learning objective in random
Prevents using the same learning objective back to back unless it is the only one left
Limits the number of problems generated in sequence |
RandomTemplateSelector |
Helps select the next template for a learning objective
Selects the next template in random
Ensures that templates are not reused
(at least in as many templates as the size of history)
Could help audit the problems generated for each learning objective |
RoundRobinLimited |
Problem sequencer to be used for control groups when testing adaptive problem generation -
1) It generates problems for all the learning objectives, in the order in which they
appear in the correct knowledge model (not student knowledge model)
2) Regardless of whether a student has met a learning objective, it continues to generate
problems on the learning objective
3) For each learning objective, it does not generate more than a fixed number of templates,
the number decided by BaseLearnObjSelector.maxProblems
By virtue of inheriting from CompetenceProblemSequencerLimited, it also does the following:
4) It can select learning objectives sequentially or randomly -
Set BaseLearnObjSelector.sequenceType
5) It can select templates for a learning objective sequentially or randomly -
Set BaseTemplateSelector.sequenceType
6) When templates are generated randomly, it avoids duplicates within the last n/2
problems, n being the size of the template list. |
SequenceLearnObjSelector |
Helps select the next learning objective for CompetenceProblemSequencer
Selects the next learning objective in Sequence
Limits the number of problems generated in sequence |
SequenceTemplateSelector |
Helps select the next template for CompetenceProblemSequencer
Selects the next template in Sequence |