scieee AI-readable full text Open interactive document viewer

Herramienta basada en VBA para generación de bancos de preguntas en Moodle

González Gijón, Valentín

Abstract

El propósito principal de este documento es detallar el desarrollo de una herramienta basada en Visual Basic para Aplicaciones (VBA) para generar bancos de preguntas en Moodle. Previamente se hará un estudio de qué alternativas ya hay existentes en la red y cuáles son sus pros y contras. En el nuevo contexto social provocado por la pandemia Covid-19, la educación ha tenido que adaptarse y se ha fomentado la educación a distancia. Para una educación a distancia efectiva son necesarias herramientas adecuadas y personal formado. En este contexto, uno de los mayores retos es la evaluación, y los exámenes tipo test son una parte fundamental de este proceso. Moodle es un ejemplo de herramienta adecuada para el seguimiento de procesos educativos, pero a menudo sus procesos son lentos o requieren de personal con conocimientos de informática. Su herramienta banco de preguntas es un ejemplo de ello. El objetivo del presente proyecto es desarrollar una herramienta que permita gestionar bancos de preguntas para Moodle desde un archivo Excel y generar cuestionarios aleatorios. La herramienta se desarrollará usando Visual Basic for Applications (VBA). En el documento se detalla la estructura de cada uno de los elementos de la herramienta, cómo se han desarrollado y cómo se han validado.

Full text

