Modificar el vocabulario de Moodle

Moodle es una plataforma LMS (Learning Management System) ampliamente utilizada. Se usa tanto en universidades como en institutos, empresas y todo tipo de proyecto. En cada contexto existen distintos términos para cada cosa, por eso es muy importante aprender a personalizar el paquete de idioma español.

En estos días instalé un Moodle 4.0.1, y lo primero que me chocó fue su mensaje de bienvenida en masculino: “Bienvenido a …”

Ya estoy muy acostumbrada a utilizar un lenguaje neutro, o por lo menos incluir femenino y masculino cada vez que me dirijo a un grupo, así que me puse a editar el lenguaje de mi plataforma para que sea más inclusiva en cuanto a género.

Cómo personalizar el idioma de la plataforma

Para personalizar el idioma de la plataforma hay que tener un usuario administrador.

Lo primero va a ser ir al menú “Administración del sitio”, “Idioma”, “Personalización del idioma”.

Administración del sitio / idioma / personalización del idioma

Lo primero que nos pregunta Moodle es cuál de los idiomas instalados vamos a personalizar. Allí en el desplegable elegimos nuestro paquete de idiomas (previamente instalado en la sección correspondiente).

A continuación vamos a elegir “Abrir el paquete de idioma para editar”.

Hacer clic en la opción "Abrir el paquete de idioma para editar"

Allí se nos mostrarán los diferentes archivos PHP que contienen cadenas de texto. Podemos seleccionar todos o algunos de ellos. Si no tenemos idea de dónde están las frases que queremos cambiar, seleccionamos todos.

Archivos seleccionadas y no seleccionadas para la búsqueda de cadenas. Debajo está la opción "Cadenas que contienen".

En la misma pantalla, debajo, encontramos la opción “Cadenas que contienen”, y allí escribimos la palabra o frase textual que queremos encontrar para personalizar. Por ejemplo, yo escribí “Bienvenido”.

El sistema me muestra todas las veces que encuentra la cadena “Bienvenido”, aunque esté incluida en otra cadena, por ejemplo “Bienvenidos” o “Bienvenido/a”. En cambio, si escribo “Bienvenidos”, no me va a mostrar las cadenas donde esta palabra esté en singular. Hay que pensar cuál es la unidad mínima de nuestra búsqueda.

A la derecha tenemos la columna “Traducción local personalizada”, donde escribiremos nuestra frase. Si hay contenido entre llaves tenemos que escribirla exactamente igual, porque gracias a estas cadenas con variables se mostrará por ejemplo el nombre de usuario, el nombre del curso, etc.

Pantalla que muestra las cadenas encontradas y la traducción local personalizada. Por ejemplo: "¡Bienvenido de nuevo, {$a->firstname}!" la modifico por "¡Nuevamente te damos la bienvenida, {$a->firstname}!"

Una vez que modificamos las cadenas que queríamos modificar, elegimos debajo la opción “Guardar los cambios en el paquete de idioma”. Si hicimos las cosas bien no es riesgoso guardar los cambios porque cuando volvamos a esta pantalla la vamos a ver con la cadena original y la reemplazada, es decir que fácilmente podemos volver atrás los cambios eliminando lo que escribimos allí.

Se nos pide confirmación, elegimos “Continuar”.

¡Listo! Ya podemos ver los cambios aplicados en la plataforma:

Pantalla donde se lee: "¡Nuevamente te damos la bienvenida, Iris!"

¿Cuál es el riesgo de esta operación?

Hay que tener mucho cuidado en no reemplazar una frase que vemos en un contexto, pensando que solamente se utiliza allí. Por ejemplo, si yo reemplazo “Bienvenido de nuevo” por “¡Hola, qué bueno que estás de nuevo en el curso de música!”, esa cadena se va a mostrar a estudiantes de los cursos que no son de música también. Por eso es muy importante reemplazar las cadenas por una equivalente, salvo que ya conozcamos mucho la plataforma y sepamos dónde aparece cada frase.

Recursos Educativos Abiertos – H5P

En el marco del tercer ciclo de charlas organizado por el Grupo Clementina voy a mostrar algunos ejemplos de actividades realizadas con H5P que favorezcan la construcción de conocimientos.

Como en toda herramienta de autor, que permita crear los contenidos para nuestros y nuestras estudiantes, es fundamental que el tipo de actividad, el tipo de pregunta y fundamentalmente la respuesta que brindamos ante el error, favorezcan la construcción del aprendizaje.

Para ello, a través de distintas estrategias que requieran elaborar hipótesis, confirmarlas o descartarlas, los y las estudiantes vuelven a revisar el contenido aprendiendo de sus respuestas anteriores.

Video Interactivo

Escenario ramificado

Transmitir en vivo desde Jitsi

Cuando damos charlas para un grupo de personas en una videoconferencia de Jitsi y queremos que más personas puedan verla a través de Fediverse.tv o de Youtube, necesitamos seguir unos pasos bastante simples.

Recomiendo practicar estos pasos varias veces antes de ser anfitrión/a de una charla, ya que hay varias cosas que pueden salir mal, poniendo en riesgo el evento.

Fediverse.tv (Peertube)

Gracias al grupo Clementina y a RikyLinux en particular, hace un par de años que utilizo Fediverse.tv para subir algunos de los videos que voy creando. Se trata de una instancia de Peertube (esto significa que el software “Peertube” está instalado en el servidor de Fediverse.tv, pero que el mismo software puede encontrarse en otros lugares).

Primer paso: crear la cuenta en la instancia de Peertube a través de la cual vamos a transmitir, por ejemplo fediverse.tv

Segundo paso: hacer clic en el botón Publicar. Elegir la opción Ir a en vivo y cliquear en vida normal (una sola transmisión común que al terminar queda grabada en el servidor con el mismo enlace).

Hacer clic en el botón "publicar"
Clic en la pestaña "Ir a en vivo", elegir opción "Vida normal" y por último aceptar todo con el botón "Ir a en vivo".

Tercer paso: completar la información sobre el video (nombre, comentarios, imagen de portada). Buscar la clave de transmisión y pegarla en algún lugar seguro. Vamos a necesitar esta clave para conectar Jitsi con Peertube.

La clave está formada por dos datos: el primero es el enlace correspondiente a Fediverse.tv y el segundo una clave que se genera por única vez por cada transmisión y no se repite.

Copiar las dos claves: URL de RMTP en vivo y Clave de transmisión en vivo. Pegarlas en un lugar seguro.

Tenemos que combinar ambas claves de la siguiente manera:

URL de RTMP en vivo + una barra + Clave de transmisión en vivo

Por ejemplo:

rtmp://fediverse.tv:1935/live/asdfadsfdsafadfasdfasdfasdf

Cuarto paso: entrar a la videoconferencia de Jitsi y elegir en el menú desplegable la opción “Iniciar transmisión en vivo”. Pegar la clave combinada como se explicó anteriormente.

Opción "Iniciar transmisión en vivo", menú de opciones de Jitsi.
Pegar la clave combinada tal como se explicó anterioremente y hacer clic en "Iniciar transmisión en vivo".

¿Cómo sabemos que se está transmitiendo correctamente?

Primero: se oye un mensaje que avisa “Livestreaming is on” (transmisión en vivo activada).

Segundo: accediendo al enlace del video creado en Fediverse.tv desde otro dispositivo, se puede ver y escuchar la transmisión. Cuidado: el sonido de este segundo dispositivo se va a escuchar como eco en Jitsi. Hay que hacer algo para que esto no ocurra (por ejemplo, silenciar el video que se está mirando).

Enlace al video explicando estos mismos pasos.

Cómo hacer la transmisión por Youtube

Los pasos para realizar la transmisión vía Youtube son muy similares. Sólo se agrega un paso que es el de loguearse en una cuenta de Youtube.

Botón "Subir video", opción "Transmitir en vivo"

Primer paso, hacer clic en el botón de subir video, y elegir “Transmitir en vivo”.

Se puede programar o directamente acceder a la transmisión en vivo. Una vez en el panel de transmisión, aparecerá la clave (igual que en el caso anterior) que debemos copiar para pegar en Jitsi.

En el panel de transmisión está la clave de transmisión que debemos copiar para luego usar en Jitsi.

Una vez copiada la clave, ir a Jitsi y pegarla en la opción “Iniciar transmisión en vivo”. La diferencia será que en este caso se nos pide loguearnos en la cuenta de Google. Para ello, tenemos que aceptar los términos del servicio.

Jitsi Meet pide permisos para acceder a ciertos datos personales: ver la cuenta de Youtube, ver editar y borrar permanentemente todos los calendarios a los que puedes acceder mediante el calendario de Google.
Transmisión en curso a través de Youtube

Al finalizar la transmisión, otro paso que se agrega en este caso es que debemos elegir si descartar la edición (conservar el video tal como se grabó) o editarlo en Studio.

Creando un tren con juguetes y un arduino – Parte 2

Ayer compré un tren de juguete y le puse motor, pilas e interruptor. Hoy estuve trabajando en una “pista” (no logré hacer vías, se resbalaba el plástico de las ruedas). Y luego, en una barrera automática.

Para trabajar sobre una superficie que pueda cambiar de lugar (para liberar la mesa), usé unas baldosas grandes que tengo en casa. En ellas fui pegando distintas cosas para guiar el tren, empezando por un tapacanto de melamina que tenía guardado:

