Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing the Question Generator #36

Closed
UO289845 opened this issue Mar 1, 2024 · 4 comments · Fixed by #47 or #51
Closed

Implementing the Question Generator #36

UO289845 opened this issue Mar 1, 2024 · 4 comments · Fixed by #47 or #51
Assignees
Labels
enhancement New feature or request

Comments

@UO289845
Copy link
Contributor

UO289845 commented Mar 1, 2024

We need to start implementing the question generator, or at least the most basic version of it. I remind you here that the question type that we will implement is the population.
I think that one aproach that we can follow is to split the module into different parts:

  • @ErdemYabaci, you will be in charge of creating the distractors (incorrect answers). Remember that the method that you will create receives a String as a parameter, even if it would make more sense to receive a number for this.
    • You will need to make sure that the set of instructions you generate are different from one another, and also different to the correct answer.
    • The algorithm you design for this should not be deterministic, in another words, the answer should have some degree of randomness (this is for the ideal case, if this gives you to much trouble we can definitely skip it for the first deliverable, and not actually use any randomness at all)
  • @sinne10, you will make the test. This is a complex module which includes lots of different possibilities and if we don't test it we will found ourselves in trouble. Some things that may be in the tests:
    • Check the distractors (no repeated values, no negative numbers, etc)
    • Check that the question are generated with the expected structure
    • Anything else that you or any other member of the team sees fit
  • @UO289845, you will create the actual generator. That means:
    • Controlling the accesses to wikidata.
    • Creating the question

For testing the wrong answers, more specifically, the reaction that the method has to receiving wrong parameters, both @ErdemYabaci and @sinne10 must work together and decide the best approach, but probably it must throw an exception of some sorts.

A branch will now be created, from which each of the you should create our own branch in which the module will be actually developed. Once it is done , it will be poseted here.

If you have any question, doubt, problem, suggestion, idea or other feel free to post it here.

@UO289845 UO289845 added the enhancement New feature or request label Mar 1, 2024
@UO289845
Copy link
Contributor Author

UO289845 commented Mar 1, 2024

@UO289845
Copy link
Contributor Author

UO289845 commented Mar 1, 2024

You might have seen a similar issue a few minutes ago. You can ignore it.
Everything related to this will be posted in this issue, not the other.

@UO289845
Copy link
Contributor Author

UO289845 commented Mar 2, 2024

WARNING

The project setup has been modified to fit better the design of the aplication. The project is now inside the services package of the backend.

Merges

I will use this to remind you all how the merges are supposed to be done:

  • First, you do the commit in you own branch
  • You go to the common branch (QuestionGeneration), and do a pull.
  • After that you go to YOUR branch and merge the common branch into yours. There you solve any possible problems or merge conflicts that may arise.
  • Lastly, you go to the common branch and merge your branch into it.

@UO289845
Copy link
Contributor Author

UO289845 commented Mar 2, 2024

For @sinne10 , you will see how teh signature of some of the methods have change a bit, so take it into account for the test. And apart from that, probably only the positive test will pass (those who test that the application does what's expected when given the correct inputs). The negative test won't pass yet since there's little to none defensive programming yet, but you should not worry about it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants