especially in their first year of university, will have difficulty navigating their new academic and social environment and adequately exploiting the available resources. RiPPLE enables students to grow their social connectedness, connecting students with peers who can adequately help each other for collaborative assessments or in reaching their academic aspirations.
increase their digital literacy. Through exposure to innovative visualisation approaches, students will develop an appreciation for methods of communication and externalisation of knowledge from complex data sets.
RiPPLE enables instructors to:
utilize crowdsourcing to develop course content. Implementing adaptively in a course requires a large amount of new content and learning object tagging. Through the use of crowdsourcing, RiPPLE enables instructors to develop a large data set of tagged course content.
provide rich and immediate feedback to students. Instructors find it challenging to provide meaningful, rich and timely feedback at scale. RiPPLE provides immediate feedback to students on their progress and provides recommendations to help them overcome their knowledge gaps.
identify individual-level and course-level knowledge gaps. Instructors often find it challenging, especially in large classes, to comprehend individual-level and course-level gaps. RiPPLE informs instructors of these gaps, so that they can update their course content accordingly.
identify at-risk students early in the semester. Instructors find it challenging to identify at-risk students in large classes, while working within limited budgets. RiPPLE uses knowledge tracing algorithms to identify at-risk students.
Finally, RiPPLE enables learning analytics and educational data mining researchers to develop and validate their own knowledge tracing and recommender system algorithms. Currently, most researchers have to validate these algorithms using synthetic or historical data sets that do not provide compelling evidence that they lead to better learning. RiPPLE enables researchers to validate their algorithms in a live setting using parallel-group double-blind randomised trials or A/B Testing to determine whether recommendations lead to measurable gains.
6 Implementation Details of the RiPPLE Client
This section provides information on the implementation of the RiPPLE Client. Further details can be found on the Wiki333https://github.com/hkhosrav/RiPPLE-Core/wiki page of the project on GitHub.
The RiPPLE client is a VueJS 444https://vuejs.org/ application augmented with Awesome Vue TS555https://github.com/HerringtonDarkholme/av-ts for the Typescript language. Its primary purpose is to consume the RiPPLE API supported by the RiPPLE Server (presented in Section 7) to provide its information to the user.
6.1 Source Code Conventions and Overview of the RiPPLE Client
The RiPPLE client follows several conventions to ensure the scalability and managability of the software. Notably, it follows the Service and Repository, and Subscription patterns to ensure development consistency and reduce code duplication. It includes the following folders:
The project root only contains files which are used for starting the build process, core application configuration, and files to dictate the behaviour of external tools interacting with the project (such as git, typescript, and npm).
The config directory contains files which are used to influence the build process.
The dist directory is short for distributable. It contains the build files required for a production build. Files created from a development build are not placed here, and are instead stored in memory.
The docs directory contains the same thing as the dist directory for each merge into master. This is to ensure that GitHub will serve the latest client build.
The node_modules directory contains 3rd party project dependencies created by npm. It should not be in source control
The src directory contains source files for the application.
The test directory contains the specification verification of how the application operates. They are executed wit