Inspiration

More often than not, our highschool teachers craft their tests using questions from test banks that are online. Students which have access to these same test banks study them ahead of time, which renders the point of giving tests invalid. As disciplined students, we would like to mitigate the cheating caused my using test bank answers, without removing the convenience teachers have of using online sources for tests. Thus, we created the Erised Education Bot and Database.

What it does

The bot aspect of the Erised Education Bot and Database essentially chooses a variable number of questions, differing in a calculated difficulty and separated by school subjects, and displays them. It chooses these students from a plethora of different sources, which makes it impossibly difficult for students with test banks to cheat with those test banks, as they would have to study all the sources the questions came from. However, it is still easy for teachers to construct short tests or quizzes, as they could do it with the press of a button

The database is for teachers who prefer to create their own test questions, but also wish to create tests quickly and efficiently. The teachers input the questions they wish to create ahead of time, when they have the time to. The created questions are sorted by difficulty and subject/topic, and are stored for future use. When the teacher wishes to construct a test, they choose a number of total questions on the test, as well as tag words for specific topics in a subject. The database uses stored questions to make a test.

The Erised Education Bot could be used with the database as well.

How we built it

Because the bot is based off of the random selection of test questions, we imported a module that allowed us to select random integers based off of the number of entries in the database. We then used those random integers to randomly pull questions from the database, and use the bot to send them, making them visible to the user.

Challenges we ran into

When libraries were not functioning because the underlying dependencies broke, it was very frustrating to deal with the problems because they were heavily linked. We also had considerate trouble with accessing and manipulating databases such as firebase, as well as connecting node js to our application so as to allow server-side pdf to text conversion to work. This feature didn't work, so instead we used a text file to load the input in.

Accomplishments that we're proud of

We're proud of the way we were able to cleanly format the text of the questions in a way that it could be sent by message using a bot instead of requiring a much less user-friendly UI, such as the terminal.

What we learned

We learned how to use standard I/O libraries in order to read the text for questions from our database, and how to format them in a way that they could both be accessed randomly and sent by the bot.

What's next for Erised Education Bot/Database

We plan on expanding the various subjects that the bot can send questions of. We are also refining details of the database and perfecting our formatting.

Built With

Share this project:

Updates