org.activemath.studentmodel2.simulation
Class DifficultyMapper

java.lang.Object
  extended by org.activemath.studentmodel2.simulation.DifficultyMapper

public class DifficultyMapper
extends Object

This class maps LeAM difficulties to [0,1] for use in e.g. IRT


Field Summary
protected  boolean useXLMStyleDifficulty
           
 
Constructor Summary
DifficultyMapper()
           
 
Method Summary
 List doIRTDifficultyMapping(double irtDifficulty)
          Sets the parameters difficulty and competencyLevel according to the IRT style difficulty.
 List doXLMDifficultyMapping(double irtDifficulty)
          Sets the parameters difficulty and competencyLevel according to the XLM style difficulty.
static DifficultyMapper getInstance()
          Get an Instance of the mapper
 double getNextExerciseDifficulty(double mastery)
          Get the difficulty for the next exercise according to the current mastery
 double getNormalizedDifficulty(Difficulty difficulty, CompetencyLevel competencyLevel)
          Get a normalized difficulty value given a CompetencyLevel and a Difficulty of an exercise.
 double getXLMNormDifficulty(Difficulty difficulty, CompetencyLevel competencyLevel)
           
 boolean isUseXLMStyleDifficulty()
           
 void setUseXLMStyleDifficulty(boolean useXLMStyleDifficulty)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

useXLMStyleDifficulty

protected boolean useXLMStyleDifficulty
Constructor Detail

DifficultyMapper

public DifficultyMapper()
Method Detail

getInstance

public static DifficultyMapper getInstance()
Get an Instance of the mapper


getNormalizedDifficulty

public double getNormalizedDifficulty(Difficulty difficulty,
                                      CompetencyLevel competencyLevel)
Get a normalized difficulty value given a CompetencyLevel and a Difficulty of an exercise.

Parameters:
difficulty - - the difficulty of an exercise
competencyLevel - - the competencyLevel of an execrise
Returns:
- A normalized value of the difficulty in [0,100]

getXLMNormDifficulty

public double getXLMNormDifficulty(Difficulty difficulty,
                                   CompetencyLevel competencyLevel)

doIRTDifficultyMapping

public List doIRTDifficultyMapping(double irtDifficulty)
Sets the parameters difficulty and competencyLevel according to the IRT style difficulty.

Parameters:
irtDifficulty - - IRT style difficulty
Returns:
List with first obj is Difficulty and second is CompetencyLevel

doXLMDifficultyMapping

public List doXLMDifficultyMapping(double irtDifficulty)
Sets the parameters difficulty and competencyLevel according to the XLM style difficulty.

Parameters:
irtDifficulty - - IRT style difficulty
Returns:
List with first obj is Difficulty and second is CompetencyLevel

getNextExerciseDifficulty

public double getNextExerciseDifficulty(double mastery)
Get the difficulty for the next exercise according to the current mastery

Parameters:
mastery - - the mastery of the simulee
Returns:
The difficulty of the next exercise

isUseXLMStyleDifficulty

public boolean isUseXLMStyleDifficulty()
Returns:
the useXLMStyleDifficulty

setUseXLMStyleDifficulty

public void setUseXLMStyleDifficulty(boolean useXLMStyleDifficulty)
Parameters:
useXLMStyleDifficulty - the useXLMStyleDifficulty to set