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

How to identify Score #1

Closed
MPult opened this issue Feb 12, 2020 · 6 comments
Closed

How to identify Score #1

MPult opened this issue Feb 12, 2020 · 6 comments

Comments

@MPult
Copy link

MPult commented Feb 12, 2020

how yould you see at what question length the score is below 100% for the first time?
ps: love the project

@Thimbleby
Copy link
Owner

Thank you for your interest!

It has been awhile since I've looked at this code, apologies if I'm rusty, though I am happy to help.

At the end of the test it presents the results, such as in the example below:
image

If you had it download the results, or similar, it would produce the raw data in JSON, including time taken, though I don't think it currently includes any calculated results, unlike the scores shown above.
Are you asking for an automated way of including calculated results, including specifically the first non 100% result in datatosubmit?
Or about displaying that result when the test is finished?

The output that is downloaded is in the variable called 'dataToSubmit' inside the main() function near the end of main.js.
The code controlling the results shown to the user are in the finishText svg lines above it - which start fairly close to the beginning of the main() function.

@MPult
Copy link
Author

MPult commented Feb 17, 2020

Yes I want to store the first non 100% result in a cookie (at what question the user did not get 100%)

@Thimbleby
Copy link
Owner

Assuming you would like it stored when the test is over, rather than ending the test immediately.
I've uploaded some code that should make it easier.

Down towards the end of the code, in the main() function, I print the results of a new function firstIncorrect(). This returns the array indices of the first incorrectly answered response. This means that it starts counting at 0, although note that the first two items cannot be answered incorrectly.

@MPult
Copy link
Author

MPult commented Feb 21, 2020

Thank you very much, this is much cleaner than my series of 9 if statements.

At what point of time does "endCriteria" become true?

@Thimbleby Thimbleby reopened this Feb 21, 2020
@MPult MPult closed this as completed Feb 21, 2020
@Thimbleby
Copy link
Owner

Thimbleby commented Feb 21, 2020

It ends either when every item is completed, or the user's success rate has become consistently extremely low.

The current definition of 'extremely low', is in the later half of the scoreTest() function. In other words, whenever the code calls the function to determine how good the user's previous response was, it evaluates if the test should end early.

This was done to try and avoid situations where low ability users were pointlessly taking test items that just made them feel bad, and didn't give the investigator any new information.

I haven't checked what exactly state I uploaded it in, but the last time I used it I set that early cut-off to be on what I felt was leaned towards giving the user more test items than was necessarily needed.

@Thimbleby
Copy link
Owner

Thimbleby commented Feb 21, 2020

The number of items - and their length is defined in the questionLengths array. The first sub array are practice items, and the second is real items.

I think in practice for my own use I used
var questionLengths = [[2,3],[3,4,4,5,5,6,6,7,7,8,8,9,9,10,11]];

What you will want to use will likely depend on how much information you want, and how much user's time and patience you want to take up on this test.

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