org.problets.tutor.problemsequencer.competence
Class RoundRobinLimited

java.lang.Object
  extended by org.problets.tutor.problemsequencer.AbstractProblemSequencer
      extended by org.problets.tutor.problemsequencer.competence.CompetenceProblemSequencerLimited
          extended by 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

Field Summary
 
Fields inherited from class org.problets.tutor.problemsequencer.AbstractProblemSequencer
PREDEFINED_FILE_EXT, PREDEFINED_FILE_INDEX, TEMPLATE_FILE
 
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 org.problets.tutor.problemsequencer.competence.CompetenceProblemSequencerLimited
getNextTemplate, isSequenceDone, printMatchingTemplates
 
Methods inherited from class org.problets.tutor.problemsequencer.AbstractProblemSequencer
getProblemSequencer, loadTemplates, loadTemplates, preProcess
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RoundRobinLimited

public RoundRobinLimited(java.lang.String inTopic,
                         java.util.Vector conceptsVector)
Method Detail

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)