Archive | Labor docente RSS for this section

Formato GIFT, el mejor amigo de los cuestionarios Moodle

A la hora de hacer un cuestionario Moodle, rápidamente descubrimos que crear cada pregunta puede llevarnos una cantidad considerable de tiempo.

Si bien podemos ir creando las mismas a medida que avanza la cursada y agregándolas al Banco de preguntas, no suele ser la forma más común de crear un Cuestionario. En general, la mayoría de los docentes lo creamos al estar cerca la finalización de la unidad, cuando ya sabemos bien que temas y con que profundidad entrarán en la evaluación.

La solución que nos permite optimizar el uso de nuestro tiempo de preparación del cuestionario se llama “Formato GIFT” (General Import Format Technology – Tecnología de Formato General de Importación).

Se trata de un lenguaje de escritura de preguntas usando texto plano, que permite escribir las mismas en cualquier editor de texto plano (como: Bloc de notas, pluma, gedit, noteeditor, Notepad++, etc.) y luego importar esas preguntas al Banco de preguntas de nuestro Curso en Moodle.

Pese a lo que pueda parecer inicialmente, aprender este lenguaje puede ser bastante simple, dado que está pensado para no-informáticos.

Dentro de las preguntas que podemos hacer, se encuentran:

  • Opciones múltiples
  • Verdadero/Falso
  • Respuesta corta
  • Palabra faltante
  • Emparejamiento
  • Respuestas numéricas
  • Ensayo

Vayamos directamente a como usarlo:

1°) Deberíamos escribir las preguntas en un lenguaje coloquial, de manera que podamos poner la pregunta y la respuesta. Por ejemplo:

¿Dónde se instala el Gestor de arranque?

    En el MBR del disco.

2°) Una vez que tenemos una cantidad considerable de preguntas (les recomiendo generar muchas más preguntas que las que van a poner en el cuestionario… para entender el por qué, le recomiendo leer este artículo de la Lic. Iris Fernandez), las pasaremos a formato GIFT, en otro documento de texto. Esto ser vería así:

::P1:: ¿Dónde se instala el Gestor de arranque?
{ =En el MBR del disco principal #Respuesta correcta 
~En el MBR del pendrive #Incorrecto, debería instalarse en el MBR del disco principal 
~En el pendrive #Incorrecto, debería instalarse en el MBR del disco principal 
~En el mismo medio de instalación #Incorrecto, debería instalarse en el MBR del disco principal
}

Observen que en este paso, agregué respuestas incorrectas a la pregunta. La clave en esto será que las respuestas incorrectas no sean demasiado obvias. De eso dependerá en gran medida la efectividad del examen. Hay docentes que ponen diferencias demasiado sutiles entre las opciones verdaderas y falsas y otros que ponen algunas demasiado obvias. Como en la mayoría de las cosas, el punto óptimo debería estar en un lugar intermedio.

3°) Guardamos el archivo con extensión .txt y lo subimos al curso usando la opción Banco de preguntas > Importar, en el panel lateral del curso.

banco de preguntas importar

Luego de hacer esto, podremos elegir nuestro archivo guardado en la computadora para subirlo al Banco de preguntas a la vez que le decimos al sistema en que formato se encuentra. Tal como lo muestra la siguiente figura:

Importar_preguntas_de_un_archivo_-_2016-05-28_16.46.28

Es importante que nos aseguremos que el archivo generado tenga codificación UTF-8, dado que si es otra (como la codificación Latin-1 que utiliza windows por defecto). Para los usuarios de entorno windows, la recomendación es usar el editor Notepad++, ya que el mismo permite elegir la codificación cuando guardamos el archivo.

Para saber más sobre como pasar a codificación UTF-8, podemos ver en el siguiente enlace.

Vayamos directo a como hacer estos archivos GIFT…

Opciones múltiples

La pregunta siempre debe estar precedida por dos juegos de caracteres :: y entre ambos el nombre de la pregunta. La recomendación para esto es ponerle un nombre que nos sirva como indicador que nosotros podamos reconocer, como P1-Arranque. Luego de esto viene el texto propio de la pregunta:

