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

attempt submission time #2

Open
ShaunSHamilton opened this issue Nov 15, 2024 · 2 comments
Open

attempt submission time #2

ShaunSHamilton opened this issue Nov 15, 2024 · 2 comments

Comments

@ShaunSHamilton
Copy link
Member

Currently, an exam attempt looks like:

https://github.com/freeCodeCamp/freeCodeCamp/blob/b08a023c4c432d3c5f0d642e4c62fa1bb4c0e3b7/api/prisma/schema.prisma#L261-L283

And the logic for submissionTimeInMS is:

https://github.com/freeCodeCamp/freeCodeCamp/blob/b08a023c4c432d3c5f0d642e4c62fa1bb4c0e3b7/api/src/exam-environment/routes/exam-environment.ts#L531-L532

However, I cannot think of a reason to keep the field around. Should we just remove it?

Context for field

Currently, we allow Campers to start where they left-off in an exam, if there is still time left on the exam. This helps with situations like the app closing/crashing, or their pc doing the same. Then, Campers have the ability to continue with their exam.

Why a Camper would want to submit a multiple choice exam without answering (at least guessing) all questions? I am unsure.

That said, we could always have a proper "SUBMIT" button which sets the submissionTimeInMS field, and, if that field is set, prevents further submissions. Why do this? I am unsure.

@moT01
Copy link
Member

moT01 commented Nov 15, 2024

With the current logic, I don't see much of a need for it. Except to just have more information in case it becomes useful. Seems like the only thing it tells us is how long it took someone to complete the exam I guess? And when they finished.

A couple questions. So there's no actual submit button I take it? It just auto submits after they answer all the questions or the time limit is reached? Can users go back and change answers? If I answer the first 10 questions, can I go back and change the answer for the first one?

It does feel a little weird that my exam will be submitted for me automatically without me saying, "I'm finished" (submitting) - but not really that big of a deal. If there was a submit button, and we used that to set the submission time, we would know that they intentionally answered all the questions and clicked submit. Not sure if that would be useful at all though.

@ShaunSHamilton
Copy link
Member Author

ShaunSHamilton commented Nov 15, 2024

So there's no actual submit button I take it?

Technically, we have a End Exam button, but it does nothing except navigate to the landing page.

It just auto submits after they answer all the questions or the time limit is reached?

No auto-submission. Every time a Camper clicks Submit Question, their answer is recorded. The only thing is, if a Camper submits an answer for every question, the api records the submissionTimeInMS.

Can users go back and change answers? If I answer the first 10 questions, can I go back and change the answer for the first one?

Yes. If there is time left on the attempt, Campers can change answers.

It does feel a little weird that my exam will be submitted for me automatically without me saying, "I'm finished"

To clarify: No auto-submission. If all questions have an answer, then the api adds submissionTimeInMS. Thereafter, if the Camper changes one of the answers, then the api still updates submissionTimeInMS.

If there was a submit button, and we used that to set the submission time, we would know that they intentionally answered all the questions and clicked submit. Not sure if that would be useful at all though.

The only issue is, because we want Campers to always be able to get back into an exam if they have time left over. That said, we could definitely add something like a "submit and quit" which would prevent them from coming back (changing answers). even if they had time.

I am just not sure we want/need that.

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

No branches or pull requests

2 participants