org.activemath.learner.model
Interface LearnerModelInterface

All Known Implementing Classes:
GapDetectionLM, NoOpLM, SlmAdapter

public interface LearnerModelInterface

This interface defines methods to extract data from a learner model needed by the course generator to perform it's task. A learner model needs a least to implement the methods related to knowledge and competencies.


Field Summary
static int MASTERY_MAX
           
static int MASTERY_MIN
           
static int MASTERY_UNKNOWN
           
 
Method Summary
 boolean createModel(String userId)
           
 boolean destroyModel(String userId)
           
 boolean existsModel(String userId)
           
 CompetencyLevel getCompetencyLevel(String userId, String contentId)
          Must return the competency level of the given user on the specified content item.
 CompetencyLevel getCompetencyLevel(String userId, String contentId, Competency competency)
          Must return the competency level of the given user on the given content item, with respect to the specified Competency.
 CompetencyLevel getCompetencyLevelByCompetencySystem(String userId, String contentId, String competencyId, String competencySystemId)
          Same as getCompetencyLevel(String userId, String contentId), just that a specific competency system can be supplied relative to which the competency level is returned
 int getKnowledgeValue(String userId, String contentId)
          Must return a value in [0..100] (0=worst, 100=best) describing the given user's knowledge about the specified content.
 int getKnowledgeValueByCompetencySystem(String userId, String contentId, String competency, String competencySystemId)
          Same as getKnowledgeValue(String userId, String contentId), just that a specific competency system can be supplied relative and a competency to which the knowledge value is returned.
 int[] getKnowledgeValues(String userId, List listOfContentIds)
          Must return an array of values in [0..100] as described in getKnowledgeValue(String, String), where returnedArray[i] = getKnowledgeValue(userId, listOfContentIds.get(i).
 String getName()
          Return name of the learner model.
 

Field Detail

MASTERY_UNKNOWN

static final int MASTERY_UNKNOWN
See Also:
Constant Field Values

MASTERY_MIN

static final int MASTERY_MIN
See Also:
Constant Field Values

MASTERY_MAX

static final int MASTERY_MAX
See Also:
Constant Field Values
Method Detail

createModel

boolean createModel(String userId)

existsModel

boolean existsModel(String userId)

destroyModel

boolean destroyModel(String userId)

getName

String getName()
Return name of the learner model. This value can be used to create the model at the LearnerModelProvider.

Returns:
The name of this learner model.

getKnowledgeValue

int getKnowledgeValue(String userId,
                      String contentId)
Must return a value in [0..100] (0=worst, 100=best) describing the given user's knowledge about the specified content.
Must return (-1) if the user's knowledge about the specified content is undefined.

Parameters:
userId - The id of the user to get the knowledge value of
contentId - The id of the piece of content to get the knowledge value of.
Returns:
A value in [0..100] describing the user's knowledge about the specified content, or (-1) if it was undefined.

getKnowledgeValueByCompetencySystem

int getKnowledgeValueByCompetencySystem(String userId,
                                        String contentId,
                                        String competency,
                                        String competencySystemId)
Same as getKnowledgeValue(String userId, String contentId), just that a specific competency system can be supplied relative and a competency to which the knowledge value is returned.

Parameters:
userId - The id of the user to get the knowledge value of
competency - The target competency
competencySystemId - - the Id of the competency system for which the knowledge values (KV) shall be returned, e.g. return the KVs for "apply" and "model" competencies of the PISA system - competencySystemId would hold "PISA".
contentId - The id of the piece of content to get the knowledge value of.
Returns:
A value in [0..100] describing the user's knowledge about the specified content, or (-1) if it was undefined.

getKnowledgeValues

int[] getKnowledgeValues(String userId,
                         List listOfContentIds)
Must return an array of values in [0..100] as described in getKnowledgeValue(String, String), where returnedArray[i] = getKnowledgeValue(userId, listOfContentIds.get(i).

Parameters:
userId - The id of the user to get the knowledge values of
listOfContentIds - a List containing the ids of the pieces of content to get the knowledge value of
Returns:
An array containing the desired knowledge values

getCompetencyLevel

CompetencyLevel getCompetencyLevel(String userId,
                                   String contentId)
Must return the competency level of the given user on the specified content item.

Parameters:
userId - The user to get the competency level of
contentId - The id of the content item to get the competency level of
Returns:
The competency level of the given user on the given content item

getCompetencyLevel

CompetencyLevel getCompetencyLevel(String userId,
                                   String contentId,
                                   Competency competency)
Must return the competency level of the given user on the given content item, with respect to the specified Competency.

Parameters:
userId - The id of the user to get the competency level of
contentId - The if of the piece of content to get the competency level of
competency - The target competency
Returns:
The user's competency level on the given content item wrt. to the specified comepetency.

getCompetencyLevelByCompetencySystem

CompetencyLevel getCompetencyLevelByCompetencySystem(String userId,
                                                     String contentId,
                                                     String competencyId,
                                                     String competencySystemId)
Same as getCompetencyLevel(String userId, String contentId), just that a specific competency system can be supplied relative to which the competency level is returned

Parameters:
userId - The id of the user to get the competency level of
contentId - The if of the piece of content to get the competency level of
competency - The target competency
competencySystemId - - the Id of the competency system for which the knowledge values (KV) shall be returned, e.g. return the KVs for "apply" and "model" competencies of the PISA system - competencySystemId would hold "PISA".
Returns:
The user's competency level on the given content item wrt. to the specified comepetency.