org.problets.tutor.problemsequencer.competence
Class RoundRobinLimited
java.lang.Object
org.problets.tutor.problemsequencer.AbstractProblemSequencer
org.problets.tutor.problemsequencer.competence.CompetenceProblemSequencerLimited
org.problets.tutor.problemsequencer.competence.RoundRobinLimited
public class RoundRobinLimited
- extends CompetenceProblemSequencerLimited
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.
When templates are generated sequentially, if there are more templates for a
learning objective than BaseLearnObjSelector.maxProblems, on subsequent rounds,
it picks up from where it left off rather than repeat the same initial maxProblems
templates on each round. E.g., on round 1: 101, 102, 103, on round 2: 104, 105, 101
instead of 101, 102, 103 again on round 2.
Note that you do not want to pass StudentLearningObjectives to this class - it may contain
IndividualKnowledgeModel.OBJ_MET - which will trip up ProblemSelector.
- Author:
- Amruth Kumar
Constructor Summary |
RoundRobinLimited(java.lang.String inTopic,
java.util.Vector conceptsVector)
|
Method Summary |
java.lang.String |
getStatus()
Returns the number of problems that remain to be solved and the
number of concepts that remain to be learned |
static void |
main(java.lang.String[] args)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RoundRobinLimited
public RoundRobinLimited(java.lang.String inTopic,
java.util.Vector conceptsVector)
getStatus
public java.lang.String getStatus()
- Returns the number of problems that remain to be solved and the
number of concepts that remain to be learned
- Overrides:
getStatus
in class CompetenceProblemSequencerLimited
main
public static void main(java.lang.String[] args)