Introduction
The following brief discussion concerns questions that, as Bernat eloquently put it, lead students step by step, in a tutorial way. I would add, with the possibility of evaluating the students at each step. This is a good way of using the Formulas question for solving science and engineering problems, both during tutorials and examinations, one that is as close as possible to real life problem solving. Other uses of the Formulas question may have different requirements.
Because of the convenient features of the Formulas question and in order to maintain uniformity in the required input format for the answers, most if not all of my Moodle quizzes are now using the Formulas question.
Inconvenience and workarounds
For the type of problems considered, it is a good choice to use a single Formulas question with several parts (i.e. subquestions) in the Adaptive mode:
- The Formulas question has many useful features, such as easy generation and treatment of random variables, means for making elaborate calculations, etc.
- Having a single question with several parts allows sharing variables to parts, as required for the continuity throughout the solution, as well as having a solution broken down into several steps, required in problem solving.
- Contrary to the Interactive-with-many-tries mode, the Adaptive mode allows the students to check several answers at a time or just one by one.
The following should be considered:
- The solution of science and engineering problems at the University level may be quite long and therefore the Formulas question may have many parts.
- The students must have a global view of their solution and be able to keep an eye on it, i.e. they should be able to easily view at least the previous questions and answers, and probably the following ones (I found that having a Sequential navigation mode was more inconvenient than necessary).
- While solving a problem, having to scroll up and down is quite distracting.
With the current version of the Formulas question, and with many questions and therefore long web pages, the students have to scroll all the way down to the bottom of the page simply in order to click the Check button, which then takes the page all the way to the top, and finally the students have to scroll back down to where they were in the first place. Having to scroll many times just to reach the Check button or view the Question block to see the current mark is inconvenient.
The students should be able to enter any answer on the question page, click the Check button, check their mark in the Question block and continue with the quiz, all without having to scroll. This is a basic.
Hon Wai’s original version
- Each part had a Check button. Therefore there was no need to scroll down to the bottom of the page.
- Compatible only with earlier versions of Moodle.
- Was difficult to update to new versions of Moodle, due to the complexity as well as the limited amount of resources.
- Having not used this version myself, I can only presume, judging from the excellent work of Hon Wai and the comments from Bernat, that the original Formulas question was user-friendly.
- Since each part is in fact a distinct subquestion, having a button for each part is similar to having several questions of any type (True/False, Multiple choice, etc.) all laid out on one page. If there are twenty such questions, there will be twenty Check buttons and nobody will find anything wrong about this.
Jean Michel’s current version
- The replacement of all buttons by a single one was a good idea because it makes the layout clearer.
- Compatible with the current versions of Moodle.
Cons
- Requires too much scrolling, as explained above.
Generico Filter workaround
Pros
- As mentioned by AL , the “toogle” preset that comes with the filter can be used to collapse questions, making the pages shorter and thus giving an easier ascess to the Check button.
Cons
- Collapsing the questions is a nice feature but the students will probably want to expand the questions most of the time in order to refer to them. Also, having to click to expand a question, click to collapse it, click to refer to it, click again to collapse it, etc. is not much better than having to scroll up and down.
Comment
- I had a look at the documentation for the Generico Filter, but I have not tried it. There may be another problem, which the Details tags has (see below), that each time the Check button is clicked then all the parts get closed. AL, how does the Generico Filter behave regarding this last point?
HTML5 Details element workaround
Pros
- The Details element is a standard HTML5 tag and is simple to use.
Cons
- Same as with the Generico Filter. In many instances, the students will want to expand many questions, making the page long and the Check button again far down. Having to click to expand and click to collapse many times is not convenient.
- Each time the Check button is closed, then all the Details get closed, which defeats the purpose of expanding some questions.
- This behavior can be changed by writing a small Javascript with a localStorage variable that keeps track of which Details are expanded and which ones are collapsed. I gave it a shot, but could not make it work. This might have been beyond my abilities or available time, but I got confused with the ‘open’ boolean which has to values, non-existent and “open” or null. I know how to get the ‘open’ value, store it in localStorage, which stores everything in strings, but how on earth can the value be passed back? Could someone help me here.
Bootstrap’s Tabs (or Pills) workaround
Pros
- Easy to use.
- Makes the pages short by breaking the contents into several tabs.
Cons
- Only one tab or pill content can be displayed at a time. For the same reason as with the other workarounds, is not convenient, for the type of problems considered, to have only one part of the solution visible at a time.
- Each time the Check button is closed, then the focus goes to the default active tab, which defeats the purpose of opening a given tab.
- This behavior can be changed also by writing a small Javascript with a localStorage variable that keeps track of the active tab. Again, writing such a script may be beyond the abilities of ordinary Moodle users like me.
Moving the Check button to a fixed position
Pros
- Would be easy to implement. All that is required seems to be a “style” attribute in one line of the code:
<div class="im-controls">
<input style="position:fixed;top:270px;left:35px;" type="submit" id="q208621:1_-submit" name="q208621:1_-submit" value="Vérifier" class="submit btn">
</div>
This style attribute would have to be restricted to the question page and not be used elsewhere, for example in the Review page.
Cons
- Not implemented.
- Even if the Check button had a fixed position, when it is clicked the page scrolls all the way to the top. The students have to scroll back to where they were, which is inconvenient.
Comment
- I could easily add myself a fixed button directly in the question page, with the same input as above, except for the id and name numbers hence it would not work.
Summary
Having one Check button per part or one button for all parts are both acceptable layouts. Having only one Check button requires that it should be made more easily accessible.
Having collapsible parts, using either the Generico Filter or the HTML5 Details tag, or having tabs using Bootstrap’s Tabs or Pills, are nice features that can be used elsewhere in Moodle. They do not make for a satisfactory workaround for the case at hand.
Recommendations
- Move the Check button to below the Question block and make them both fixed in position.
- Prevent the page from scrolling when the Check button is clicked (or have it return to its position).
- and …, …, gee, is that all there is to it?
Conclusion
Considering that Moodle quizzes (and on other platforms such as Coursera, etc.) are composed of 90% true/false et multiple choice questions and that Moodle has this exceptionally well written Formulas question that permits the making of elaborate quizzes, Moodle should encourage the use of the Formulas question by making the question page, most important for the students, more user-friendly.