::P1-Arranque:: ¿Dónde se instala el Gestor de arranque?

A continuación de esto, vienen las respuestas. Primero se coloca la respuesta correcta, aunque cuando los alumnos vean las opciones, éstas se ubicarán en cualquier posición de la lista.

{ =En el MBR del disco principal #Respuesta correcta 
~En el MBR del pendrive #Incorrecto, debería instalarse en el MBR del disco principal 
~En el pendrive #Incorrecto, debería instalarse en el MBR del disco principal 
~En el mismo medio de instalación #Incorrecto, debería instalarse en el MBR del disco principal
}

Detalles para observar:

  • El bloque de respuestas está delimitado por las llaves {} . Son ellas las que muestran donde comienzan y terminan las opciones.
  • La opción correcta es la que comienza con el carácter =.
  • Las opciones incorrectas comienzan con el carácter ~. Este carácter se llama ñuflo y se pone con la combinación de teclas AltGr + ñ.
  • El carácter # (numeral) sirve para definir que lo que sigue es una retroalimentación de la pregunta que recibirá el alumno después de haberla contestado (luego de contestar todo el cuestionario, en general).

Verdadero/Falso

Estas, no son preguntas, sino afirmaciones. Y se pueden usar de muchas formas, no son algo trivial o poco útil. En muchos casos, podemos hacer dos afirmaciones a partir de una misma que hayamos pensado. En un caso por la afirmativa y en otra por la falsedad. Eso sirve para evitar que los alumnos tomen a la ligera el examen o que alguien tenga la tentación de contestar lo mismo que el compañero, sin pensar en lo que le preguntan.

A continuación, un ejemplo de como hacer dos preguntas de una sola.

::P6-RAID:: El nivel RAID 0, sirve para distribuir equitativamente los datos entre dos o más discos. {T}
::P7-RAID:: El nivel RAID 0, sirve para espejar los datos entre dos o más discos {F}

La primera afirmación es correcta, por eso termina con la sentencia {T} (True = Verdadero). En cambio la segunda, muestra una característica de algo que se llama RAID 1 (sin importar que sea esto, utilizo como ejemplo un cuestionario que tenía hecho para una de mis materias… Laboratorio de Sistemas Operativos). En este caso termina con la sentencia {F} (False = Falso).

Respuesta corta

Este tipo de preguntas sirven para ver la capacidad de nombrar cosas por parte del alumno que deberían ser importantes para la unidad temática o materia. Consiste en realizar la pregunta de manera que se pueda contestar con una o dos palabras. En caso que esperemos una respuesta de muchas palabras, podría darse el caso que por un género o número incorrecto, ya el sistema tome como incorrecta la respuesta. También podemos poner varias opciones de como se podría escribir la respuesta y seguir siendo correcta.

Por ejemplo:

::P2-Definiciones:: ¿Qué es Linux?
{=Sistema Operativo =Un Sistema Operativo =kernel =un kernel =un kernel de sistema operativo}

Importante: Por defecto, no hay diferencia entre mayúsculas y minúsculas. Observe que las dos primeras respuestas correctas contienen mayúsculas pero las tres siguientes no. En todos los casos serán consideradas respuestas correctas por más que se escriba con cualquier capitalización. Es decir:

Es lo mismo contestar: kernel, que Kernel, que KERNEL. Todas se toman como correctas.

Palabra faltante

Esta es una variante de la anterior, tan parecida que si la palabra que falta se debe poner al final de la frase, el formato de escritura es igual.

Podemos usar esta variante cuando queremos determinar si el alumno es capás de reconocer un faltante. Por ejemplo:

::P14-Controladores:: Escriba los cuatro comandos (o archivos) importantes para detectar el componente de hardware que tiene problemas de controlador:
lspci, { =lsusb }, lshw, /var/log/syslog

