-
Notifications
You must be signed in to change notification settings - Fork 6
Description
To help students practise the techniques they have learnt and recall key information, we propose setting up a student and question database.
Databases
The student database should:
- Include the discord ID and username of every student, dynamically changing the username if their username changes;
- Split these students into two separate sections, an ATSA section and TCA section;
- For each student, record their ACAD and PRAC qualifications in two separate sections (e.g. ACAD-1 PASS ACAD-2 PASS ACAD-3 FAIL ACAD-4 PASS ACAD-5 UNKNOWN); and
- In the qualification section, include a flag for each ACAD module which will be set to 1 if the student fails every single question for that ACAD module in a quiz.
The question database should:
- Include questions differentiated by ACAD module;
- For each question, three answers with one correct answer;
- For each question, recommendations for further reading to pass the module (e.g. "Try looking at DCP101 Section 2 Chapter 2!)
- Include a flag indicating whether that question has been used for question of the day (henceforth QOTD), ideally queuing them so that the latest questions become a QOTD first and minimising repeats (questions which have not yet been QOTDs should ideally not be askable questions (defined later) but we can discuss this.).
Two separate interaction types will be needed for questions.
Student Interaction
Students should register in the database by either being added by an instructor or requesting their first quiz. If they do not already have an entry then the quiz should trigger their registration.
Students should be able to pick topics (Multiple choice) and have the bot create a small quiz for them depending on how many topics they picked (e.g. three questions per quiz), then allow the students to submit their answers as a multiple choice quiz. The bot should feedback the questions they incorrectly answered, and rather than give a direct answer for the question, should provide a further reading recommendation to promote self-teach. If the quiz was requested in the DC server, a "Ask An Instructor" button should be included that pings the applicable instructor roles (being created tonight) to request further assistance.
They should also be able to fetch a list of their qualifications, showing the ones they have passed and failed, possibly in image format (I can write this bit.) The bot can recommend further study as part of this query if certain modules are flagged for more review.
Instructor Interaction
Instructors should be able to perform lookups on every student, fetching all data on their qualifications, and should be able to easily and rapidly edit their qualifications (e.g. /qualification username:quantify acad:11 result:pass).
Instructors should also be able to add questions to the question database.
Automation
The bot needs to submit a QOTD daily at 1200UTC, preferably in a queue to ensure no repeats and that the latest questions begin their cycle as a QOTD to assess their effectiveness. The bot should post the answers at 2000UTC in spoiler tags, pinging all members who posted a reply in that forum post.
Nonsensical Ramblings
This is a pretty big addition so I've added a fair few people. I am fairly happy to take responsibility for the user interface but don't have very much experience with database management so would be amazing if @JustOneOther could take that.
This will be the initial phase of creating a fully integrated database system - in future our opt-in system can be adjusted to allow for flight plan submission from opted-in pilots with strips integration. For now this should give us the skills we need!
Also welcome to a new member of our org, @kerfuzzle, who will hopefully have some great advice and contributions in future.
Would prefer to keep discussion about this in this issue so I can look back at it since I have a very small brain. Now, where to start...