Inspiration

Traditional classrooms often implement a one-size fits all approach. Many students, especially lower-performing students, have significant gaps in their knowledge due to this approach, leading to frustration, disengagement, and lower educational attainment. For instance, in an 8th grade math class, if a student does not understand a unit on exponents, they will likely struggle even more with the unit on negative exponents, as the unit on negative exponents builds on the unit on exponents. While the ideas about mastery based learning have been around for more than a century, implementing it was not feasible until around the mid 2000s with the rise of the internet. However, traditional mastery based tools such as Khan Academy and Aleks do not customize the individual quiz questions to the students, and only customize the specific topics that students are assigned to, leading to students not being efficient enough in their learning, because even within topics in which the student has not mastered the concept, each individual question can be too easy or too hard.

What it does

To further improve on these existing mastery based learning tools, our model, called MasteryIQ, combines computer adaptive testing with mastery learning, generating custom questions for students based on their performance on previous questions, and making sure that the student masters a concept, and is appropriately challenged at each point in their learning. Our project uses a database of questions from a standardized test in 8th grade math, including multiple choice questions, their answers, and what percent of students choose each answer. It divides questions into difficulty levels based on the percentage of students that correctly answer each question and adjusts the difficulty level of the next question based on the responses to the previous question. Then, once the student answers enough questions at the highest difficulty levels with high accuracy, the model determines that the student has achieved mastery of the concepts.

How we built it

Using a mixture of CSS, HTML, Javascript, and Python, we were able to format the front-end website design and program the back-end algorithms needed for the project functionality. We were able to use Firebase as our backend login system, allowing us to save profile information, while also using our own personal Python based backend for the question mastery system. Our front-end was developed using Figma to grasp our general webpage design, then implemented into our javascript to create the actual web application.

Challenges we ran into

After designing the initial Home page before login, the login page, and the profile page, we were unable to continue our frontend design and connect our other pages until the backend was connected to our frontend. This caused a lot of wasted time for our front-end engineers while the other group members were trying to link the front-end and back-end. Our biggest issue came with this, as we were not able to connect the two, meaning that we were stuck at a stalemate. This is because we are all beginner software engineers and did not have experience working with a backend that responds to the front-end rather than just through the terminal. We also had some issues with our database of questions not being downloadable as a csv file which forced one of our members to manually screenshot each of the questions and record the answers. This meant that we were only able to use a small sample of questions for this prototype project.

Accomplishments that we're proud of

We are proud of being able to completely design our front-end web pages. Additionally, we were able to connect a login back-end structure that saved profile data. Finally, due to us being beginners and not having experience working in full-stack development, we are proud of how far we were able to come with developing this project.

What we learned

This was our first time using React, during which we learned how to navigate and build an application using React, HTML, CSS, and JavaScript. We also gained experience with new techniques, such as implementing login and signup security using Firebase. We also learned how to collaborate effectively as a team, how the front end should communicate with the back end, and how to manage code integration using Git.

What's next for MasterIQ Educational Web App

In the future, we wish to have our front-end web app be able to smoothly communicate with our back-end algorithms, allowing us to display the questions and have the user respond with an answer to get feedback. Additionally, as mentioned earlier, we were not able to add a large database of questions and their answers meaning that there is only a small sample size that we hope to add to. Furthermore, currently, the question is simply displayed as a screenshot of the question and its possible answers. After which the student can type an answer A,B,C,D, or E, into a submission box. We hope to try to use latex or some other text model to display the questions and allow the answers to be shown in a multiple-choice select instead of a typed answer. Lastly, we hope to expand this application to offer more than just a math module for 8th graders. Our final product hopefully adds subjects such as English, Chemistry, Physics, Biology, and more, for people of differing grades to allow all students to master their learning.

Share this project:

Updates