org.problets.domain.knowledge
Class IndividualKnowledgeModel

java.lang.Object
  extended by org.problets.domain.knowledge.KnowledgeModel
      extended by org.problets.domain.knowledge.IndividualKnowledgeModel

public class IndividualKnowledgeModel
extends KnowledgeModel

IndividualKnowledgeModel Class holds the student's knowledge model

Author:
Amruth Kumar

Field Summary
static java.lang.String OBJ_MET
           
 
Constructor Summary
IndividualKnowledgeModel(KnowledgeModel inKnowledgeModel)
          This constructor is used to construct a copy of an existing knowledge model
 
Method Summary
 java.lang.String getAbbreviatedLearnObjSummary()
          Returns an abbreviated summary of the number of learning objectives met vs unmet
 int[] getAbbreviatedStats()
          Returns the ABBREVIATED performance for ALL the learning objectives
 java.util.Vector getAllLearningObjectives()
          Returns a vector of all the learning objectives (strings, not KUs) for this topic
 java.util.Vector getDetailedStats()
          Returns the detailed performance for ALL the learning objectives for the chosen topic
 java.util.Vector getStudentLearningObjectives()
          Returns a vector of the learning objectives (strings, not KUs) yet to be met by the student generated by comparing the student's KM against the correct KM saved in constructor
 KnowledgeUnit getTopicRoot()
          Returns the root of the knowledge tree subtended by current topic - currently used by conceptmap.OpenStudentModeler
static void main(java.lang.String[] args)
           
 void updateCredit(java.lang.String learnObj, int gradeType)
          Updates the credit for the learning objectives by descending through the tree and assigning credit to the right (leaf or intermediate) nodes.
 void updateLearningObjectives()
          Updates the learning objectives by comparing the student's knowledge model against the correct knowledge model.
 
Methods inherited from class org.problets.domain.knowledge.KnowledgeModel
breadthFirstSearch, findShallowest, getAllLeafNodes, getConceptExplanationPairs, getDesiredLeafNodes, getDomainRoot, getKnowledgeUnit, printKnowledgeModel, printVector, setProficiency, toXMLString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OBJ_MET

public static final java.lang.String OBJ_MET
See Also:
Constant Field Values
Constructor Detail

IndividualKnowledgeModel

public IndividualKnowledgeModel(KnowledgeModel inKnowledgeModel)
This constructor is used to construct a copy of an existing knowledge model

Method Detail

getStudentLearningObjectives

public java.util.Vector getStudentLearningObjectives()
Returns a vector of the learning objectives (strings, not KUs) yet to be met by the student generated by comparing the student's KM against the correct KM saved in constructor


getAllLearningObjectives

public java.util.Vector getAllLearningObjectives()
Returns a vector of all the learning objectives (strings, not KUs) for this topic


getDetailedStats

public java.util.Vector getDetailedStats()
Returns the detailed performance for ALL the learning objectives for the chosen topic


getAbbreviatedStats

public int[] getAbbreviatedStats()
Returns the ABBREVIATED performance for ALL the learning objectives


getAbbreviatedLearnObjSummary

public java.lang.String getAbbreviatedLearnObjSummary()
Returns an abbreviated summary of the number of learning objectives met vs unmet


getTopicRoot

public final KnowledgeUnit getTopicRoot()
Returns the root of the knowledge tree subtended by current topic - currently used by conceptmap.OpenStudentModeler


updateLearningObjectives

public void updateLearningObjectives()
Updates the learning objectives by comparing the student's knowledge model against the correct knowledge model. Currently, checks even those objectives which may have been met in the past - advantage is that if a student gets that objective incorrect/missed it several times in a row, the objective will become "unmet" again. This will not modify incidentalLeafVector since the learning objectives in it are NOT the focus of this session.


updateCredit

public void updateCredit(java.lang.String learnObj,
                         int gradeType)
Updates the credit for the learning objectives by descending through the tree and assigning credit to the right (leaf or intermediate) nodes. The nodes are listed in dot.separated syntax. Note that if the objective is to test student competence, studentObjectives vector is used by student model, and if not, studentLeafVector is used. However, when it comes to updating the performance, it is always the LEAFVECTOR that is used. Both leaf and studentObjectives vectors have the same root. Using leaf vector means objectives not in studentObjectives can ALSO get updated.


main

public static void main(java.lang.String[] args)