Módulo de Tests de Estilos de Aprendizaje

noviembre 2, 2011

En el Centro de Innovación para la Sociedad de la Información (CICEI) de la Universidad de Las Palmas de Gran Canaria (ULPGC) se ha estado investigando desde hace años acerca de los estilos de aprendizaje. Y hace ya un tiempo se desarrolló un módulo que permite en Moodle 1.9 la definición y evaluación de nuevos tests de estilos de aprendizaje. Por defecto viene definido el CHAEA (Cuestionario Honey-Alonso de Estilos de Aprendizaje). Las características principales del módulo son las siguientes:

  • Permite la definición interactiva (desde la zona de administración del módulo) de nuevos test mediante una sucesión de páginas que irán solicitando la información necesaria.
  • Permite exportar/importar tests a/desde un fichero en formato XML.
  • Permite a los alumnos realizar un test y ver sus resultados (en forma gráfica y mediante tablas) comparados con la media de los alumnos del curso, con la media de todos los alumnos de la categoría a la que pertenece el curso y con la media de todos usuarios de la plataforma.
  • Permite a los profesores ver las respuestas a cada pregunta y los resultados (comparados también con las tres medias que se mencionan en el punto anterior) de todos los alumnos del curso, así como obtener distintas estadísticas (número de alumnos del curso en los que predomina cada estilo, puntuaciones máximas y mínimas obtenidas, número de alumnos que marcó cada respuesta posible para cada pregunta, …).

Para usar los resultados de un test en un curso, puede combinarse el uso de este módulo con la Implementación de Condicionales del CICEI, de la que hablé en su día en este post, pudiendo entonces condicionar la aparición de cada actividad o recurso de un curso a:

  • que el participante haya realizado determinado test de estilos de aprendizaje
  • que en un participante sea predominante un estilo de aprendizaje concreto de entre los que contemple el test usado

El módulo contiene una carpeta llamada example-tests con varios tests de ejemplos en formato .xml, entre los que se encuentran, gracias a Joachim Vogelgesang, el CHAEA en Alemán (CHAEA_Deutsch.xml) y el Kolb/Honey-Mumford también en Alemán (KHM_modifiziert_Deutsch.xml).

Todos los textos y mensajes de ayuda están en Inglés, en Español-Internacional y en Alemán (esta última traducción gracias a Joachim Vogelgesang).

NOTA: El módulo se desarrolló entre el 2004 y el 2005 (fué parte de mi Proyecto de Fin de Carrera junto con la Implementación de Condicionales mencionada anteriormente) para versiones viejas de Moodle y en el 2009 se modificó lo justo y necesario para que funcionase en la versión 1.9. Así que, por ejemplo, usa funciones de la deprecatedlib.php para obtener los estudiantes de curso, crea la base de datos mediante mysql.php y postgres7.php en lugar de install.xml, …

Algunos enlaces de interés relacionados con el módulo son lo siguientes:

Bloque de cálculo del tiempo de dedicación para Moodle

octubre 17, 2011

Hace algún tiempo desarrollé para el Centro de Innovación para la Sociedad de la Información (CICEI), de la Universidad de Las Palmas de Gran Canaria (ULPGC), un bloque que permite consultar el tiempo estimado de dedicación de los miembros de un curso en un periodo cualquiera en Moodle 1.9, facilitando así tanto la labor de seguimiento del tutor sobre los estudiantes como la de un coordinador sobre los tutores.

Para entender el funcionamiento del bloque, antes que nada es importante tener en mente los dos conceptos siguientes:

  • sesión: conjunto de dos o más clics consecutivos en el que el tiempo transcurrido entre cada par de clics consecutivos no supera un máximo establecido.
  • duración de una sesión: tiempo transcurrido entre el primer y el último clic de la misma.

De modo que el bloque permite obtener tanto la dedicación total (suma de la duración de cada sesión) de todos los participantes del curso o la dedicación detallada (duración de cada una de las sesiones) de un participante.

Para usar el bloque, haces clic en el enlace que aparece en el mismo y te aparecerá una pantalla desde la que puedes introducir los siguientes datos:

  • Inicio del periodo para el que queremos calcular la dedicación al curso, por defecto la fecha de comienzo del curso.
  • Fin del periodo para el que queremos calcular la dedicación al curso, por defecto la fecha y hora actual.
  • Tiempo máximo (en minutos) entre clics consecutivos para que se consideren pertenecientes a una misma sesión, por defecto 60 minutos.

Una vez hecho esto, aparecerá una pantalla con los participantes del curso. Para confeccionar dicha lista de participantes se cogen los usuarios que tengan asignado un rol, en el contexto del curso en cuestión, que les permita ver el curso (no se tienen en cuenta el permiso para ver el curso heredado de contextos superiores) y que no sea el de administrador ni creador de cursos. Así que por defecto devuelve profesores (con y sin derecho a edición) y alumnos del curso. Dicha lista de participantes es ordenable por nombre y apellidos. Y desde aquí podemos ejecutar dos acciones.

Acción 1: pinchar en el nombre de uno de los participantes. Nos aparecerá una lista con la fecha de comienzo y la duración de cada una de sus sesiones, ordenable tanto por inicio de sesión como por duración de las sesiones:

Acción 2: hacer clic en el botón Mostrar dedicación total de los miembros. Nos aparecería una lista con todos los participantes y su tiempo total de dedicación al curso, ordenable por nombre, por apellido y por tiempo de dedicación:

Desde esta pantalla, a su vez, podemos ejecutar dos acciones. La primera sería pinchar en el nombre de uno de los participantes, equivalente a la Acción 1mencionada anteriormente. Y la segunda sería descargar la dedicación total de todos los participantes del curso en un documento en formato Excel, donde el formato de cada fila sería:

  • primera celda: apellidos, nombre
  • segunda celda: tiempo de dedicación total en formato [HH]:MM

Al instalar el bloque se añade una nueva habilidad a los roles: Consultar dedicación al curso. Por defecto sólo la tiene permitida el rol administrador, y hay que tener en cuenta que en cada instancia del bloque se hacen las siguientes comprobaciones:

  • Si el bloque es sticky se comprueba que el usuario que está accediendo tenga permiso para ver la dedicación al curso en el contexto del curso.
  • Si el bloque no es sticky se comprueba que el usuario que está accediendo tenga permiso para consultar la dedicación al curso en el contexto del bloque.

Todos los textos están en Español-Internacional, Inglés, Portugues-Brasil y Alemán.

Algunos enlaces de interés relacionados con el bloque son lo siguientes:

Bloque de Envío de SMSs para Moodle

octubre 5, 2011

Hace algún tiempo desarrollé en el Centro de Innovación para la Sociedad de la Información (CICEI) de la Universidad de Las Palmas de Gran Canaria (ULPGC), un bloque que permite enviar SMSs en Moodle 1.9. No se me había ocurrido publicarlo en el blog hasta ahora, más vale tarde que nunca🙂

Al instalar el bloque se añaden dos nuevas habilidades a los roles: Configurar el bloque y Enviar SMS. Por defecto el único que tiene permitidas dichas habilidades es el rol administrador. IMPORTANTE: Por motivos de seguridad, sólo los usuarios con la habilidad Configurar el bloque en el contexto del sitio permitida podrán configurar el bloque, no podrán hacerlo el resto de usuarios aunque tengan dicho permiso en un contexto inferior. Y cualquiera con la habilidad Enviar SMS permitida en el contexto del bloque podrá enviar SMSs.

El bloque puede ser añadido, como todos los bloques de Moodle, por cualquier usuario con derechos de edición. Sin embargo, para ser usado debe configurarse previamente (teniendo en cuenta lo mencionado en el párrafo anterior). Dicha configuración consiste en seleccionar el proveedor a usar y una cuenta de usuario existente (nombre de usuario y contraseña) en dicho proveedor.

Una vez configurado, desde la página principal del sitio podrán enviar SMSs a todos los usuarios de la plataforma y desde un curso a todos los participantes del mismo. Para enviar un SMS hay que hacer click en el enlace Enviar que aparece en el bloque. A continuación nos saldrá una lista de usuarios similar en apariencia y funcionamiento a la de Participantes de Moodle. En dicha lista seleccionamos los usuarios deseados y le damos al botón Enviar, que se encuentra en la parte inferior de la página. En la siguiente pantalla nos aparece un cuadro de texto en el que podemos introducir el texto del SMS y un contador de caracteres cuyo valor inicial depende del proveedor seleccionado. Desde esta página también podemos eliminar destinatarios y volver a la página anterior (la que contiene la lista de usuarios) para seleccionar más usuarios.

Puedes añadir nuevos proveedores extendiendo una clase del bloque de acuerdo a las instrucciones que se encuentran en el archivo providers/readme.txt dentro del bloque. Con el bloque se incluye un proveedor que funciona en España, así que puedes probarlo creando una cuenta en dicho proveedor o puedes añadir un nuevo proveedor.

El bloque comprueba que los números de teléfono móvil sean válidos de acuerdo al formato de números móvil de España.

Todos los textos del bloque se encuentran en Inglés y en Español-Internacional.

Algunos enlaces de interés relacionados con el bloque son lo siguientes:

Nuevos plugins para Elgg

octubre 16, 2009

De los nuevos plugins que han salido para Elgg, en los últimos 100 días aproximadamente, describo brevemente a continuación los que me han parecido más útiles teniendo en mente la futura migración de la Red Social “Sociedad y Tecnología”, puesta en marcha por el CICEI, a la última versión de Elgg. Pinchando en el nombre de cualquiera de ellos se puede ver más información del mismo desde la descripción original del plugin en elgg.org.

  • Footer addthis button: plugin para que aprezca en elgg el típico enlace SHARE en los pie de página para compartir contenido (a digg, facebook, twitter, delicious, …).
  • Editable Page Titles: permite editar los títulos de las páginas de elgg.
  • Elgg Developer Tools: para desarrolladores (ver variables globales, vistas, eventos, mostrar errores, …).
  • Custom Profile Fields: gestión de campos del perfil de usuario.
  • Mass Mailout (improved): enviar correos en masa (para la versión 1.6 de Elgg).
  • Full Text Search: búsqueda full text.
  • Survey Plugin: permite a los administradores gestionar encuestas y ver gráficas de resultados y a todos los usuarios responder una sola vez a cada encuesta.
  • Threaded Blog Comments: permite comentarios anidados en los blogs.
  • Simplepie Extension: permite asignar una feed a un grupo pero no muestra los contenidos en Elgg, sino que muestra los títulos de los posts y al pinchar en  ellos vamos al sitio original. Y además no integra dichos posts en las discusiones de los grupos, sino que sería un apartado más de los grupos (además de las discusiones, los archivos, …). Y tampoco usa el cron.
  • Username Focus: instalando este plugin cuando vayamos a la página principal de Elgg el cursor aparecerá en el campo usuario del formulario de login, evitándonos tener que hacer clic en dicho campo. Un pequeño detalle bastante útil.
  • Trackback2ElggRiver: permite a los usuarios postear notificaciones al river de Elgg (actividad reciente) desde sitios externos usando trackbacks.
  • Group Admin Transfer: permite a un usuario propietario de un grupo transferir la pertenencia de dicho grupo a otros usuarios. Está pensado para el borrado de usuarios, puesto que en Elgg al borrar a un usuario desaparecen todos sus contenidos, incluyendo grupos.
  • Canvas Menu: añade un menú con diversas opciones a la parte superior de todas las páginas.
  • Autotag: para añadir automáticamente etiquetas a las entradas de los blogs (con un algoritmo de extracción de palabras clave).
  • Notificationsplus: permite que cuando un miembro se una a un grupo le aparezca una página para definir las notificaciones que quiere recibir de los eventos asociados a dicho grupo.

Implementación de Condicionales para Moodle

junio 12, 2009

Hace varias semanas se presentó a la comunidad de Moodle una implementación de Condicionales que a día de hoy está disponible para las versiones 1.9.4 y 1.9.5 de Moodle. La historia de esta implementación se remonta a 2004, año en que empecé mi Proyecto de Fin de Carrera que tuvo por resultado una primera versión de los condicionales y un módulo para Moodle que permitía definir y aplicar tests de estilos de aprendizaje, presentados a la comunida de moodle en 2005. En Junio de 2006 leí dicho proyecto y desde entonces he sido colaborador del CICEI. Se ha seguido trabajando en el tema de los condicionales y con la última versión presentada, que es la que nos ocupa, se puede condicionar la aparición de cada actividad o recurso de un curso de Moodle a:

  • que se haya o no enviado una tarea
  • la calificación (numérica o escala personalizada) obtenida en una tarea
  • que se haya o no accedido a un libro
  • que se haya o no participado en un chat
  • que se haya o no respondido a una consulta
  • la respuesta dada a una consulta
  • el número de discusiones (hilos) iniciadas en un foro
  • el número de mensajes (los inicios de discusiones o hilos también se consideran mensajes) enviados a un foro
  • el número de mensajes de respuesta obtenidos en un foro
  • la calificación (numérica o escala personalizada) obtenida en un foro
  • el número de entradas añadidas a un glosario
  • el número de comentarios hechos a términos de un glosario
  • la calificación obtenida en una lección
  • la respuesta dada a una pregunta de tipo “opción múltiple”, “verdadero/falso”, “respuesta corta” o “numérica” determinada de una lección
  • el número de emparejamientos correctos hechos en una pregunta de tipo “emparejando” determinada de una lección
  • la calificación obtenida en una pregunta de tipo “ensayo” determinada de una lección
  • la calificación obtenida en un cuestionario
  • la respuesta dada a una pregunta de tipo “respuesta corta”, “verdadero/falso”, “opción múltiple”, “numérica” o “calculada” determinada de un cuestionario
  • el número de emparejamientos correctos hechos en una pregunta de tipo “correspondencia” determinada de un cuestionario
  • el número de aciertos en una pregunta de tipo “emparejando respuestas cortas aleatoriamente” determinada de un cuestionario
  • el número de veces que se ha editado un wiki
  • la calificación obtenida en un taller
  • que se haya accedido a un recurso
  • que el idioma del participante sea distinto o igual a uno cualquiera de los idiomas disponibles en el sitio
  • que el país del participante sea distinto o igual a uno cualquiera de la lista de paises
  • el tiempo transcurrido (en días) desde el primer clic del participante en el curso
  • el tiempo transcurrido (en días) desde la fecha de inicio del curso
  • el tiempo transcurrido (en días) desde una fecha concreta

Otras características generales:

  • Las condiciones para una actividad concreta deben establecerse en una nueva pestaña que aparece en la configuración de la actividad. Los condicionales pueden activarse/desactivarse desde la configuración de cada curso.
  • Los condicionales establecidos en un curso se almacenan/restauran con las copias de seguridad del curso.
  • Este parche además permite resaltar las actividades nuevas de un curso (aquellas en las que un participante nunca ha hecho clic) por medio de la etiqueta “NUEVO” o de una etiqueta personalizada. Por defecto las actividades no se resaltan. Todo esto se controla desde la configuración del curso.
  • Este parche además permite establecer un texto asociado a una actividad (desde una nueva pestaña llamada “Información de actividad” que aparece en la configuración de la actividad). Este texto le aparecerá a un participante en la página principal del curso y justo encima de la actividad en cuestión, hasta que acceda a dicha actividad. Una vez que el participante haya accedido a la actividad dicho texto desaparecerá de la página principal del curso aunque se podrá acceder mediante el botón de ayuda que aparece al lado del nombre de la actividad.
  • Se añaden nuevas habilidades a los roles:
    • Activar/desactivar condicionales
    • Crear condicionales
    • Asignar información de actividad
  • Todos los textos se encuentran en Inglés y en Español-Internacional (es).

Para los que este interesados en el tema, esta y otras implementaciones pueden descargarse desde aquí y existe una discusión en español y otra discusión en inglés. También hay disponible un curso explicando los condicionales en el que se describe su funcionamiento y desde el que se pueden hacer pruebas de los mismos.

Prueba de migración de Elgg 0.9.2 a Elgg 1.5

abril 23, 2009

El CICEI lanzó en enero de 2007 la Red Social “Sociedad y Tecnología”, en la que hay, en este momento, 834 usuarios registrados. Y más que comentar de qué se habla en la red insto a los interesados a echarle un vistazo a la nube de etiquetas, con lo que podrán hacese una idea más personal. Sociedad y Tecnología se encuentra implementada con la herramienta de creación de redes sociales y comunidades Elgg.

Pues bien, a finales del 2008 salió la versión 1.0 de Elgg, que cambiaba y mejoraba considerablemente con respecto a las versiones anteriores. Después de probarla decidimos que queríamos actualizar Sociedad y Tecnología a dicha versión, pero no era algo trivial. Lamentablemente la herramienta Elgg, a partir de su versión 1.0, dejó de contemplar la actualización desde versiones anteriores a la 1.0. Aunque afortunadamente Elgg tiene una comunidad de desarrolladores bastante activa y recientemente se han lanzado dos herramientas, que he estado probando, para migrar de la versión 0.9.2 a la 1.5. Son las siguientes:

  1. Migration Tool 1.0 (1.0 – beta): Escrito en PHP (requiere la librería Pear::Console_CommandLine). No es un plugin de Elgg sino un conjunto de scripts que se ejecutan desde fuera de Elgg. No hace la migración de archivos (incluyendo los avatares de los usuarios), no exporta correctamente algunos posts (creo que la migración se detiene desde que encuentre un post que contenga el carácter (comilla simple) aunque no lo he verificado), trastoca algunos ajustes, como por ejemplo el permiso para unirse a las comunidades.
  2. Migration 0.9 -> 1.5 plugin for all data: Consta de dos partes. Una serie de scripts escritos en Ruby para hacer la exportación y un plugin de Elgg que proporciona un widget para insertarlo en el dashboard y desde el que se hace la importación. Todo (incluyendo archivos) se exporta/importa usando el protocolo Open Data Definition. La importación se detiene si encuentra un nombre de usuario con sólo tres caracteres, aunque este problema se podrá solventar fácilmente cambiando los nombres de usuario y poniéndonos en contacto con ellos puesto que en nuestro caso son pocos. Si no usas un sistema de autentificación externa las contraseñas de usuario no se migran correctamente, aunque este problema se solventa haciendo uso de la opción recordar contraseña. Por lo demás funciona perfecto, salvo lo siguiente: la importación se detiene desde que encuentre un post con el carácter (comilla simple). Sin embargo, se lo hice saber al creador y dice que lo va a arreglar.

Después de hacer pruebas de migración con ambas herramientas me decanto por la segunda de ellas. Así que, desde que el autor corrija el fallo que comenté (lo de la comilla simple que detiene la importación) se podrá hacer la migración de Sociedad y Tecnología a la versión 1.5.

La única pega es que se perderán algunas funcionalidades, en concreto las siguiente:

  • CV Europass (KiteCV)
  • Presentaciones (presentation)
  • Agregador RSS (resources)
  • Widgets del perfil de los usuarios

Así que estamos trabajando en la forma de minimizar el impacto, yo por mi parte probando las nuevas funcionalidades de Elgg y los plugins que desarrolla la comunidad. De momento, veo que el Agregador RSS de la 0.9.2 podría mapearse al plugin feeds de la 1.5 y que algunos widgets del perfil de la 0.9.2 podrían mapearse a widgets del perfil de la 1.5, aunque conllevaría meterse en desarrollo y habrá que ver si vale la pena.

En cualquier caso, cuando se haga la migración, contaré la experiencia.