Observe que la palabra faltante está entre llaves y dejando espacios entre las mismas y el contenido.

Emparejamiento

Este tipo de preguntas se usan para relacionar elementos de dos conjuntos. Por ejemplo: países con sus capitales; libros con sus escritores; batallas con sus generales; etc.

La estrategia para escribirlo es aprovechar el lenguaje GIFT para realizar las parejas de elementos correctos, de manera que el sistema se lo presente al alumno desordenado para que este lo ordene. Un par de ejemplos de como escribirlo:

::P13-Paquetes:: Emparejar los comandos equivalentes entre APT y URPMI
{
=apt-get install .... -> urpmi ....
=apt-cache search .... -> urpmf ....
=apt-get update -> urpmi.update
=apt-get remove .... -> urpme ....
}

::P2-Instalacion:: Ordene las etapas de una instalación de las vistas en clase.
{
=1 -> Preparación del medio de instalación
=2 -> Acondicionamiento del equipo para elegir el medio de booteo
=3 -> Carga de datos iniciales
=4 -> Copia de archivos
=5 -> Carga de datos finales
=6 -> Copia del cargador de arranque
=7 -> Reinicio
}

Los caracteres importantes a utilizar son: El signo = para indicar que comienza una línea de emparejamiento y los signos -> para indicar que comienza la opción a emparejar.

Observe que en el primer ejemplo, uso dos cadenas de texto que denotan una equivalencia entre sistemas que realizan la misma tarea. Siendo un ejemplo clásico. En cambio en el segundo ejemplo, el primer conjunto es una numeración que ordena los pasos del segundo conjunto.

Respuesta numérica

Este tipo de pregunta se parece en algún sentido a las de respuesta corta. La diferencia es que la respuesta en estas preguntas deben ser dadas en números, según alguna de estas variantes:

::P22-San Martin:: ¿En qué año nació don José de San Martín? {#1778:5}

En este caso, la respuesta correcta es 1778, pero el sistema aceptará como correcta cualquier respuesta con un error de 5 años respecto del propuesto.

::P22-San Martin:: ¿En qué año nació don José de San Martín? {#1773..1783

En este caso, directamente ponemos el mínimo y máximo que se considera respuesta correcta.

Ensayo

El último, pero no menos importante tipo de pregunta, es esta. Nos da la posibilidad de tener preguntas abiertas, donde como docentes deberemos corregir cualitativamente la respuesta.

En estas preguntas, la calificación debe esperar al docente. Es decir que si ponemos preguntas tipo ensayo, la calificación no les aparecerá de inmediato a los alumnos.

El formato es el siguiente:

::P33-SL:: Explique, en sus palabras, qué es el software libre y que lo caracteriza. {}

Este es el más simple de todos los formatos, dado que solo requiere un conjunto de llaves al final de la pregunta, sin nada en su interior {}.

Más información

Dado que este documento no pretende ser todo respecto del formato, sino una guía de inicio, les dejo algunas referencias útiles para profundizar el conocimiento.

https://docs.moodle.org/all/es/Formato_GIFT

http://buypct.com/gift_reference.pdf

http://docencia.udea.edu.co/lms/moodle/help.php?module=quiz&file=formatgift.html

Horarios de materias… el cuco que asusta a los directivos

Hoy me encuentro con un post en Facebook de una amiga mía (Lic. Iris Fernandez) que decía:

Colegas, ¿Algún programa para armar horarios que sea tan inteligente como una persona? ¿O al menos como un ornitorrinco?

Iris es una persona que comparte de manera admirable sus conocimientos sobre educación y tecnología. Por esa razón cada vez que tira este tipo de preguntas suele tener muchísimas respuestas de gente que quiere poner su granito de arena para ayudarla. Entre muchas ideas cortas y algunas desacertadas, encontré una que fue realmente como la realidad revelada ante mis ojos:

Verónica Pena. La cantidad de variables, la locura asociada, la lógica lastimando esas espirales… Cuando percibí en ORT que cada vez se sumaba más gente (30 o más personas implicadas durante más de un mes de sesiones) a las reuniones de horarios (estamos hablando de 100 o más cursos, con muchas clases en laboratorios, menos intercambiables que las aulas comunes), en la que siempre había gente muy brillante y experta año tras año en la tarea (TODOS los años los horarios cambiaban MUCHO), me di cuenta de que también lo que hacían era socializar el conflicto: después de participar de ese trabajo, te ponías menos quisquilloso y agradecías cada mejora que se había logrado para que no tuvieras un bloque libre, para que un día entraras más tarde, para que no tuvieras todos los cursos en el mismo año y que no te quemes la cabeza, etcétera. Se volvía un trabajo entre compañeros (no importaba el cargo que tuviéramos): aparecían huecos, disponibilidades imprevistas que nos daban una felicidad casi infantil (como frente a un problema matemático). Siempre creíamos con angustia que era imposible, pero todos sabíamos que al final lo lográbamos y nos aplaudíamos en cada disolución de galletas que encadenaban hasta 8 cursos. (En otra época, esto lo hacía un pequeño grupo de gente cerrado y místico, pero -seguro- no eran felices. 🙂

Creo que esta respuesta no requiere explicación, al menos no me hizo falta a mí. Ya que se me ocurrieron muchas formas de hacerlo en las escuelas donde me toca el rol directivo.

Sí agregué mi granito de arena sobre el tema que fue este:

En respuesta a tu pregunta, estoy casi seguro que la aproximación a la solución de este problema se debería hacer usando grafos (http://es.wikipedia.org/wiki/Teor%C3%ADa_de_grafos…) y luego el lenguaje de programación que mejor se ajuste al caso (esto es lo menos importante).
Si esto es así de simple (un licenciado o ingeniero en sistemas lo podría explicar mucho mejor que yo), ¿por qué todavía no hay un software tan eficiente como un ornitorrinco para resolver el problema?
Entre otras respuestas, porque hay muy poca gente con el conocimiento de grafos como para resolverlo; los que tienen el conocimiento están trabajando mucho con otros problemas muy bien pagos; esta aplicación tampoco parece un desafío interesante para estas personas (están resolviendo redes de distribución de gas para países enteros o sistemas de horarios de trenes y colectivos para millones de personas.
Otra razón es que muy pocos saben lo tedioso e insatisfactorio que es el trabajo de crear horarios en una escuela… si lo querés hacer para lograr la mayor conformidad posible con: la distribución de horas de clases para los chicos, la eliminación de horas libres a los profes, la combinación con los horarios de los otros colegios de los profes, etc.
Otra razón es porque muchos directivos usan la adjudicación de horarios como un elemento de presión y persecución de los profesores que no le caen bien.
Pero de todo esto, que vengo pensando desde hace años, nada me llena más como respuesta que lo que dijo Verónica Pena. Resolver el problema en un grupo compuesto por los afectados por el horario, es la mejor forma de resolver el problema, no requiere computadoras (solo un pizarrón grande). Gracias por darme ideas.:-)

Crear cursos y migrar usuarios en Moodle 2.6.1

Cuando administramos un campus virtual no todo es mantener andando lo que ya funciona. En mi caso, este año me vi en un doble reto: Por un lado tenía que pasar de un campus corriendo en el servidor del colegio (que anda muy bien, pero que tiene un sistema de energía eléctrica y de conectividad que tiene caídas), a un campus hosteado en un servidor externo. Por otro lado, también tenía que hacer un upgrade del campus mismo, ya que la versión 2.4.1 temía que se quede vieja y pueda complicarme. Aparte, quería ver que cosas nuevas me ofrecía Moodle después de dos años.

En este artículo voy a hablar de dos de los temas que tuve que resolver:

Subir cursos

Bajo este nombre, aparece una nueva opción del menú Ajustes del sitio > Cursos. Y resulta que esto sirve para crear cursos de una manera muy similar a la que ya teníamos para crear usuarios. El principio de funcionamiento es crear un archivo tipo CSV (texto plano) con al menos tres campos obligatorios para cada curso: shortname, fullname y category. Aparte de estos hay muchas otras cosas que podríamos poner en el archivo para que nos pre-configure cada nuevo curso. No voy a explicar mucho más que esto del como se hace, porque ya está muy bien explicado en estos moodledocs:

http://docs.moodle.org/all/es/Subir_cursos

http://docs.moodle.org/all/es/A%C3%B1adiendo_un_nuevo_curso#Creaci.C3.B3n_masiva_de_cursos

Algunas consideraciones que pueden llegar a trabarnos por un rato:

  • Una vez que se elige el archivo a subir, cuidado porque el delimitador que moodle espera es punto y coma, en vez de solo coma. Hay que cambiarlo para que interprete correctamente.
  • En el archivo CSV no se pueden dejar espacios antes o después de los delimitadores porque deja de funcionar el sistema (en el caso de la creación de usuarios, eso no importaba).

Migrar usuarios

Otro de los problemas con que me encontré es que tengo más de 300 usuarios en el sistema del año pasado. No tengo intención de pasarlos a mano, no me gusta tocar cosas de la base de datos en forma directa y quería evitar todo lo posible que cada usuario tenga que volver a crearse su cuenta.

Encontré en un foro en inglés un truco tan simple como insospechado para mi. Se trata de traer a los usuarios “pegados” de un curso.

¿Cómo es esto?

Los cursos de cada año, me sirven de base para el año siguiente, de manera que el trabajo del profesor se reutiliza y mejora cada año. Para eso, hago un respaldo del curso en el campus del año anterior y lo restauro en el campus nuevo. En este año, incluso pude pasar de versión 2.4.1 a versión 2.6.1 de moodle sin contratiempos.

Como cada curso del colegio tiene de 11 a 14 cursos en el campus (uno por cada materia que se cursa), hice un respaldo de cada curso del colegio (por ejempo: 1° A) y en el respaldo incluí a los usuarios matriculados. El resto de los cursos (materias) no lo necesitaron más. Pero de esta manera, yo ya tengo como usuarios del campus a todos los alumnos que tenía el año anterior.

Consideraciones especiales de esto:

  1. Manualmente tengo que sacar a los alumnos que egresaron o se fueron por otro motivo del colegio.
  2. Tengo que dar de alta a los nuevos alumnos que ingresan (en mi caso eso lo hacen ellos mismos).
  3. Tengo que crear las cohortes y adjudicarle los alumnos según el curso en el que están (por ejemplo: Perez en 1° B, Gomez en 3° A, etc.).
  4. Si creo las cohortes en el nuevo campus con el mismo nombre que tenían en el viejo. Y lo hago antes de restaurar los cursos, no tendré que matricular nuevamente las cohortes una vez que esté restaurado este.

Espero que les sirva este artículo. Son bienvenidas las críticas y mejoras.

¿Por qué enseñar a programar en las escuelas?

Hace muchos años que estoy convencido que la programación es la expresión cultural de nuestro tiempo. Y que enseñar programación es un tema clave que todo chico debería conocer, sin importar a que se dedique en el futuro.

En este video se explica mejor el concepto:

La educación es solo un mapa

La educación, al entrar en la escuela, perdió el contacto con los criterios exteriores… de la naturaleza.

Hoy en día leemos los criterios que salen de los libros. Y el problema es que como son, muchos de ellos, verdaderos…

¿Para qué voy a ponerme a discutirlos?

Pero con eso, desvirtuamos el proceso educativo ¡qué es de descubrimiento!

No de aprendizaje de las verdades.

Dr. Carlos Calvo Muñoz

Una piedra en el zapato

Algunas veces, creo que nací solo para ser una piedra en el zapato.

No tiene más razón de ser, que la de recordarme que tengo pies, que debo cuidarlos y que me pueden doler.

Elproferoman

A %d blogueros les gusta esto: