Herramientas de usuario

Herramientas del sitio


es:manual:items:externosficherogenerativas

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
es:manual:items:externosficherogenerativas [2021/07/03 12:26] – creado rootes:manual:items:externosficherogenerativas [2023/09/27 16:31] (actual) root
Línea 1: Línea 1:
 ===== Preguntas generativas con ficheros ===== ===== Preguntas generativas con ficheros =====
  
-Las preguntas con fichero pueden a su vez estar basadas en ítems generativos. Esto permite a Siette generar distintas instancias de preguntas con ficheros, ya sea como parte del enunciado, o utilizando distintos caso de prueba. Esta técnica permitiría cambiar las especificaciones para que cada alumno tuviera que implementar una practica similar pero ligeramente diferente, o simplemente para que los casos de prueba se generen de forma aleatoria. El siguiente ejemplo ilustra algunos de estos aspectos:+Las preguntas con fichero pueden a su vez estar basadas en [[es:manual:items:generativos|ítems generativos]]. Esto permite a Siette generar distintas instancias de preguntas con ficheros, ya sea como parte del enunciado, o utilizando distintos caso de prueba. Esta técnica permitiría cambiar las especificaciones para que cada alumno tuviera que implementar una practica similar pero ligeramente diferente, o simplemente para que los casos de prueba se generen de forma aleatoria. El siguiente ejemplo ilustra algunos de estos aspectos:
  
 ==== Ejemplo  ==== ==== Ejemplo  ====
 En este ejemplo se usará Java como lenguaje de programación para introducir algunas nuevas características: el uso del [[es:help_items_advanced_files#directorio base]], y la generación automática de casos de prueba, mediante un [[es:manual:items:externos#ítem base]] [[es:manual:items:generativos:jsp|generativo]], y el uso de respuestas por resultados de ejecución. El problema propuesto es el siguiente: En este ejemplo se usará Java como lenguaje de programación para introducir algunas nuevas características: el uso del [[es:help_items_advanced_files#directorio base]], y la generación automática de casos de prueba, mediante un [[es:manual:items:externos#ítem base]] [[es:manual:items:generativos:jsp|generativo]], y el uso de respuestas por resultados de ejecución. El problema propuesto es el siguiente:
  
-{{ es:manual:items:item-externo-promedio-1.png?400 }}+{{ es:manual:items:item-externo-promedio-1.png?500 }}
  
 en donde se utiliza una clase ''Args.java'' con un método ''leer'' para contruir el array. Esta clase es la siguiente: en donde se utiliza una clase ''Args.java'' con un método ''leer'' para contruir el array. Esta clase es la siguiente:
Línea 24: Línea 24:
 Para que el programa que envie el alumno pueda compilar correctamente, es necesario incluir esta clase; pero se trata de una clase fija definida por el profesor, y el alumno no necesita enviarla. Para ello lo ínico que hay que hacer es colocar esta clase en algun subdirectorio dentro del [[es:manual:temas#directorio auxiliar]] de la asignatura utilizando el [[es:help_subjects_media|Gestión de archivos]]. En este ejemplo, la clase se situa en el subdirectorio ''demo/java'': Para que el programa que envie el alumno pueda compilar correctamente, es necesario incluir esta clase; pero se trata de una clase fija definida por el profesor, y el alumno no necesita enviarla. Para ello lo ínico que hay que hacer es colocar esta clase en algun subdirectorio dentro del [[es:manual:temas#directorio auxiliar]] de la asignatura utilizando el [[es:help_subjects_media|Gestión de archivos]]. En este ejemplo, la clase se situa en el subdirectorio ''demo/java'':
  
-{{ es:manual:items:item-externo-promedio-5.png?400 }}+{{ es:manual:items:item-externo-promedio-5.png?500 }}
  
 Una vez hecho esto, en el [[es:manual:items:externos#ítem base]] hay que indicar, en la pestaña [[es:help_items_advanced_files|Avanzado]] que utilice este directorio como [[es:help_items_advanced_files#Directorio base|directorio base]], lo que hara que todo su contenido se copie en el [[es:manual:items:externosfichero#directorio de trabajo]]. Una vez hecho esto, en el [[es:manual:items:externos#ítem base]] hay que indicar, en la pestaña [[es:help_items_advanced_files|Avanzado]] que utilice este directorio como [[es:help_items_advanced_files#Directorio base|directorio base]], lo que hara que todo su contenido se copie en el [[es:manual:items:externosfichero#directorio de trabajo]].
  
-{{ es:manual:items:item-externo-promedio-4.png?400 }}+{{ es:manual:items:item-externo-promedio-4.png?500 }}
  
-El [[es:manual:items:externos#ítem base]] es un ítem de respuesta libre que espera tres posibles respuestas, correspondientes a estos tres patrones:+El [[es:manual:items:externos#ítem base]] es un ítem de respuesta libre que espera tres posibles respuestas, correspondientes a las tres etiquetas: EXEC, NOCOMPILE, NOEXEC, reconocidas por estos tres patrones:
  
-{{ es:manual:items:item-externo-promedio-6.png?400 }}+{{ es:manual:items:item-externo-promedio-6.png?500 }}
  
 pero a su vez, este [[es:manual:items:externos#ítem base]] se ha definido como un [[es:manual:items:generativos:jsp|item generativo]], que utilizando la clase [[es:manual:items:generativos:siette.util.random|siette.util.Random]] genera cuatro números reales ''n1'', ''n2'', ''n3'' y ''n4'' de los que halla su ''promedio''. Este código esta escrito en el campo [[es:help_items_content#Enunciado]] del [[es:manual:items:externos#ítem base]]: pero a su vez, este [[es:manual:items:externos#ítem base]] se ha definido como un [[es:manual:items:generativos:jsp|item generativo]], que utilizando la clase [[es:manual:items:generativos:siette.util.random|siette.util.Random]] genera cuatro números reales ''n1'', ''n2'', ''n3'' y ''n4'' de los que halla su ''promedio''. Este código esta escrito en el campo [[es:help_items_content#Enunciado]] del [[es:manual:items:externos#ítem base]]:
  
-{{ es:manual:items:item-externo-promedio-7.png?400 }}+{{ es:manual:items:item-externo-promedio-7.png?500 }}
  
 Estos cuatro valores son precisamente los que se usarán como entrada para las pruebas del código, que se escriben en lenguaje SPSL en la sección [[es:help_items_advanced_files|Avanzado]], auqnue en este caso, sobre el código en [[es:manual:spsl|SPSL]] se han escrito estas las variables JSP generadas anteriormente, es decir, el //script de procesamiento// es: Estos cuatro valores son precisamente los que se usarán como entrada para las pruebas del código, que se escriben en lenguaje SPSL en la sección [[es:help_items_advanced_files|Avanzado]], auqnue en este caso, sobre el código en [[es:manual:spsl|SPSL]] se han escrito estas las variables JSP generadas anteriormente, es decir, el //script de procesamiento// es:
Línea 64: Línea 64:
 Para que esto funcione es necesario modificar los patrones de respuesta del [[es:manual:items:externos#ítem base]] Para que esto funcione es necesario modificar los patrones de respuesta del [[es:manual:items:externos#ítem base]]
  
-{{ es:manual:items:item-externo-promedio-8.png?400 }}+{{ es:manual:items:item-externo-promedio-8.png?500 }}
  
 en donde ahora, el resultado esperado es un número, y el patrón ''#<%= promedio %>#1%'' reconoce ahora la respuesta como correcta. en donde ahora, el resultado esperado es un número, y el patrón ''#<%= promedio %>#1%'' reconoce ahora la respuesta como correcta.
Línea 70: Línea 70:
 La ventaja de esta técnica es que pueden añadirse otros patrones para detectar casos comunes de errores que resultan en una respuesta incorrecta. Por ejemplo, si en vez de usar una variable de tipo ''double'' para la suma se utiliza una variable de tipo ''int'', se produce un error de redondeo, que puede detectarse mediante otro nuevo patrón que se añade a los anteriores.  La ventaja de esta técnica es que pueden añadirse otros patrones para detectar casos comunes de errores que resultan en una respuesta incorrecta. Por ejemplo, si en vez de usar una variable de tipo ''double'' para la suma se utiliza una variable de tipo ''int'', se produce un error de redondeo, que puede detectarse mediante otro nuevo patrón que se añade a los anteriores. 
  
-{{ es:manual:items:item-externo-promedio-9.png?400 }}+{{ es:manual:items:item-externo-promedio-9.png?500 }}
  
-Cuando el alumno comete este error en el código, la respuesta encajará con este patrón y se puede añadir un refuerzo que indique cuál ha sido exactamente el error:+Cuando el alumno comete este error en el código, la respuesta encajará con este patrón y se puede añadir un [[es:manual:test:refuerzos|refuerzo]] que indique cuál ha sido exactamente el error:
  
-{{ es:manual:items:item-externo-promedio-10.png?400 }}+{{ es:manual:items:item-externo-promedio-10.png?500 }}
  
 Cualquier otra respuesta o código del alumno que no sea ni la respuesta correcta, ni la respuesta de un fallo conocido será reconocida por el [[es:manual:items:patrones#patrón por defecto]] del [[es:manual:items:externos#ítem base]]. Cualquier otra respuesta o código del alumno que no sea ni la respuesta correcta, ni la respuesta de un fallo conocido será reconocida por el [[es:manual:items:patrones#patrón por defecto]] del [[es:manual:items:externos#ítem base]].
es/manual/items/externosficherogenerativas.1625315210.txt.gz · Última modificación: 2021/07/03 12:26 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki