 denote the set of users that are enrolled in a course in RiPPLE, where and refer to arbitrary users. Let denote the repository of the questions that are available to users in a course in RiPPLE, where and refer to arbitrary questions. All of the events occurring in RiPPLE are logged using a set of timestamps , where refers to an arbitrary timestamp. A three-dimensional array keeps track of question creations, where indicates that user has created question at timestamp . Similarly, a three-dimensional array keeps track of question answers, where indicates that user has answered question correctly at timestamp , and indicates that user has answered question incorrectly at timestamp . In addition, a three-dimensional array provides information on question difficulty perceptions, where is the difficulty level user has expressed for question at timestamp . Furthermore, a three-dimensional array provides information on question ratings, where is the rating user has expressed for question at timestamp .
Knowledge Tracing and Question Recommendation:
Each course consists of a set of knowledge units referred to as a knowledge space, where refers to an arbitrary knowledge unit. Questions can be tagged with one or more knowledge units; is a two-dimensional array, where is if question is tagged with knowledge units, including and 0 otherwise. One of the initial aims of RiPPLE is to use knowledge tracing algorithms to approximate the knowledge state of students on each knowledge unit. A three-dimensional array is used for representing students’ knowledge states approximated by the system, where represents the knowledge state of on at timestamp . This information is used to produce a three dimensional-array , where shows the personalised score of question for user at timestamp . can be used for recommending questions to each user.
Reciprocal Peer Recommendation
: Let indicate a set of time slots, which denote the weekly available time slots for scheduling a study session, where refers to an arbitrary time slot. Students can hold different roles for participation in peer learning sessions, where is used to present providing peer learning support, for seeking peer learning support, and for searching for study partners. refers to an arbitrary role. A four-dimensional array represents the requests of the students, where indicates that user has indicated interest in participating in a study session on knowledge unit with role at timestamp . In addition, a three-dimensional array represents the availability of students, where shows the availability of user for time slot at timestamp . Furthermore, A three-dimensional array shows competency preference of students in study sessions, where shows the competency preference of user for roles at timestamp . For example, means that at timestamp , prefers providing support to peers with a competency of around less than his own. To be able to provide meaningful recommendations, we constrain eligibility by role such that users (1) provide support to less competent learners, (2) seek support from more competent learners and (3) find study partners with relatively similar competency to that of their own. Using all of this information, RiPPLE aims to compute a three-dimensional array , where shows the reciprocal score between user and user at timestamp . can be used for recommending peers to one another.
Table 1 provides a summary of the notation used for describing the functionality of RiPPLE.
|Users and Questions|
|A set of users , where and refer to arbitrary users.|
|A set of questions , where and refer to arbitrary questions.|
|A set of time stamps , where refers to an arbitrary timestamp.|
|A three-dimensional array where indicates that user has created question at timestamp .|
|A three-dimensional array where indicates that user has answered question correctly at timestamp and 0 if answered incorrectly.|
|A three-dimensional array where is the difficulty level user has expressed for question at timestamp .|
|A three-dimensional array, where is the rating user has expressed for question at timesta