Remote learning has adversely impacted students by making it harder to get feedback from teachers. It has made it specially hard for students to understand the correctness of their answers on free text field questions, where the answer is not a binary true-false decision and there is no multiple choice facility. These types of questions generally consume a lot of time, with teachers/lecturers having to enlist tutors to check student answers by hand, and then prepare individual responses to students. Although this process works, it is very time consuming, and does not allow students to get immediate feedback on these types of questions. It is also a headache for teachers, as there is an issue of consistency when marking these types of questions, along with the high labor involved of course.
What it does
Provides a service for teachers and students, where teachers can upload questions for either quizzes or assignments, and also upload a rubric(reference answer), for these assignments. Using natural language processing, it compares the reference answer to the answer submitted by the student to immediately give a grade to the student ranging between 1 - 100.
The primary goal is to ease the workload on teachers to grade assignments which are specifically made up of free-text field questions, which inherently are harder to check.
How we built it
- Angular for the front end
- Firebase for the database
- NLTK in python for determining the correctness of an answer
Challenges we ran into
We found it very challenging to maintain a responsive design. Low level machine learning in order to have a reasonable response times.
What we learned.
We learnt to combine material JS, Typescript, and Pyodide to run python “in the browser”, which allowed us to provide low - to - medium level machine learning services to end users.
Alongside, we also picked up habits with various machine learning libraries in python, especially nltk, as a result of incorporating our NLP grading service.
What's next for SmartGrader
Incorporating responsive design metrics, in order to be able to allow phone users, desktop users and other users alike to use the app seamlessly. Incorporating training algorithms on top of our existing NLP models, so that the models can learn to grade questions better, and also allow input from teachers to help aid train the model in a supervised scenario, where the predicted grade is compared to what the teacher would have graded for a given assignment.