Después de varias pruebas llegué a la solución pegando precintos mediante cinta de papel, pero podrían usarse muchas otras soluciones.

Una vez que el trencito ya funcionaba correctamente armé la barrera con el Arduino:

¿Qué se necesita?

  • Placa Arduino
  • Protoboard (placa de prueba / placa sin soldaduras)
  • Cables
  • Servo motor
  • Sensor ultrasónico (distancia)
  • Optativo: un buzzer, batería de 9v y conector Plug Jack para conectarlo al Arduino y usar la barrera sin la computadora

Conexiones

Lo ideal para hacer este montaje es ya haber utilizado por separado cada uno de los tres elementos: el servo motor, el buzzer y el sensor de distancia / ultrasónico.

  • El servo: va conectado al pin 9, a tierra y a VCC (aquí explicación sobre cómo conectar un servo)
    • cable anaranjado: va a un pin de tipo PWD (los de la tilde de la eñe), en este caso al 9
    • cable color marrón: GND (tierra)
    • cable color rojo: +5v
  • El sensor ultrasónico:
    • VCC – a 5v
    • TRIG – al pin 12
    • ECHO – al pin 13
    • GND – a gnd
  • El buzzer
    • Pin 10 (el positivo)
    • GND (el negativo)
Esquema de conexiones armado en Tinkercad (simulador de circuitos)
Esquema de conexiones armado en Tinkercad (simulador de circuitos)

Programa

Aquí comparto el código utilizado para que la barrera se levante cuando el sensor ultrasónico detecta algo cerca:

#include <Servo.h>
#define PIN_TRIG 12
#define PIN_ECO 13
int buzzer = 10;

int tones[ ] = {261, 277, 294, 311, 330, 349, 370, 392, 415, 440,466, 494};
                //DO, DO#, RE, RE#, MI, FA, FA#, SOL, SOL#, A, A#, B
                //Estas son las frecuencias que corresponden a cada nota, para usar en el buzzer
Servo myservo;
int pos = 0;
void setup() {
  Serial.begin (9600);
  pinMode(PIN_TRIG, OUTPUT);
  pinMode(PIN_ECO, INPUT);
  pinMode(buzzer, OUTPUT);
  myservo.attach(9);
}

void loop() {
//Este fragmento de código es para tomar la información del sensor ultrasónico HC-SR04
long duracion, distancia;
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(2);
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);

duracion=pulseIn(PIN_ECO, HIGH);
distancia=(duracion/2)/29;
//Aquí hacemos que la distancia se muestre en el "Monitor Serial"
Serial.println(distancia);
//Acá ponemos una condición: si la distancia es menor a doce cm, que suene el buzzer y se baje la barrera
if (distancia < 12) {
  //suena el buzzer en la frecuencia indicada por la matriz que está en 
        tone(buzzer, tones[8]);
        delay(50);
        noTone(buzzer);    
        delay(50);
        tone(buzzer, tones[8]);
        delay(50);
        noTone(buzzer);    
        delay(50);
  for (pos = 130; pos >= 0; pos -= 1) { // Lleva la variable pos desde 130 grados hasta 0, de uno en uno
    myservo.write(pos);              // pone el servo en la posición indicada por la variable pos
    delay(15);                       // espera 15ms 
  }      
  delay(1000);
  for (pos = 0; pos <= 130; pos += 1) { // lleva la variable pos desde 0 hasta 130
    myservo.write(pos);              // pone el servo en la posición indicada por la variable pos
    delay(15);                       // espera 15ms
  }
  
        
}
}

Creando un tren con juguetes y un arduino – Parte 1

Ayer fui al supermercado y vi que vendían un trencito y sus vagones. Me compré algunos, porque ya venía pensando en crear un trencito con una barrera y más cosas interesantes.

Locomotora y vagones de juguetes comprados en el supermercado
Locomotora y vagones de juguetes compradas en el supermercado

Busqué entre todas mis cajitas de “cosas que me servirían para robótica” y elegí un motorreductor, un interruptor, y un portapilas para dos pilas doble A.

También puede hacerse con un motor DC pero seguramente sería bastante más complicado armarlo porque el motorreductor amarillo clásico de Arduino ya viene con dos ruedas que encajan perfectamente. Yo soldé varias conexiones, pero también puede utilizarse cinta de papel (se desarma a cada rato, por eso es mejor soldar, pero no es imprescindible si no se sabe cómo hacerlo).

Del portapilas salen dos cables. Uno se suelda al motor y el otro al interruptor. Y se agrega otro cable desde el interruptor hasta el motor.
Portapila con un cable soldado al interruptor, y el otro suelto, que se conecta al motor. Del interruptor sale otro cable que se conecta al otro extremo del motor.
Portapila, interruptor y motor ya soldados. Para mantener el equilibrio, le agregué dos rueditas del tren original, sostenidas con un palito de brochette.
Portapila, interruptor y motor ya soldados. Para mantener el equilibrio, le agregué dos rueditas del tren original, sostenidas con un palito de brochette. Todo pegado con cinta de papel para el prototipo. Si funciona, trabajo en emprolijar y hacer más firmes los armados.

