Herramientas de usuario

Herramientas del sitio


es:manual:items:patron:funciones

¡Esta es una revisión vieja del documento!


Patrón de funciones de evaluación

Las funciones de evaluación son pequeños programas escritos un lenguaje de scrtipt propio de Siette denominado lenguaje SSL que sirven para determinar si la respuesta de un alumno es correcta o no. A continuación se presentan algunos ejemplos sencillos para aclarar esta idea. 1)

Ejemplo 1

Por ejemplo, supongamos que se quiere evaluar la siguiente pregunta:

En este caso no sirven los patrones de evaluación anteriores, ya que habría que introducir uno a uno todas las posibles respuestas. El patrón correcto en este caso sería una única función de evaluación:

if (answer <100 || answer>=1000) {
    return false;
}
for(i=2; i<answer; i++) {
   if (answer % i == 0) {
       return false;
   }
}
return true;

Esta a función devuelve false en caso de que consiga hallar un divisor de la respuesta dada por el alumno y true en caso contrario. También devolvería false en caso de que se produzca cualquier error o excepción de programación al evaluar el código.

Nótese que para acceder a la respuesta del alumno se utiliza una variable predefinida denominada answer. 2)

Ejemplo 2

Supongamos ahora que se usan dos campos de respuesta.

En este caso, Siette requiere que haya al menos dos patrones de respuesta que sean correctos, asi que la pregunta se formula pensando en la evaluación de dos restricciones y se escriben dos funciones de evaluación, una para el producto y otra para la suma:

Además se han añadido sendos mensajes de refuerzo para que quede claro al presentar la evaluación, cuales han sido los patrones que se han aplicado

En este caso ambas funciones de evaluación se han satisfecho y consiguientemente las dos respuestas se han considerado correctas:

Nótese que para acceder ahora a las respuestas del alumno se utilizan independientemente las variables answer[0] y answer[1], en el ejemplo 6 y 7 respectivamente. La variable answer contiene una combinación de ambas respuestas, exactamente la secuencia: {6,7}.

A diferencia de oyros patrones que evalúan cada una de las respuestas de forma separada comparándolas con cada uno de los patrones, las funciones de evaluación componen siempre las respuestas del alumno en una sola, y ésta se compara con las funciones de evaluación tantas veces como respuestas se hayan declarado. (El siguiente ejemplo mostrará una mejora en este sentido.)

En este caso solo una de las restricciones se satisface. La otra restriccón no se llega a cumplir por lo que el segundo patrón que se aplica es el patrón por defecto.

Finalmente en este caso no se cumple ninguna de las dos restricciones, por lo que el patrón por defecto se utiliza dos veces, no asignando ninguna puntuación a esta pregunta:

Ejemplo 3

El ejemplo es el mismo que el anterior, con dos opciones de respuesta, y dos patrones de respuesta correctos mediante dos funciones de evaluación. La diferencia en esta caso es que se han añadido otros tres patrones de respuesta, mediante otras tres funciones de evaluación que recogen casos de error específicos con el objeto de poder presentar refuerzos mas informativos:

En los siguientes casos se dispara en cada caso un patrón de respuesta corracta y un patrón de respuesta incorrecta correspondiente a la negación del segundo patrón. Nótese que hay que diferenciar dos cosas: (1) Que el patrón (en este caso la función de evaluación) se cumpla o no se cumpla. Se cumplirá solo si devuelve true.; (2) Que el patrón (funcion de evaluación) sea correcto o incorrecto, lo que tendrá implicaciones para la evaluación de la pregunta. Téngase en cuenta que como se vió en el ejemplo anterior si Siette no consigue satisfacer ningino de los patrones propuestos por el profesor, escagera como identificador de respuesta un patrón por defecto Ver ejemplo anterior.

En el siguiente caso no se dispara ninguno de los patrones de respuesta correcta, pero si que se dispara un patrón de respuesta incorrecta, dando como resultado un refuerzo.

Ejemplo 4

Por coherencia interna, Siette impone la restricción de que el número de respuestas que da el alumno a una pregunta de respuesta libre debe ser siempre inferior al número de patrones declarados como correctos, de manera que pueda haber al menos un patrón correcto por cada campo de respuesta.

Una alternativa que permite sortear esta restricción es forzar a que Siette utilice un único campo de respuesta. En este caso, la respuesta debe venir compuesta en esta forma:

<html><center>

  '{' <i>respuesta0</i> , <i>respuesta1</i> , <i>respuesta2</i> , .... '}'

</center></html>

Aunque Siette presenta un único campo de respuesta, en el interfaz se puede indicar que el número de respuestas es mayor que uno (Dos en el ejemplo anterior), asi que Siette presentará un solo campo de respuesta y probará si se verifican los patrones dos veces con la misma respuesta dada por el alumno. Por ejemplo:

La respuesta del alumno ha sido {6,7}; de la cual Siette extrae los dos valores answer[0] y answer[0], de la misma manera que lo hizo anteriormente. Las funciones de evaluación son las mismas, y como puede verse, con esta respuesta se han verificado las dos.

Ejemplo 5

Evidentemente hay una crítica al ítem anterior, y es que el alumno no tiene porque saber como escribir la respuesta, podria haber escrito simplemente 6 y 7, en vez de {6,7}. Si hubiera hecho esto, el ítem anterior habría fallado en su evaluación, al no poder diferencias cada uno de los componentes de la respuesta.

La solución a este problema son los ítems interactivos mediante javascript, mediante los cuales podemos modificar libremente el enunciado, componer la respuesta y enviarla a Siette.

1)
Con los ejemplos se busca claridad en la exposición del funcionamiento de las funciones de evaluación, no tanto calidad de la pregunta, que en algunos casos podrían mejorarse acotando mas las posibles respuestas o simplemente haciendo una pregunta diferente para evaluar el mismo conocimiento
2)
Tambien podría utilizarse la variable respuesta que tiene exactamente la misma función.
es/manual/items/patron/funciones.1623960104.txt.gz · Última modificación: 2021/06/17 20:01 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki