HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY COMPUTER SCIENCE AND ENGINEERING DEPARTMENT THESIS PROPOSAL Developing A Warning System In Online Learning COUNCIL: INFORMATION SYSTEMS SUPERVISOR: Dr. VO THI NGOC CHAU REVIEWER: Assoc. NGUYEN THANH BINH —o0o— STU 1: NGUYEN QUANG MANH - 1652366 HO CHI MINH CITY, 2022 INSURANCE Our team hereby guarantees that this graduation thesis is performed by our own team and not copied. All the materials we have used in our thesis all have their name, source and presented in ”REFERENCES”.
ACKNOWLEDGEMENTS First, we would like to express our gratitude to Dr. Vo Thi Ngoc Chau. Thanks to his knowledge and experience that we were able to overcome the difficulties of this thesis. He was the one to guide through the thesis and show us our mistakes during the planning and implementation as well as provide solutions to our problem.
Next, we would like to send our gratitude to the teachers, professors and staffs in Ho Chi Minh City University of Technology, especially the ones in Computer Science and Computer Engineering department for teaching new knowledge to us and supporting us through our time in the university. Thanks to the knowledge which you have taught us that we were able to finish this thesis. We also would like to thank our parents, our friends who not only supported us phys- ically through the time of this thesis but also mentally. Thank you for being there when we needed.
Finally, we wish everyone the best. The time we have had here at Ho Chi Minh City University of Technology will always remain one of the most beautiful memories in our heart. Once again, we would like to thanks everyone for your support.2 Why I choose this topic .3 Objectives and content .4 Boundary of the project .5 Structure of the thesis .1 Survey similar systems .1 Early warning systems to predict students online learning performance 3 2.2 Developing an early-warning system for spotting at-risk students by using eBook interaction logs .2 Survey system development .1 Front-end framework .2 Back-end framework .3 Survey other related technologies .2 Use-case Diagram .1 Activity Diagram For User Login .2 Activity Diagram for Educator to compare between student’s indi- cators .3 Activity Diagram for Educator to confirm students who are at risk .2 Specify Entity Types .3 Specify Relationship Types .4 Entity Relationship Diagram .6 Data Mining Techniques .1 Collect data for applying data mining .3 Evaluate data mining algorithms using scikit-learn library .3 Improve Website Performance. 50 References 51 Appendices 53 A Test case table for early warning system 54 List of Tables 4.1 Data Mining Evaluation .2 Confusion Matrix from Random Forest .1 Test cases table for the website.
54 iv List of Figures 3.1 Educator Use-case Diagram .2 Student Use-case Diagram .3 Parents Use-case Diagram .4 Activity Diagram for Login .5 Activity Diagram for Educator to compare between student’s indicators .6 Activity Diagram for Educator to confirm students who are at risk .8 Entity Relationship Diagram .9 Logistic Regression Implementation Using Scikit-learn .10 Logistic Regression Result .11 Random Forest Implementation Using Scikit-learn .12 Random Forest Result .15 Create Data Sample .16 Add Visit Number for Interaction of Each Student .17 Arrange courses for educators .2 Course List of Educator .3 Course Details of Educator .4 Materials and Assessments in Courses of Educator .5 Student Detail of Educator .7 Course List of Student .8 Course Details of Student .12 Course List of Child .1 Project introduction In the context of Covid-19, many schools and universities have to change the form of traditional learning to online learning. However, the form of online learning still has many doubts and inadequacies. Many problems in the online learning process still need to be improved, for example, it is difficult for teachers to keep track of students’ learning progress or poor interaction between teachers and students. Therefore, to improve the quality of education, an early warning system can help to identify at-risk students, or predict student learning performance by analyzing learning portfolios recorded in a learn- ing management system.
In this project, an early warning system will be developed that collects learning activities of a course on an e-learning system and applies data mining techniques.2 Why I choose this topic Online learning is becoming more and more popular and has many significant benefits compared to traditional learning. However, the education sector has not been able to take full advantage of those benefits. As a student who has experienced online learning, understands its advantages and disadvantages, I want to create a product to contribute to improve the quality of online learning, help teachers, learners and stakeholders can receive more what online learning offer.3 Objectives and content 1.1 Objectives In this project, a website is built to help educators to manage all their courses and monitor the learning progress of their students. Furthermore, educators can organize interventions that improve the poor performance of some students predicted by a data mining model.
Students and parents are also users of the system. Therefore, the web- site will show the performance of each student and help them feel most comfortable in interacting with the teachers.2 Content In order to archive the objectives of this project, here are the tasks we need to accom- plish: • Research current educational warning systems. • Design system architecture. • Research and learn front-end framework to build front-end website.
• Research and learn back-end framework and Database Server to build back-end website. • Research and learn data mining algorithms that are related to an early warning system and integrate them with the system. • Research technologies related to our project (extended libraries or frameworks sup- port the system) 1.4 Boundary of the project In this project, the data mining model focus on predicting student performance at the course level.5 Structure of the thesis • Chapter 1: Introduction In this chapter, I introduce about the overview of the project. • Chapter 2: Related work This chapter show what I have to do before building the website for my project.
• Chapter 3: Project analysis I analyse the requirement for this project. • Chapter 4: System design I design the architecture of the application. • Chapter 5: Implementation This chapter shows how I implement the project into a website based on the designed system. • Chapter 6: Evaluation and Conclusion This chapter shows what I have completed on the project, its result and future development plan.
2 Chapter 2 Related Works 2.1 Survey similar systems 2.1 Early warning systems to predict students online learning performance This article1 test each technique with datasets which don’t include time-dependent variables and ones which do. The result show that the accuracy of an early warning system in identifying at-risk students is increased by considering time-dependent variables and the model should use classifier ensembles (for example Adaboost). This study used Weka 3.3 open-source data mining software (www.nz/ml/weka), to construct the classification models.2 Developing an early-warning system for spotting at-risk students by using eBook interaction logs The article2 found that the models with transformed data produced the lowest perfor- mance in all datasets. On the other hand, models with categorical data showed better performance than models used transformed (continues) data only.2 Survey system development 2.1 Front-end framework For front-end developing, I research 3 popular developing frameworks and how well they perform against each other, provide a structure to help judge front-end JavaScript frameworks in general and how can I choose the best fit for my project.
The three frame- works are: React3 , Vue4 , Angular5. They are all highly popular JavaScript libraries and frameworks that help developers build complex, reactive and modern user interfaces for the web. Because the rendering pages will happen a lot in my project. That means the per- formance and the frameworks size of the framework is the thing I need to base on when choosing the front-end framework.com/science/article/abs/pii/S0747563214002118 2 https://slejournal.org/ 4 https://vuejs.org/ 5 https://angular.io/ 3 Angular uses a real Document Object Model (DOM), therefore it’s best suited for the single-page-applications where content is updated from time to time.
It makes the process of updating much slower and in case of losing the flow, it will take a lot of time to find out the issue. Thankfully to the two-way data binding process, all the changes made in the Model are replicated into the views in a secure and efficient way. Due to the wide range of features available, the application is much heavier (approximately 500KB) in comparison to Vue and React that slows down the performance a little. Contrary to Angular, React uses a virtual DOM that enhances the performance of all- sizes applications that need regular content updates.
Single-direction data allows better control over the project. The disadvantage might be the need of developers to constantly upgrade their skills as to the constantly evolving nature of React. As React doesn’t provide a wide range of libraries, its size is much smaller than the size of Angular (ap- proximately 100KB). Vue also uses a virtual DOM, so the changes within a project are made without af- fecting the DOM properly.
Vue possesses the smallest size of the three (approximately 80KB ) which significantly speeds up its performance. Next thing we need to consider is the popularity of the 3 frameworks and how com- plex to learn the frameworks.According to Stack Overflow Developer Survey Results 2019, React is the most loved by developers (74,5%) followed by Vue.js (73,6%) and only then Angular. Because of React’s popularity, finding input components and ready- to-use elements is extremely easy. They’re all just a Google or GitHub search away.
After the research, we feel that React would be the most fit for our project, since it has: • The use of reusable, composable, and stateful components • In a browser, we need to regenerate the HTML views in the DOM. With React, we do not need to worry about how to reflect these changes, or even manage when to take changes to the browser; React will simply react to the state changes and automatically update the DOM when needed. • ReactJS is SEO friendly • React JS comes with helpful developer toolset 2.2 Back-end framework For back-end develop, I have researched about Python frameworks that are popular, as they provide more management. After research, I find that there are multiple Python framework that can help develop the backend.
So based on my knowledge, testing and reviewing, I minimize our options to 2 frameworks: Django and Flask 1. Django: Django7 is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.
Advantages: • Ridiculously fast: Django was designed to help developers take applications from concept to completion as quickly as possible.com/survey/2019 7 https://www.com/ 4 • Reassuringly secure: Django takes security seriously and helps developers avoid many common security mistakes. • Exceedingly scalable: Some of the busiest sites on the web leverage Django’s ability to quickly and flexibly scale. Flask: Flask8 is a micro web framework written in Python. Flask is a small and lightweight Python web framework that provides useful tools and features that make creating web applications in Python easier.
It gives developers flexibility and is a more accessible framework for new developers since you can build a web application quickly using only a single Python file. Advantages: • Lots of resources available: Flask is arguably one of Python’s most popular web frameworks, with plenty of tutorials and libraries available to add to your apps. • Simplicity: As a minimalistic framework, Flask provides the necessary tools to easily and quickly build a web app prototype after installation. • Easy Database Integration: Integration with database toolkits like SQLAlchemy, SQL databases like SQLite and MySQL, and NoSQL databases like DynamoDB and MongoDB is relatively easy.