iAssign

iHanoi - Towers of Hanoi problem as a iLM model

bandeira do Brasil USA flag

About Moodle/iAssign

It is possible to integrate any educational software (ES) implemented under JavaScript with Moodle in a seamless way.

To achieve this, it is sufficient to use the iAssign package and implement 2 or 3 new functionality to your ES, as described in the next section. In this case, this ES can be seen as an interactive Learning Module (iLM) (see the next section).

About interactive Learning Module (iLM)

To prepare any education software (ES) implemented under JavaScript to be used under Moodle, through iAssign.

If the ES implements the first two conditions bellow, it can be considered an interactive Learning Module (iLM):
  1. The iLM must use the GET parameter "iLM_PARAM_Assignment" to load the iLM content.
    E.g.: http://localhost/ihanoi/exerc_itarefa_3d.html?iLM_PARAM_Assignment=exerc/ihanoi_3d.ihn
  2. The iLM must implement the funcion "getAnswer()"
    This is the function that iAssign will call to get the iLM student answer and to send it to Moodle
image to Model iLM/iAssign/Moodle
If your ES allows automatic evaluation, then it is recommended to you to implement 2 new treatments:
  1. A special interface to teacher authoring process, that must be activated in the presence of the URL parameter "iLM_PARAM_Authoring=true"
    With this interface, the teacher can prepare exercises using the automatic evaluation method of your ES.
  2. Additionally, the ES with an automatic evaluation method, must implements the optional funcion "getEvaluation()" to stablish the grade to the student answer (it must vary from 0, when "completely wrong", to 1, when "completely correct").
    When the student finish the answer and "click" the sending/evaluation button, iAssign will request the grade from "getEvaluation()" to send it with the student answer to Moodle register it.

A iLM model using the iHanoi by LInE

Bellow we present a iLM model using the iHanoi web educational software. It is another contribution to free education by the Laboratory of Informatics in Education.

The iHanoi is a very simple iLM. We implement it using "pure" JavaScript, with no additional frameworks (neither JQuery nor Phaser), for this reason it is very "light" (its main file has less than 1K lines). To get content file, iHanoi/iLM will use JS native command XMLHttpRequest.

Bellow, iHanoi is presented without any parameter. You can download this entire model (this Web page with imagens and iHanoi).

LInE-IME-USP
Build exercise iHanoi with 2 disks iHanoi with 3 disks Exercise with 2 disks Exercise with 3 disks With solution

You can test some iLM options, they are over iHanoi, respectively:

Build exercise use the parameter iLM_PARAM_Authoring=true to indicate to the iLM that it must enter using the special parameter iLM_PARAM_Authoring=true);
iHanoi with 2 disks use the iHanoi particular parameter - not used by iLM - to load this Web page with 2 disks);
iHanoi with 3 disks use the iHanoi particular parameter - not used by iLM - to load this Web page with 3 disks);
Exercise with 2 disks use the parameter iLM_PARAM_Assignment to indicate to the iLM where is its the content file - in this case a iHanoi exercise with 2 disks);
Exercise with 3 disks use the parameter iLM_PARAM_Assignment to indicate to the iLM where is its the content file - in this case a iHanoi exercise with 3 disks).

The current version of iAssign can be found under our Git/iAssign. The last stable version is under Moodle.org/iAssign.


Prof. Leônidas de Oliveira Brandão (LInE coord.)
Laboratório de Informática na Educação (LInE)
iHanoi/iMath