Safari: mirando los objetos cotidianos desde otro lugar

El presente material es un trabajo realizado para la diplomatura UXDI (Experiencia de Usuario y Diseño Interactivo). A quienes estén interesados/as en el tema, les recomiendo esta diplomatura, es excelente.

Paralelamente, para quienes visitan este blog, se trata de un ejemplo de cómo se puede aprovechar el Branching Scenario de H5P.

¿Qué enseñamos en la escuela?

Hay múltiples motivos por los cuales defiendo y milito el uso de software libre en educación.

Algunos son simples y prácticos, como la ausencia de virus en Linux*.

Otros más educativos o si se quiere morales: enseñar a usar software privativo implica enseñar a piratear programas, ya que nadie puede aprender multiplicidad de software pagando sus licencias (podrá tal vez pagar uno, pero ¿todos?).

Y hay motivos profundos, políticos, sociales, como el hecho de que un país que utiliza software libre en su administración pública y en su sistema educativo decide sobre sus datos, sobre su idioma, sus símbolos. Soberanía tecnológica, completo dominio del proceso (sin “secretos”), mano de obra local, formación de especialistas locales, salir del lugar de país agroganadero para pasar a producir tecnología… toda una cadena.

Por otra parte, utilizar software libre es pertenecer a comunidades donde el trabajo colaborativo es la base fundamental. ¿Hay algo mejor que participar en trabajos en grupo en el aula? ¡Sí! Participar en grupos internacionales donde se colabora con una meta concreta.

Cuando trabajamos un tema con nuestros y nuestras estudiantes, enseñamos a utilizar una caja de herramientas. ¿Les ofrecemos una caja de herramientas que puedan llevar a casa o una que tengan que comprar o conseguir ilegalmente para poder aplicar lo aprendido?

Los motivos son tantos, que para no agobiar, menciono algunos con estos memes:

"Todas estas maravillosas herramientas te darán entrada directa al mercado laboral", dice un personaje. "¡Son impagables" Por suerte en la escuela aprendí a hacer copias ilegales", dice el otro, con cara de estar mirando algo imposible de hacer.
"¿Así que enseñás con programas de última generación que tus estudiantes piratean porque no son libres?", dice un personaje, con cara de pensativo...
El clásico meme de Batman y Robin, donde Robin dice "A mis alumnos les enseño a piratear programas", y Batman le dice "Usá software libre, está hecho para compartir"
El personaje de la película "Sexto sentido" le dice a un adulto: "Veo estados que desarrollan software libre nacional y sin embargo siguen repartiendo nets con Windows"
Cuatro "estados", de menos a más brillante: Usar la compu en clase. Usar la compu con programas educativos. Usar la compu con programas que faciliten el trabajo colaborativo. Usar software libre, colaborando además con la comunidad de creadores.
Perro grande: "No tengo virus. No robo datos" (Linux). Perro chico: "¡No puedo entrar a mis archivos porque metieron el pendrive de todo 1er año" (Windows)
Alguien con la etiqueta "Plan conectar igualdad" ve un enorme globo que dice"Soberanía Tecnológica". En el segundo cuadro otro alguien con la etiqueta "Microsoft" abraza y aleja a Plan Conectar Igualdad del globo "Soberanía Tecnológica".
Dos opciones, y una persona transpirando (con la etiqueta "Plan Conectar Igualdad"): "Sistema operativo creado en USA traducido al español neutro" versus "Sistema creado en Argentina con una vaquita bien argenta".

*El nombre completo del sistema es GNU-Linux.

Taller de H5P

En el marco de la semana del acceso abierto tuve la oportunidad de brindar, junto con Lila Pagola, Liliana Villoria, Luisina Barraud, Antonella Manacorda.

Fue una experiencia muy interesante, llena de momentos en los que la herramienta nos sorprendió por tener variados “vericuetos” aún sin resolver, cambios que se dieron durante el dictado del taller (¡que fue de dos encuentros!) y un sin fin de preguntas que quedaron sin responder.

Comparto aquí tres interactivos realizados con H5P para el taller, con la idea de que puedan utilizarse para nuevas capacitaciones.

Presentación: Software Libre y Educación

Me invitaron a realizar una charla sobre software libre y Huayra.

Comparto aquí mis diapositivas, realizadas en HTML + CSS, con licencia Creative Commons Atribución.

Enlace a las diapositivas en línea: http://irisfernandez.ar/SLyHuayra/

Descargar archivo comprimido con las diapositivas