The Teachpoint server maintains several classes of information about each student:
The derived student attributes can be used for course adaptation (i.e. to control the choice of material) and for course analysis (i.e. to filter and breakdown traffic maps).
The general student attributes are represented by an XML element of the following form:
<general_student_attributes> <pref_mode>Graphical</pref_mode> <birth_year>1956</birth_year> <educ_level>Ph.D</educ_level> <educ_major>Mathematics, Computer Science</educ_major> <sex>Male</sex> <occupation>Computer and Mathematical</occupation> </general_student_attributes>
The attributes and their values are encapsulated in the file cgi/person.h, and are easily modified or extended.
To use course-specific student attributes, a course must supply a course-specific student attribute form. This is an HTML form that is passed existing attributes (if any) in the URL, and that uses Javascript to populate its input fields and convert its output to XML.
An example can be found in authoring/course_specific_student_attrs_example.html. This defines a single attribute <interest_level> with values regular and advanced, representing the level of detail in which the student is interested.
Derived student attributes are generated by a course-supplied student analysis script, and XSLT script that is applied to a document of the following form
<student> <general_student_attributes> ... </general_student_attributes> <course_specific_student_attributes> ... </course_specific_student_attributes> <content_views> <content_view> <contentid>topic.html</contentid> <unit_type>exercise</unit_type> <session>5</session> <outcome>OK</outcome> <duration>4.3</duration> <score>0.9</score> </content_view> ... </content_views> </student>
and that produces an XML document consisting of a single element <student_attributes> describing the derived student attributes.
If a course doesn't define a student analysis script, then the derived student attributes are just copies of the general and course-specific attributes:
<student_attributes> <general_student_attributes> ... </general_student_attributes> <course_specific_student_attributes> ... </course_specific_student_attributes> </student_attributes>
The example student analysis script computes two reading_level and interest_level, each in the range 0..1. reading level is a function of the education level and age (from the general attributes) and interest_level is a function of the discrete interest_level attribute (from the course-specific attributes).