HOME ➔ SUPPORT ➔ Community ➔ General CourseLab issues ... Programming difficulties
Programming difficulties
  View type:
Hello fellow courselabbers!

I have problems turning my idea into reality because i have a lack of programming skills. In my course I only have questions (on every page one) and one "results by objectives" object. What I want is a function, where the student, after he answered all the questions and has viewed the results, is sent back to all the questions he has answered wrong. Then when he answered them again he is supposed to return to the results page and may do it again with the fewer failed questions left. And so on and so on until all questions are answered correctily.

Is this even possible? And is it managable for a person with almost no programming skills?

Or du you have any other ideas, how I can solve this problem? Thanks already!
Somehow it should be possible, giving all slides with questions a unique ID number, putting them in a list and clear (zero) the resp. ID's in the list when a question is answered right.
Then redo the test.
From every question slide you jump to the next slide in the ID's list; skip zero.

I don't think it is manageable for a person with almost no programming skill, but you might try and learn a bit more about programming [;)]
If you could give me some more detailed instructions, I think I might get it actually done.
The ID can be changed by right clicking on the slide and selecting "Indentifier", right?
Thats the first step, I got it. I don't really get the second part with the list and all that kind of stuff.

And in the meantime I'll try to work on my programming skills ;)
Quick 'n' dirty:
- every page with a question, you give a unique ID, fi: p1, p2 etc.
- for every page with a question you make you make a variable, f.i. v1, v2 etc.
These variables are initially 1.
- If you enter such a page, you check if the corresponding vaiable is zero. If it is, goto the next page. If not, wait for the question to be answered.
- if a question is answered right, you set the corresponding variable to 0 (zero).
- if all questions are answered, you show the results. Then, if not alle variables are zero, you start again.
If all variables are zero, you continue ...

good luck!
It would be better to use objectives (not variables) for each question and set completion (or success - doesn't matter) status on corresponding question event. Then check statuses with IF ... STATUS action. Pro in this case - objectives will be stored in LMS, variables - not.
Thanks a lot for that hint! But my problems don't seem to stop. I tried it with the objectives, but everytime i put a GOTO action after an IF SUCCESS STATUS action and try to run it, I get a java script error in a pop up. When I close the pop up courselab moves to the next slide. As soon as I delete the GOTO action theres no error.
Any idea what it could be?
Problem solved by changing the event from beforedisplay to afterdisplay!
This is insane! For the questions I have set the action SET COMPLETION STATUS "complete" for the action ON SUCCESS for every single question.
On every question page I have IF COMPLETION STATUS "complete"; GOTO "Next Page"
In runtime settings all objectives are set to incomplete. When I run the program it simply skips the question pages. Why? The objectives are clearly incomplete, so what makes the program jump to the GOTO command?
First of all thank you very much for your help!
I basically got your idea and now I am struggling with putting it into courselab.
I make the variable on the page.
For which event do I make the variable? beforedisplay? I don't know how to make a variable, which is not redefined over and over again, when you return to the page.
How to make a variable, which is not overwritten, when you return to the page?
Message options
No additional options