ne learning algorithms [Cai et al. (2011), Chen and Nayak (2013), Kutty et al. (2014)]. In peer recommending the environment may be a newly formed cohort of learners (such as a first-year university course) who have no data history but can volunteer preferences on a narrow selection of relevant variables for the purposes of matching.
By their nature, recommender systems across domains will exhibit similarities to a high degree. All systems incontrovertibly share the same fundamental goal - to provide recommendations that are well-received by users according to their preferences, explicit and implicit, in an otherwise overwhelming information environment where the likelihood of users successfully finding preferred items without technological assistance is very low. However the nature of domain-specific information and definition of a successful recommendation is so heavily context- and goal-dependent that little more than the general way of thinking can be adapted or generalised from existing systems to new domains. This is particularly true of the formulation of user preference models upon which recommendations are to be based, making them necessarily bespoke.
As such, while reciprocal peer recommendation has similarities to traditional recommendations in education and reciprocal recommendations in other domains, it does have a distinct nature. Although some primary research has been done on utilising peer learning and support for improving learning and enhancing the learning experience of students, the area remains fertile for many research and development opportunities. In this paper we introduce a platform that can enable adoption of peer support systems for both large on-campus and online courses with competency-based user preference models.
The current implementation of RiPPLE uses the reciprocal peer recommendation algorithm of [Potts et al. (2018)].
3 Formal Notation
This section describes the data sources, functionality, the main aims and outputs of RiPPLE using a formal notation.
Users and Questions:
Let 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 h