3. The Proposed Platform
The proposed approach aims to create a smart e-learning platform that offers personalized learning experiences to users. The platform includes a recommendation engine that utilizes content-based and collaborative filtering techniques to suggest relevant courses and resources based on the user's learning preferences and goals. Content-based filtering involves recommending items similar to what the user has already shown interest in, while collaborative filtering involves recommending items based on the preferences of other users with similar interests. In addition, the platform also features CV creator that works with user input and uses XAPI to track their skills and achievements. This allows the platform to continuously update the user's CV whenever they achieve something new. The CV can then be matched with companies looking for employees, providing users with job opportunities that align with their skills and achievements. XAPI is a specification for learning technology that enables tracking of learning activities and achievements across different platforms and tools. Moreover, the proposed approach encompasses supplementary functionalities that will benefit instructors.
These include a content creation tool that empowers users to generate and distribute top-notch content, with the added capability to condense and extract images from any pdf files. Additionally, a quiz creator tool and live streaming feature are also incorporated, as shown in
Figure 2.
Figure 2.
The Framework of the Proposed E-learning System.
Figure 2.
The Framework of the Proposed E-learning System.
3.1. Environment Setup
The aim of this study was to develop a smart e-learning platform using various tools and technologies. Python was selected as the primary programming language for developing recommendation systems, while front-end development was carried out using JavaScript and HTML/CSS. Flask framework was used to link between the front-end and back-end. To enable machine learning features, Python libraries such as pandas, sklearn, spacy, collections, and heapq were utilized depending on the specific algorithms chosen. These libraries facilitated the processing of large amounts of data and extraction of meaningful insights from it. MySQL was selected as the database management system to store and manage user data, content, and activity logs. The database tables were created using PHPMyAdmin, which provided a user-friendly interface for managing the database. Tin Can with various cloud-based Learning Record Stores (LRS) were used to track user progress and provide personalized recommendations. These LRSs received, stored, and returned Tin Can statements, which enabled the tracking of user activity and generation of recommendations based on their learning history.
3.2. Dataset and Database Creation
The proposed approach entails the construction of an intelligent e-learning system by gathering and organizing information on various courses. The primary phase of constructing the suggested e-learning system encompasses the establishment of a PHPMyAdmin. The MySQL database is employed to generate and regulate the tables, while queries are utilized to retrieve and manipulate the data.
The below figure displays the Entity-Relationship Diagram (ERD) that visualizes the connections between various entities represented as tables in the database. Each table contains specific attributes related to the entity it represents, such as the "Users" table that includes attributes like user_id, user name, email, password, age, phone, degree, experience, and skills with appropriate data types like INTEGER and VARCHAR. The primary key for this table is "user_id," ensuring the unique identification of each user. Similarly, the "Course_Table" table has attributes like id, Course_name, Price, Subject, and Course_level with their respective data types, and the primary key is "id." As the relationship between the "Users" and "Course_Table" tables is many-to-many, a new table called "Ratings" is created to decompose this relationship. The "Ratings" table has attributes like id, user_id, course_id, and ratings, with the primary key being "id," and the user_id and course_id attributes serve as foreign keys to establish one-to-many relationships between the "Users" and "Ratings" tables and between the "Course_Table" and "Ratings" tables.
Figure 3.
The ERD of Database.
Figure 3.
The ERD of Database.
3.3. Details of the Implementation Process
The e-learning platform has a recommendation system that uses both collaborative and content-based filtering techniques to provide accurate and diverse recommendations to users. For new users, the system employs collaborative filtering to recommend courses based on the highest ratings from other users, while for existing users, it analyzes their behavior and similarities with other users to provide personalized recommendations.
Additionally, the platform uses content-based filtering to recommend courses based on the subject matter and attributes of the course, ensuring that users are presented with relevant and high-quality learning materials. The system continuously learns from user feedback to further refine its recommendations and provide personalized learning experiences. In a collaborative scenario, the system recommends courses based on the common courses taken by the user and other users. For an old user, the system recommends courses taken in common with other users, while for a new user, it recommends the best rating courses. In a content-based scenario, the user selects a course, and the system recommends a course based on the subject matter and other criteria from the database, such as course level and price. Overall, the personalized recommender system has the potential to transform education by providing adaptive and personalized learning experiences that cater to the unique needs of every learner.
Another primary phase of the propsed approach is XAPI integration, the main purpose of XAPI is to track and record learning experiences, it can be used in conjunction with a smart e-learning platform to enhance the CV creation process. By integrating XAPI into smart e-learning platform, data on learners' skills, achievements, and progress can be captured and stored. This data can then be used to automate and improve the CV creation process. The XAPI can track various learning activities, such as completing courses, earning certifications, participating in online discussions, or engaging with interactive learning materials. This information can be mapped to specific skills or competencies and dynamically incorporated into the CV. As learners acquire new skills or achieve milestones within the e-learning platform, the dynamic CV creation feature can automatically update, providing a real-time reflection of the learner's capabilities.
Figure 4.
The Framework of the Proposed Recommender Approach.
Figure 4.
The Framework of the Proposed Recommender Approach.
The scenario, when a user completes a course or takes a quiz, their learning achievements are stored as a learning statement. This statement reflects the skills the user has acquired through their learning activities and is saved in the learning store. The user's profile is then updated with the learned skills, providing an accurate reflection of their knowledge and abilities. Then, a company searches for candidates with specific skills. The system matches the company's skill requirements with user profiles stored in the database. The system retrieves matching CVs and presents them to the company, showcasing users' relevant skills, qualifications, and experiences, as shown in
Figure 5.
Figure 5.
The Framework of the Proposed Updating CV using XAPI.
Figure 5.
The Framework of the Proposed Updating CV using XAPI.
3.4. Implementation Results
This section outlines multiple test scenarios that aim to assess the functionality and efficacy of diverse web application testing methods. To execute the proposed scenarios, we draw upon data from the database. The scenarios concentrate on collaborative filtering, XAPI integration, content-based recommendations, and the use of XAPI to monitor user accomplishments and update CVs. Each scenario targets a unique testing objective and furnishes valuable knowledge about the performance and capacities of the web application being analyzed.
3.4.1. Collabrative Filtering Test Scenario
The first scenario in the implementation results focuses on testing the course recommendation feature of the system based on collaborative filtering. The objective is to evaluate the functionality of the web application by generating recommendations for a current user (User ID: 12) based on common courses taken by other users. The collaborative table, as shown in
Figure 6, contains user ID, course ID, and rating features. The test steps include User 12 signing into the system, retrieving the courses taken by User 12, identifying other users who have taken courses in common with User 12, calculating the common courses between User 12 and each identified user, generating recommended courses based on the identified common courses, and presenting the recommended courses to User 12. The test data includes User 12 and three other users with their respective courses taken. The anticipated outcomes of this implementation scenario involve two aspects: firstly, identifying the courses that User 12 has in common with each identified user, and secondly, suggesting a course that User 12 has not yet taken. Specifically, the recommended course is course_ID 3 (Deep learning), which is listed in
Figure 7, courses table. The results are displayed on the web user interface, as shown in
Figure 8.
Figure 6.
The collaborative table in database.
Figure 6.
The collaborative table in database.
Figure 7.
Course_id and Course_name of courses table in database.
Figure 7.
Course_id and Course_name of courses table in database.
Figure 8.
The collaborative filtering result in web interface.
Figure 8.
The collaborative filtering result in web interface.
The second scenario proposed is for a new user, where the aim is to evaluate the course recommendation feature of the system by suggesting courses with the best ratings. The example user in this scenario is User ID 15. The testing process involves User 15 logging into the system, and the system retrieving the courses with the highest ratings from the available data. The recommended courses are then generated based on the highest-rated courses and presented to User 15. The recommended courses for User 15 are Course 2 (Machine Learning) and Course 3 (Deep Learning), which have the highest ratings as shown in
Figure 7 table of courses.
Figure 9 displays the results obtained on the web interface.
Figure 9.
The best rate filtering result in web interface.
Figure 9.
The best rate filtering result in web interface.
3.4.2. Content Based Test Scenario
The objective of the Content-Based Course Recommendations scenario is to assess the effectiveness of the system's course recommendation function based on content similarity. The test involves a user choosing a course, and the system suggesting other courses with comparable attributes like course title, cost, subject, and level.
The process includes the user selecting a course, the system analyzing its characteristics, searching for comparable courses, ranking them based on content similarity, creating recommended courses, and presenting them to the user. The database's content table is shown in
Figure 4, with the chosen course for testing being "Operating System," and the expected recommended courses being "Data Structures and Algorithms" and "Computer Graphics." These are matched with the selected course in terms of subject and level, as depicted in
Figure 10, courses table with “course-id”, “course_name”, “price”, “subject”, and “course_level” features.
Figure 11 displays the content based recomendation results obtained on the web interface.
Figure 10.
The courses table in database
Figure 10.
The courses table in database
Figure 11.
The content based recomendation result in web interface.
Figure 11.
The content based recomendation result in web interface.
3.4.3. XAPI IntegrationTest Scenario
The XAPI Integration for Tracking User Achievements and Updating CV Scenario aims to test the system's ability to integrate with XAPI functionality for tracking user accomplishments and updating their CVs based on completed courses. The test involves the user taking one or more courses within the system, with the system capturing completion data and generating XAPI statements. These statements are then sent to the LRS for storage, and the completed courses data is retrieved from the LRS. The system updates the user's profile with the completed courses information and dynamically updates their CV with newly acquired achievements. The test data includes completed courses, and the expected results are successful saving of completed courses data in the LRS, updating of the user's profile, and dynamic updating of their CV. This scenario emphasizes the importance of integrating with XAPI for tracking user achievements and updating their CVs, providing a more comprehensive and accurate representation of their skills and knowledge. In
Figure 12 and
Figure 14, the original and updated profiles are displayed, respectively.
Figure 13 illustrates the saved completed courses in the LRS.
Figure 12.
Original Profile.
Figure 12.
Original Profile.
Figure 13.
Completed Courses Saved in LRS.
Figure 13.
Completed Courses Saved in LRS.
Figure 14.
Updated Profile.
Figure 14.
Updated Profile.