Trabajo de Final de Máster Master Universitario en Ingeniería Industrial Herramienta basada en VBA para generación de bancos de preguntas en Moodle MEMORIA Autor: Valentín González Gijón Director: Manuel Moreno Eguílaz Convocatoria: Enero 2021 Escola Tècnica Superior d’Enginyeria Industrial de Barcelona Pág. 2 Memoria Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 3 Resumen El propósito principal de este documento es detallar el desarrollo de una herramienta basada en Visual Basic para Aplicaciones (VBA) para generar bancos de preguntas en Moodle. Previamente se hará un estudio de qué alternativas ya hay existentes en la red y cuáles son sus pros y contras. En el nuevo contexto social provocado por la pandemia Covid-19, la educación ha tenido que adaptarse y se ha fomentado la educación a distancia. Para una educación a distancia efectiva son necesarias herramientas adecuadas y personal formado. En este contexto, uno de los mayores retos es la evaluación, y los exámenes tipo test son una parte fundamental de este proceso. Moodle es un ejemplo de herramienta adecuada para el seguimiento de procesos educativos, pero a menudo sus procesos son lentos o requieren de personal con conocimientos de informática. Su herramienta banco de preguntas es un ejemplo de ello. El objetivo del presente proyecto es desarrollar una herramienta que permita gestionar bancos de preguntas para Moodle desde un archivo Excel y generar cuestionarios aleatorios. La herramienta se desarrollará usando Visual Basic for Applications (VBA). En el documento se detalla la estructura de cada uno de los elementos de la herramienta, cómo se han desarrollado y cómo se han validado. Pág. 4 Memoria Índice ÍNDICE ______________________________________________________ 4 1. GLOSARIO _______________________________________________ 7 2. PREFACIO _______________________________________________ 9 2.1. Origen del proyecto ........................................................................................ 9 2.2. Motivación ...................................................................................................... 9 2.3. Requerimientos previos ............................................................................... 10 3. INTRODUCCIÓN _________________________________________ 11 3.1. Objetivos del proyecto ................................................................................. 11 3.2. Alcance del proyecto .................................................................................... 11 4. INTRODUCCIÓN A MOODLE _______________________________ 13 4.1. ¿Qué es Moodle? ........................................................................................ 13 4.1.1. Orígenes .......................................................................................................... 13 4.1.2. Estructura......................................................................................................... 14 4.1.3. Funciones básicas ........................................................................................... 14 5. EL MÓDULO QUIZ DE MOODLE ____________________________ 16 5.1. Tipos de preguntas en Moodle básico ......................................................... 16 5.2. Bancos de preguntas ................................................................................... 16 5.2.1. Creación de preguntas en el banco de manera manual ................................... 17 5.2.2. Importación de preguntas a través de un archivo ............................................ 19 5.2.3. Uso de las preguntas del banco de preguntas ................................................. 21 6. ESTADO DEL ARTE: SOLUCIONES EXISTENTES ______________ 23 6.1. Plugins para Moodle .................................................................................... 23 6.1.1. Simple CSV Format ......................................................................................... 23 6.1.2. Microsoft Word File Import/Export .................................................................... 23 6.2. Hojas Excel .................................................................................................. 24 6.2.1. GIFT_Maker ..................................................................................................... 24 6.2.2. Excel to Moodle Quiz ....................................................................................... 24 6.2.3. Quiz Multiple Choice GIFT ............................................................................... 25 6.3. Software especializado ................................................................................ 26 6.3.1. Pack GIFTr ...................................................................................................... 26 6.3.2. Software Question Machine ............................................................................. 26 7. DESARROLLO DE LA HERRAMIENTA _______________________ 28 7.1. Requisitos .................................................................................................... 28 Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 5 7.2. Modos de funcionamiento ............................................................................ 28 7.3. Estructura básica .......................................................................................... 28 7.3.1. Archivo ............................................................................................................ 28 7.3.2. Código ............................................................................................................ 30 7.3.3. Imágenes en base64 ...................................................................................... 47 8. GUÍA DE USO HERRAMIENTA ______________________________ 48 8.1. Gestionar categorías de preguntas .............................................................. 48 8.1.1. Generar una nueva categoría ......................................................................... 48 8.1.2. Comprobar lista de categorías ........................................................................ 49 8.1.3. Renombrar una categoría ............................................................................... 49 8.1.4. Eliminar categoría ........................................................................................... 50 8.2. Gestionar preguntas ..................................................................................... 50 8.2.1. Crear preguntas .............................................................................................. 50 8.2.2. Eliminar preguntas .......................................................................................... 51 8.3. Gestionar imágenes ..................................................................................... 52 8.3.1. Añadir una imagen .......................................................................................... 52 8.3.2. Eliminar una imagen ....................................................................................... 53 8.4. Cuestionarios aleatorios ............................................................................... 53 8.5. Exportar categorías de preguntas ................................................................ 54 8.6. Modo avanzado de edición .......................................................................... 54 9. PRESUPUESTO __________________________________________ 56 10. IMPACTO AMBIENTAL ____________________________________ 57 CONCLUSIONES _____________________________________________ 58 AGRADECIMIENTOS __________________________________________ 60 BIBLIOGRAFÍA ______________________________________________ 61 Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 7 1. Glosario Los términos se describen en orden de aparición. Cuando se ha considerado necesario, se añaden explicaciones adicionales al citarlos. VBA – Visual Basic for Applications. Lenguaje de programación informática simple, pensado para ampliar funcionalidades del paquete Office de Microsoft. Moodle – Plataforma online para aprendizaje. Categoría de pregunta – Conjunto de preguntas de un curso de Moodle que se agrupan por decisión del profesor. Atenea – Plataforma online para aprendizaje de la Universitat Politècnica de Catalunya. Basada en Moodle. XML – Lenguaje de diseño web usado en Moodle para importar y exportar preguntas. Plugin – Complemento que se puede añadir a Moodle. R – Lenguaje de programación enfocado al análisis estadístico. Módulo VBA – Parte de un archivo Excel habilitado para macros que contiene código de programación. Macros – Conjuntos de instrucciones de programación orientadas a ejecutar acciones en una aplicación. UserForm – Ventanas de diálogo de VBA usadas para interaccionar con el usuario. Base64 – Algoritmo de codificación y decodificación de archivos de binario a cadena de texto. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 9 2. Prefacio 2.1. Origen del proyecto Para entender el origen de este proyecto, es imprescindible contextualizar social e históricamente el momento de su inicio. En 2020 el mundo ha sufrido un cambio acelerado e inesperado en muchas de sus áreas debido al impacto de la pandemia Covid-19 [1] y la educación, no ha sido una excepción. En un contexto en que las concentraciones de personas se debían reducir e incluso evitar, la enseñanza se ha tenido que reinventar y la Universidad ha tenido que explorar nuevas vías de enseñanza y evaluación. Debido a lo inesperado de la situación, muchos profesores y alumnos no contaban con las herramientas adecuadas para enseñar, evaluar y aprender a distancia y durante estos meses se han tenido que adaptar a ello de la mejor manera posible. La necesidad de realizar exámenes online plantea muchos retos: evitar fraude, generar evaluaciones equivalentes a las que se harían de manera presencial, gestionar los contenidos a evaluar… Muchos profesores, que no son nativos digitales, han tenido dificultades para adaptarse a esta situación. 2.2. Motivación Dentro de la necesidad de dotar de herramientas a los profesores para poder avanzar en los exámenes y evaluaciones a distancia, una de las prioridades es poder gestionar con sencillez los exámenes tipo test online. La mayoría de los profesores conocen los entornos de ofimática (Microsoft Office o sus alternativas de software libre como OpenOffice) pero no son expertos en Moodle u otras plataformas de enseñanza virtual. La motivación para realizar este proyecto es ayudar a los docentes en su día a día para poder gestionar con más facilidad este tipo de evaluaciones y así poder dedicar su tiempo a tareas de más valor añadido, como puede ser el soporte al alumno o la preparación de sus clases. Pág. 16 Memoria 5. El módulo Quiz de Moodle El módulo Quiz permite al profesor crear cuestionarios con preguntas de distintos tipos (respuesta múltiple, verdadero / falso, respuestas cortas o relacionar imágenes con textos). Las preguntas se guardan en bancos de preguntas y se pueden reusar en diferentes cuestionarios. [7] 5.1. Tipos de preguntas en Moodle básico  Calculadas: cuestiones numéricas cuya respuesta se puede hacer aleatoria.  Calculadas multi-respuesta: ídem que las anteriores, pero con varias respuestas a seleccionar.  Arrastrar y soltar: hay diferentes cajas de texto que son respuestas. Estas se deben situar encima de una imagen.  Descripción: realmente no es un tipo de pregunta, sino una herramienta para mostrar informaciones en las siguientes preguntas.  Ensayo: preguntas abiertas que permiten redactar al estudiante. Son de corrección manual.  Relacionar: se deben relacionar diferentes conceptos “pregunta” con otros conceptos “solución”.  Multi-respuesta: pregunta con varias respuestas a seleccionar.  Respuesta corta: pregunta con huecos para completar por el estudiante.  Numérica: ídem a la anterior, pero en los huecos se debe introducir un número. Permite establecer márgenes de error.  Escoger palabra que falta: igual que las de respuesta corta, pero aparece un desplegable con varias soluciones.  Verdadero/Falso. 5.2. Bancos de preguntas Dentro del módulo Quiz, Moodle tiene la funcionalidad denominada bancos de preguntas, que permite que el profesor del curso genere una base de datos con preguntas que puede usar Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 17 para los diferentes cuestionarios que vaya generando. Dentro del banco de preguntas, se pueden establecer diferentes categorías a las que asignar estas. Es una utilidad que puede ser interesante, por ejemplo, para separar las preguntas por temas. Los bancos de preguntas permiten la creación de preguntas a través de la propia plataforma Moodle o bien con la importación de archivos con formatos compatibles. 5.2.1. Creación de preguntas en el banco de manera manual El proceso de creación de preguntas parte del menú de administración del curso de Moodle, pulsando el link “Questions” (véase la Imagen 3). Imagen 3. Menú administración Moodle (Elaboración propia). Dentro del menú Questions, se puede escoger la categoría a la que asignar la pregunta a crear y proceder al siguiente menú, pulsando “Create a new question” (véase la Imagen 4). Pág. 18 Memoria Imagen 4. Creación de pregunta en el banco de preguntas (Elaboración propia). En el siguiente menú se puede escoger el tipo de preguntas (de entre las que se han explicado en la sección Tipos de preguntas en Moodle básico) y pasar al último paso. Imagen 5. Selección de tipo de pregunta (Elaboración propia). En función del tipo de pregunta escogida, la siguiente pantalla tendrá una forma diferente. Es Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 19 en ella donde se definen la pregunta, las respuestas y el tipo de calificación. Pulsando el botón “Save Changes” la pregunta quedará guardada en el banco de preguntas. Desde el propio banco de preguntas se puede ver la lista de preguntas almacenadas en él. Debajo del menú “Actions”, hay un acceso rápido a acciones básicas referidas a cada pregunta: editar, duplicar, etiquetar (asignar palabras relacionadas con la pregunta), previsualizar, eliminar y exportar. Imagen 6. Ejemplo de banco de preguntas (Elaboración propia). 5.2.2. Importación de preguntas a través de un archivo Para la gestión de preguntas fuera de su entorno, Moodle incluye las funciones importar y exportar preguntas. Para acceder al menú de importar, se puede pulsar el botón “Import”, desde el menú Question Bank (véase la Imagen 7), o bien directamente pulsar “Import” desde el menú de administración (véase la Imagen 3). Imagen 7. Acceso desde el menú Question Bank (Elaboración propia). Pág. 20 Memoria Una vez dentro del menú importar, el primer input a introducir es el tipo de formato de archivo a usar. Las posibilidades son [8]:  Aiken: es un formato que permite importar de manera muy sencilla preguntar multirespuesta desde un archivo con extensión .txt. Tiene como inconveniente que no permite gestionar con sencillez las imágenes y que Atenea (la versión de Moodle para UPC) no permite exportar preguntas en este formato. La versión genérica de Moodle sí es compatible con exportar archivos Aiken.  Blackboard: está asociado con otro LMS de mismo nombre que el tipo de archivo. Como ventaja tiene que existen softwares pensados para generar preguntas en este formato y permite con sencillez trabajar con imágenes, pero de nuevo, igual que con Aiken, Moodle no admite exportar en este formato.  Cloze (respuestas incrustadas): es un formato que permite generar preguntas combinadas (incluyendo desplegables o huecos para introducir respuestas). Como ventaja, existen soluciones online para manejar este formato de manera sencilla y es compatible con imágenes. De nuevo, Moodle no tiene compatibilidad para exportar en este formato.  Examview: es un software que permite gestionar la creación de archivos xml para importar en Moodle. Es muy similar a Blackboard, por lo que comparte con él ventajas e inconvenientes.  GIFT: es uno de los dos formatos “propios” de Moodle. Es un formato desarrollado por la comunidad Moodle y eso permite que sea compatible tanto para importar como exportar preguntas. Como ventaja, además, tiene su sencillez y la posibilidad de trabajarlo con cualquier editor de texto. El principal inconveniente es que para la gestión de imágenes se requiere instalar un plugin en Moodle, por lo que si la plataforma usada no lo tiene (por ejemplo, Atenea), se dificulta la gestión con imágenes.  Palabra omitida: muy parecido a GIFT, pero solo es útil con preguntas de respuesta corta.  Moodle XML: al igual que GIFT, es un formato “propio” de Moodle. Por lo tanto, también es compatible con el importar y exportar preguntas. Su sintaxis es algo más complicada que la del resto, pero es el más versátil. Permite trabajar bien con archivos Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 21 multimedia.  WebCT: solo funciona con preguntas de respuesta múltiple o respuesta corta. Moodle no es compatible con exportar preguntas en formato WebCT. Debido a los pros y contras explicados previamente, el formato que se usará para desarrollar la herramienta será Moodle XML. Al ser un desarrollo propio de Moodle, tiene menos limitaciones y, pese a ser algo más complicado en cuanto a sintaxis, no será un problema para el usuario, ya que no tendrá que trabajar con ella, tan solo importar el archivo resultante de la herramienta. Hay más parámetros a definir durante la importación de preguntas:  Importación en categoría: se escoge en qué categoría se importarán las preguntas.  Calificaciones coincidentes: escoge cómo interpreta Moodle el archivo cuando las calificaciones no coinciden con las posibilidades de la plataforma.  Comportamiento en caso de error: define qué hacer en caso que haya algún error en el archivo a importar. 5.2.3. Uso de las preguntas del banco de preguntas Una vez se dispone de un banco de preguntas, es muy sencillo generar un test basado en ellas. Se debe generar un test en el curso de Moodle deseado:  Se activa el modo edición de Moodle (texto “Turn editing on” en la versión estándar de Moodle o bien el icono marcado en amarillo en la Imagen 8 en Atenea) Imagen 8. Botón “Activar edición” en Atenea (Elaboración propia).  Generar un test nuevo (“Add an activity or resource” en la versión estándar de Moodle, y luego “Quiz” o bien el acceso directo de Atenea). Imagen 9. Acceso directo "Quiz" en Atenea (Elaboración propia). Pág. 22 Memoria  Se accede al Quiz y una vez configurado, mediante “Edit Quiz” o “Edita el questionari”, se pueden añadir preguntas. La opción “Afegeix pregunta del banc de preguntes” permite añadir preguntas que ya están antes en el banco de preguntas. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 23 6. Estado del arte: soluciones existentes En la red existen tres tipos de soluciones diferentes para intentar solucionar el problema expuesto: plugins para Moodle, hojas Excel (más o menos automáticas) y software especializado. En este apartado del documento se analizarán las diferentes alternativas y sus pros y contras. 6.1. Plugins para Moodle Cualquiera de los plugins disponibles en internet tiene un inconveniente: para poder añadir plugins a la plataforma Moodle se deben tener permisos de administración, por lo que, en caso de no tenerlos, se deberían requerir al administrador. Esto resta flexibilidad al usuario, pero por otra parte garantiza que cualquier usuario de la plataforma los puede usar. 6.1.1. Simple CSV Format Este plugin permite añadir preguntas de respuesta múltiple de manera sencilla a través de un Excel en formato csv, en el que en cada fila se añade una pregunta [9].  Pros: sencillo y rápido.  Contras: solo admite preguntas de respuesta múltiple. 6.1.2. Microsoft Word File Import/Export Este plugin está basado en usar tablas en Word y permite tanto importar como exportar bancos de preguntas. Requiere, adicionalmente a instalar el plugin, realizar varias configuraciones en Moodle e instalar otros plugins [10].  Pros: o Permite trabajar con ecuaciones e imágenes. o La interfaz es intuitiva. o Permite trabajar con diferentes tipos de preguntas. o El autor ha generado plantillas de Word para generar las preguntas de manera más sencilla.  Contras o La instalación no es sencilla. o El número de preguntas que se pueden importar está limitado por el servidor Pág. 24 Memoria Moodle. 6.2. Hojas Excel En la comunidad online de Moodle, se pueden encontrar Hojas Excel preparadas por diferentes usuarios que tratan de cubrir la necesidad de importar y exportar bancos de preguntas fácilmente. 6.2.1. GIFT_Maker GIFT_Maker es una sencilla hoja de Excel que permite generar hasta 100 preguntas multirespuesta añadiendo preguntas y respuestas en una hoja Excel [11]. Imagen 10. Interfaz de GIFT_Maker [11].  Pros: interfaz minimalista y sencilla.  Contras o Solo admite preguntas multi-respuesta. o No trabaja con imágenes. o Requiere de un pos procesado del usuario (guardar en la codificación UTF-8 y con extensión GIFT). 6.2.2. Excel to Moodle Quiz Excel To Moodle Quiz es una hoja Excel que permite combinar hasta 250 preguntas de respuesta múltiple o respuesta corta incluyéndolas en las filas de una hoja Excel. Incluye dos macros que permiten hacer el pre procesado de la hoja y la generación del XML para importar en Atenea [12]. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 25 Imagen 11. Interfaz Excel to Moodle Quiz [12].  Pros o El usuario está guiado en todo momento, las opciones están limitadas para que sea imposible introducir opciones erróneas. o El proceso es sencillo y genera automáticamente el archivo XML.  Contras o No trabaja con imágenes. o Está limitado a dos tipos de preguntas. 6.2.3. Quiz Multiple Choice GIFT Esta hoja Excel permite generar preguntas de respuesta múltiple con 4 ó 5 respuestas introduciéndolas en filas de diferentes hojas [13]. Imagen 12. Interfaz de Quiz Multiple Choice GIFT [13]  Pros o Interfaz sencilla. o Permite introducir feedback.  Contras o No trabaja con todos los tipos de preguntas. o No funciona con imágenes. o El usuario debe ser cuidadoso al guardar el archivo, pues se pueden generar Pág. 32 Memoria 7.3.2.1.3. Módulo 3 El módulo 3 incluye la subrutina Check:  ¿Qué hace? La subrutina Check comprueba la integridad de los datos antes de generar los archivos xml para importar en Moodle. Asegura que no haya datos incorrectos, por ejemplo, respuestas que no cuadran con el tipo de preguntas (preguntas numéricas con respuesta de texto, preguntas V/F con respuestas de texto o numéricas…), preguntas a las que les falta información, imágenes citadas que no existen, etc. Si encuentra algún fallo, detiene la ejecución de la rutina que la ha llamado y lanza un mensaje para que el usuario sepa dónde está el error.  Argumentos: tiene como argumento un elemento llamado categoría del tipo string (texto). Este argumento debe coincidir con el nombre de alguna de las categorías de preguntas (y por tanto de las hojas del libro).  Estructura (es un recorrido por todas las preguntas (filas) de la categoría (hoja)) Diagrama de bloques 2. Subrutina Check (Elaboración propia).  ¿Cómo se ha validado?: se genera una categoría de nombre “Test” y secuencialmente se van forzando todos los fallos que se quieren detectar con esta subrutina. Se comprueba que uno a uno van saltando los mensajes de alerta definidos para que el usuario pueda arreglar los datos incoherentes. 7.3.2.1.4. Módulo 4 El módulo 4 incluye la subrutina EncodeFile, que se ha tomado de una solución encontrada por otro desarrollador [17] y que sirve para, introduciendo un archivo imagen, generar el código de esta imagen en base 64. Se puede encontrar más información de esta subrutina en la bibliografía y también en el apartado Imágenes en base64. Comprueba que el nombre del tipo de pregunta es válido (V/F, Multirespuesta o Numérica) Comprueba que la pregunta tiene nombre Comprueba que la pregunta tiene enunciado Si tiene imágenes, comprueba que estas están en la galería de imágenes Comprueba que tengan respuestas definidas y que sean coherentes con el tipo de preguntas Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 33 7.3.2.1.5. Módulo 5 El módulo 5 incluye 3 subrutinas: Generarxml_UTF8, Generarxml_UTF8_cuestionario, GetFolder GetFolder es una subrutina que pide al usuario seleccionar la ruta de una carpeta en el sistema. Esta subrutina ha sido tomada de una publicación de otro desarrollador [18]. Generarxml_UTF8  ¿Qué hace? Genera un archivo con extensión XML para importar en Moodle incluyendo las preguntas de aquellas categorías que el usuario indique. Usa el elemento “FileStream”, que es la única manera de escribir un archivo con codificación UTF-8 en VBA. Sin usar UTF-8, Moodle no reconocería los acentos y otros caracteres especiales. Esta solución se basa en la información publicada por otros desarrolladores [19].  Estructura Diagrama de bloques 3. Subrutina Generarxml_UTF8 (Elaboración propia).  ¿Cómo se ha validado?: se generan varios archivos con extensión XML combinando preguntas de diferentes tipos. Se importan estos archivos en Moodle comprobando que no hay errores en el proceso (en caso de líneas de código xml erróneas, Moodle Genera la lista de categorías a incluir a partir de aquellas seleccionadas en el UserForm7 Pide al usuario que defina la carpeta y el nombre del archivo a generar Escribe las cabeceras que se incluyen en la hoja Template Bucle recorriendo todas las categorías Escribe líneas cabecera categoría Escribe líneas definiendo tipo de pregunta Escribe líneas nombre pregunta Escribe líneas enunciado pregunta, con imagen si aplica Si aplica, escribe feedback general Escribe respuestas, con imagen, feedback y tolerancia si aplica Escribe las líneas de cierre que se incluyen en la hoja template Guarda el archivo Muestra la hoja "Índice categorías" Mensaje confirmando que el archivo se ha generado Pág. 34 Memoria detiene la importación del archivo y lanza un mensaje de error). Generarxml_UTF8_cuestionarios es una subrutina análoga a Generarxml_UTF8, pero solo toma como categoría una hoja especial generada para hacer un cuestionario aleatorio. 7.3.2.1.6. Módulo 6 El módulo 6 contiene la función UniqueRandomNumbers, que genera números aleatorios únicos (sin repeticiones). Esta función está basada en la información publicada por otros desarrolladores [20] y se usa para la generación de cuestionarios aleatorios. 7.3.2.2. UserForm Un UserForm es una ventana o cuadro de diálogo en la que el usuario recibe información o se le solicita realizar alguna acción. Imagen 16. Ejemplo de UserForm usado en la herramienta (Elaboración propia). El modo guiado está basado en la sucesión de UserForms que van pidiendo información al usuario y guiándole en la gestión de su banco de preguntas. Se han usado UserForms porque permiten interaccionar con el usuario y hacer el proceso guiado paso a paso. El nombre de los botones de las UserForms describe la acción a realizar. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 35 7.3.2.2.1. Elementos de UserForm usados  Botones: elemento “CommandButton” de VBA. Permite ejecutar instrucciones al pulsarlo.  Cuadros de texto: elemento “TextBox” de VBA. Permite introducir o leer texto.  Etiqueta: elemento “Label” de VBA. Es un cuadro de texto sin posibilidad de introducir información, solo la muestra.  Desplegable: elemento “ComboBox” de VBA. Es una lista desplegable de la que escoger una opción.  Botón seleccionable: elemento “CheckBox” de VBA. Son “ticks” marcables. 7.3.2.2.2. Estructura de UserForms En la Imagen 17 se puede observar la interrelación que hay entre los 20 UserForms que forman parte de la herramienta. El paso (tanto adelante, como atrás) de un UserForm a otro se hace mediante el uso de elementos “Botón”, en cuyo código se incluyen los comandos “Hide” (Ocultar) y “Show” (Mostrar), en función de cuál es el UserForm de origen y cuál es el de destino (véase la Imagen 18). Imagen 17 Estructura de UserForms (Elaboración propia). Pág. 36 Memoria Imagen 18. Ejemplo de transición de un UserForm a otro (Elaboración propia). 7.3.2.2.2.1. UserForm3 (Menú principal) Imagen 19. UserForm 3 (Elaboración propia). La UserForm3 es la que funciona como menú principal. Todos los botones sirven para saltar a otros UserForms, excepto 3, que tienen alguna peculiaridad:  Genera cuestionarios aleatorios: además del salto de UserForm, al pulsarlo, lanza la subrutina ListSheetsgen.  Exportar categorías a Moodle: además del salto de UserForm, al pulsarlo, lanza la subrutina ListaSheets_check.  Edita manualmente: oculta la UserForm, de manera que el usuario pueda entrar al modo avanzado de edición. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 37 7.3.2.2.2.2. UserForm1 (Gestión categorías) Imagen 20. UserForm1 (Elaboración propia). El botón “Vuelve al menú principal” hace lo que indica su nombre. El resto tienen alguna peculiaridad:  Genera una nueva categoría o ¿Qué hace?: Genera una categoría nueva (hoja de Excel nueva) y crea los encabezados. o Estructura Diagrama de bloques 4. Botón “Genera una nueva categoría” (Elaboración propia). o ¿Cómo se ha validado? Se genera una categoría nueva y se comprueba visualmente el nombre de la hoja y que el encabezado es correcto.  Comprueba la lista de categorías: lanza la subrutina ListSheets y pasa al siguiente UserForm.  Renombra una categoría: genera en el siguiente UserForm un desplegable con los nombres de las categorías (hojas de Excel) y pasa al siguiente UserForm.  Elimina una categoría: genera en el siguiente UserForm un desplegable con los nombres de las categorías (hojas de Excel) y pasa al siguiente UserForm. Ejecuta ListSheets Lanza una ventana de diálogo y pide al usuario que defina el nombre Comprueba que el nombre no coincide con ninguno existente Crea la hoja (categoría) nueva Crea el encabezado de la nueva categoría Pág. 38 Memoria 7.3.2.2.2.3. UserForm2 (Lista de categorías) Imagen 21. UserForm2 (Elaboración propia). En la UserForm 2 se muestran todas las categorías con el número de preguntas respectivas. 7.3.2.2.2.4. UserForm10 (Renombrar categoría) Imagen 22. UserForm10 (Elaboración propia). El botón “Vuelve al menú categorías” retrocede al UserForm anterior. Además, hay un desplegable con las categorías existentes y un cuadro de texto para que el usuario introduzca el nuevo nombre para la categoría. El botón “Renombrar categoría”:  Renombrar categoría o ¿Qué hace? Cambia de nombre una categoría (hoja Excel) o Estructura Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 39 Diagrama de bloques 5. Botón “Renombrar categoría” (Elaboración propia). o ¿Cómo se ha validado? Se fuerzan los 3 posibles errores y se comprueba que saltan los mensajes de error programados. Se hace un cambio de nombre y se comprueba que ha cambiado el nombre de la hoja Excel. 7.3.2.2.2.5. UserForm5 (Eliminar categoría) Imagen 23. UserForm5 (Elaboración propia). La UserForm5 tiene un botón para volver atrás, un desplegable con todas las categorías y el botón “Eliminar categoría”. Este último botón, al pulsarlo, comprueba que se haya seleccionado alguna categoría y posteriormente elimina esta categoría (hoja Excel). Comprueba si el usuario ha seleccionado una categoría Comprueba si el usuario ha introducido un nombre que ya existe Comprueba si el usuario ha introducido algún nombre Borra el cuadro de texto y el desplegable Actualiza el nombre de la categoría Vuelve al UserForm anterior Pág. 40 Memoria 7.3.2.2.2.6. UserForm4 (Gestión preguntas) Imagen 24. UserForm4 (Elaboración propia). El UserForm4 tiene el botón “Vuelve al menú principal” que retrocede a la UserForm anterior. El resto tiene alguna particularidad:  Crea preguntas V/F: prepara los desplegables del siguiente UserForm añadiendo el contenido necesario (respuesta, imágenes y categorías).  Crea preguntas multi-respuesta: prepara los desplegables del siguiente UserForm añadiendo el contenido necesario (respuesta, imágenes y categorías).  Crea preguntas numéricas: prepara los desplegables del siguiente UserForm añadiendo el contenido necesario (respuesta, imágenes y categorías).  Elimina preguntas: prepara el desplegable con las categorías del siguiente UserForm. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 41 7.3.2.2.2.7. UserForm6 (Menú pregunta V/F) Imagen 25. UserForm6 (Elaboración propia). La UserForm6 se compone de varios desplegables y cuadros de texto para introducir información. El botón “Vuelve al menú preguntas” vuelve a la UserForm anterior. El botón “Añadir pregunta”:  Añadir pregunta o ¿Qué hace? Crea una nueva fila en la categoría escogida con la información de la pregunta que ha introducido el usuario. o Estructura Diagrama de bloques 6. Botón “Añadir pregunta” (Elaboración propia). o ¿Cómo se ha validado? Se fuerzan los campos vacíos para comprobar que saltan los mensajes de error programados. Se generan preguntas y se comprueba visualmente en la categoría que se ha introducido la información correctamente. Comprueba que se ha introducido una categoría Comprueba que se ha introducido la información mínima Rellena la información de la pregunta en la categoría escogida Borra el contenido de los cuadros de texto y desplegables Lanzar mensaje confirmando que se ha creado la pregunta Pág. 48 Memoria 8. Guía de uso herramienta Imagen 34. Menú principal (Elaboración propia). 8.1. Gestionar categorías de preguntas Imagen 35. Menú gestión de categorías (Elaboración propia). 1. Pulsar el botón “Gestionar categorías” del menú principal (véase la Imagen 34). 8.1.1. Generar una nueva categoría 2. Pulsar el botón “Genera una nueva categoría” (véase la Imagen 35). 3. En la ventana de diálogo que aparece, escribir el nombre de la categoría a generar y pulsar aceptar. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 49 8.1.2. Comprobar lista de categorías Imagen 36. Ventana con lista de categorías (Elaboración propia). 2. Pulsar el botón “Comprueba la lista de categorías” (véase la Imagen 35). 3. Comprobar en la ventana resultante (véase la Imagen 36) la lista de categorías y el número de preguntas que hay en cada una de ellas 8.1.3. Renombrar una categoría Imagen 37. Menú renombrar categoría (Elaboración propia). 2. Pulsar el botón “Renombra una categoría” (véase la Imagen 35). 3. Seleccionar de la lista desplegable la categoría a modificar (véase la Imagen 37). 4. Introducir en el campo de texto el nuevo nombre de la categoría (véase la Imagen 37). 5. Pulsar el botón “Renombrar categoría” (véase la Imagen 37). Pág. 50 Memoria 8.1.4. Eliminar categoría Imagen 38. Menú eliminar categoría (Elaboración propia). 2. Pulsar el botón “Elimina una categoría” (véase la Imagen 35). 3. Seleccionar de la lista desplegable la categoría a eliminar (véase la Imagen 38). 4. Pulsar el botón “Eliminar categoría” (véase la Imagen 38). 8.2. Gestionar preguntas Imagen 39. Menú gestión preguntas (Elaboración propia). 1. Pulsar el botón “Gestionar preguntas” (véase la Imagen 34) del menú principal. 8.2.1. Crear preguntas 2. Escoger el botón adecuado a pulsar en función del tipo de pregunta a generar (véase la Imagen 39) a. “Crea preguntas V/F” en caso de preguntas del tipo verdadero/falso. b. “Crea preguntas multirespuesta” en el caso de preguntas del tipo preguntas de respuesta múltiple. c. “Crea preguntas numéricas” en el caso de preguntas del tipo numérico. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 51 Imagen 40. Menú pregunta V/F (Elaboración propia). 3. Rellenar los campos desplegables y de texto correspondientes en función del tipo de pregunta escogido. Aquellos campos cuyo título esté en cursiva son opcionales (véase la Imagen 40) . 4. Pulsar el botón “Añadir pregunta”. 8.2.2. Eliminar preguntas 2. Pulsar el botón “Elimina preguntas” (véase la Imagen 39). Imagen 41. Menú selección categorías (Elaboración propia). 3. En la ventana que aparece, seleccionar del desplegable la categoría que contiene la pregunta que se quiere eliminar (véase la Imagen 41). 4. Pulsar el botón “Escoger categoría” (véase la Imagen 41). Pág. 52 Memoria Imagen 42. Menú selección pregunta (Elaboración propia). 5. En la ventana que aparece, seleccionar la pregunta que se desea eliminar (véase la Imagen 42. 6. Pulsar el botón “Eliminar pregunta” (véase la Imagen 42). 8.3. Gestionar imágenes Imagen 43. Menú gestión imágenes (Elaboración propia). 1. Pulsar el botón “Gestiona el banco de imágenes” del menú principal (véase la Imagen 34). 8.3.1. Añadir una imagen 2. Pulsar el botón “Añade una imagen” (véase la Imagen 43). 3. En la ventana de diálogo que aparece, escoger la imagen que se desea añadir al banco de imágenes. 4. En la ventana de diálogo que aparece, introducir el nombre que se desea dar a la imagen. Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 53 8.3.2. Eliminar una imagen 2. Pulsar el botón “Elimina una imagen” (véase la Imagen 43). Imagen 44. Menú eliminar imágenes (Elaboración propia). 3. Seleccionar del menú desplegable la imagen que se desea eliminar (véase la Imagen 44). 4. Pulsar el botón “Eliminar imagen” (véase la Imagen 44). 8.4. Cuestionarios aleatorios Este menú permite generar cuestionarios con preguntas de diferentes categorías. 1. Pulsar el botón “Genera cuestionarios aleatorios” del menú principal (véase la Imagen 34). Imagen 45. Menú generación cuestionarios aleatorios (Elaboración propia). 2. En la ventana que aparece, se debe introducir para cada categoría cuantas preguntas se quieren incluir de ella en el cuestionario (véase la Imagen 45). 3. Pulsar el botón “Genera el archivo” (véase la Imagen 45). 4. En la ventana de diálogo que aparece, introducir el nombre que se quiere dar al Pág. 54 Memoria cuestionario. 5. En la siguiente ventana de diálogo que aparece, seleccionar en que carpeta se quiere guardar el archivo para importar en Moodle. 6. En la última ventana de diálogo, escoger el nombre que se quiere dar al archivo para importar en Moodle. 8.5. Exportar categorías de preguntas 1. Pulsar el botón “Exporta categorías a Moodle” (véase la Imagen 34). Imagen 46. Menú selección categorías (Elaboración propia). 2. Seleccionar de la ventana de diálogo que categorías se quieren incluir en el archivo a importar en Moodle (véase la Imagen 46). 3. Pulsar el botón “Genera el archivo” (véase la Imagen 46). 4. En la ventana de diálogo que aparece, seleccionar en que carpeta se quiere guardar el archivo para importar en Moodle. 5. En la siguiente ventana de diálogo, escoger el nombre que se quiere dar al archivo para importar en Moodle. 8.6. Modo avanzado de edición 1. Pulsar el botón “Edita manualmente (modo avanzado)” del menú principal (véase la Imagen 34). 2. Ir a la hoja Excel con el nombre de categoría que interese editar. 3. Rellenar manualmente las filas de la hoja con los datos de las preguntas a añadir en las columnas de la A la U (véase la Imagen 47). Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 55 Imagen 47. Edición en modo avanzado (Elaboración propia). 4. Una vez acabado, ir a la hoja llamada “Índice categorías” y pulsar el botón “Lanzar modo guiado” (véase la Imagen 48). Imagen 48. Hoja "Índice categorías" (elaboración propia). 5. Generar la hoja para importar en Moodle según se indica en la sección Exportar categorías de preguntas. Pág. 56 Memoria 9. Presupuesto En la Tabla 1 se puede observar el desglose del coste del desarrollo de la herramienta. Tabla 1. Presupuesto proyecto (Elaboración propia). El coste se ha calculado teniendo en cuenta que tanto software (en este caso, licencias Microsoft Office y Windows) y Hardware (Ordenador) están amortizados, ya que tienen más de 5 años de antigüedad. El coste de los suministros (electricidad e internet) se ha incluido en los gastos generales del proyecto. Concepto Cantidad Coste unitario Precio 9.000,00 € Desarrollo 220h 30€/h 6.600,00 € Redacción memoria técnica 80h 30€/h 2.400,00 € 30,00 € Software 0 años 20€/año 0,00 € Hardware 0 años 200€/año 0,00 € Mobiliario 0,5 años 60€/año 30,00 € 2.190,90 € 900,00 € 1.290,90 € 11.220,90 € 2.356,39 € 13.577,29 € Beneficio industrial (13% sobre el total del resto de partidas) Suma todas las partidas de gasto Ingeniería (coste total) Amortizaciones (calculadas a 5 años) Otros conceptos Mano de obra cualificada IVA (21%) Precio final desarrollo herramienta Impuestos Precio antes de impuestos Gastos generales (10% sobre el precio de mano de obra) Herramienta basada en VBA para generación de bancos de preguntas en Moodle Pág. 57 10. Impacto ambiental El impacto ambiental del proyecto está limitado al consumo eléctrico durante la fase de diseño y uso de la herramienta. Al considerar que esta herramienta permitirá ahorrar tiempo a los docentes, y, por tanto, reducir sus horas en el ordenador, se podría considerar que a largo plazo la herramienta puede ayudar a reducir el consumo energético de las instituciones académicas que adopten la herramienta. Además, el uso de cuestionarios y exámenes “on-line” permite reducir drásticamente el uso de papel, con un efecto muy positivo sobre el medio ambiente.