Una parada en el camino

Por David Romero

ZoltarScript: Un pequeño programa para la planificación sesiones

2020-09-25 2 min read David Romero

La semana pasada estuve imaginando una aplicación ideal para planificar y mejorar las sesiones de una formación. Como no la encontré, decidí crear un pequeño script que pudiera utilizar para ese propósito.

Aunque tiene muchos defectos y limitaciones, porque no le podido dedicar más que el tiempo justo, de momento cumple decentemente con la mayoría de cosas que buscaba para planificar el curso. Realiza únicamente dos funciones:

  • Genera todas las sesiones de una asignatura para todo un curso. Indicando una fecha de inicio de curso, otra de fin de curso, los días festivos y los días y horas de la semana en los que hay una sesión de la clase, muestra todas las sesiones que habrá a lo largo del curso, creando una fila por cada una con el número de sesión, la fecha, el día de la semana y la hora concreta. En la fila de cada sesión hay una columna para planificar qué se hará en la misma.
  • Traslada todas las sesiones de la asignatura a un Calendario de Google, incluyendo el desarrollo de esa sesión en la descripción del evento. De esta manera, teniendo el calendario sincronizado, puedo consultar qué tengo que hacer en la próxima sesión en todo momento, mirando en el reloj, la tablet o el ordenador. También se puede exportar en formato .icalc, por si quieres llevártelo a tu aplicación favorita.

Todo se realiza en una Hoja de Cálculo de Google, por ser un formato muy fácil de manipular. Para el próximo curso, simplemente puede copiarse la columna de las sesiones en las nuevas que se generen, teniendo en cuenta los comentarios que se hayan puesto para mejorarlas.

¿Te gustaría probarlo para planificar tus clases? Puedes hacerlo siguiendo las instrucciones que encontrarás en el repositorio del proyecto.

¿Te ha sido útil y quieres colaborar con el proyecto? Puedes hacerlo de distintas formas:

Imagina… Una aplicación ideal para planificar y mejorar las sesiones de clase

2020-09-19 2 min read David Romero

Imagina una aplicación que nos permita planificar las sesiones de clase de una asignatura o módulo de un curso escolar completo.

Imagina que esa aplicación, solamente indicando nuestro horario semanal y los días festivos, nos genere todas las sesiones que debemos planificar.

Imagina que permite escribir una descripción en cada sesión, así como comentarios o futuras mejoras detectadas para tenerlo en cuenta en próximos cursos.

Imagina que podemos acceder, desde cualquier dispositivo y de un solo vistazo, a las sesiones y descripciones que tenemos que realizar un día concreto.

Imagina que nos permite realizar modificaciones sobre la marcha, como un cambio de orden, ajustando las sesiones pendientes a dicha modificación.

Imagina que podemos asociar fácilmente cada sesión con contenidos y criterios de evaluación.

Imagina que es capaz de exportar las sesiones en un formato fácil de manipular, para poder importarlas en un nuevo curso escolar.

Esto son solo imaginaciones mías. Si alguien conoce un software, a ser posible de código abierto (open source) y con posibilidad de instalación en un servidor propio (self-hosted), que ya esté más o menos preparado para estos casos de uso, le ruego que se ponga en contacto conmigo. He probado ya varios como Additio, iDoceo o Chalk Planbloard. La mayoría falla sobre todo a la hora de la exportación, ya que solamente permiten hacerlo en formatos como PDF. Que queda muy bonito, pero que es muy poco práctico para transformar, mejorar y reutilizar esas sesiones en cursos posteriores.

Sigamos imaginando.

Servicios en Red: Una programación didáctica en espiral (y III)

2020-09-06 8 min read David Romero

Una vez definido el objetivo de esta programación, clasificar los criterios de evaluación y establecer una planificación general semanal, terminaremos esta serie desglosando las distintas sesiones de una de las unidades. Concretamente, la unidad 1: “Crea tu propio servidor de hosting”, correspondiente a las semanas 3-8 de la planificación general, es decir, un total de 42 sesiones.

Tenéis la propuesta completa en la siguiente tabla:

Sesión Contenido
1 - Reflexión: ¿Se puede controlar un ordenador a distancia?
- Explicación: Acceso remoto en modo texto y SSH
- Práctica: Acceso a un servidor usando SSH
2 - Reflexión: ¿Cómo intercambiamos archivos con un servidor?
- Explicación: Transferencia de ficheros con FTP
- Práctica: Descarga y subida de ficheros en un servidor usando vsftpd usando SSH para la instalación
3 - Reflexión: ¿Qué necesito para poner en línea una página web?
- Explicación: Servidores web
- Práctica: Permite el acceso a tus compañeros a una página web propia, usando SSH para la instalación del servidor web nginx y subiendo los archivos al servidor con vsftpd
4 - Reflexión: ¿Hay alternativas a SSH?
- Explicación: Telnet
- Práctica: Prueba a realizar una conexión Telnet y otra SSH capturando paquetes con Wireshark. ¿Cuál es la diferencia?
5 - Finalización de prácticas pendientes
- Práctica de ampliación: Pon una página web online con https://es.000webhost.com/
6 - Evaluación de los criterios: 3b, 6b, 5b y 5f
7 - Revisión de la evaluación
8 - Reflexión: ¿Se puede ver el escritorio de un ordenador controlado a distancia?
- Explicación: Acceso remoto en modo gráfico
- Práctica: Accede al ordenador de un compañero usando Escritorio Remoto y TeamViewer. ¿Cuáles son las diferencias?
9 - Reflexión: ¿Cómo gestionamos un servidor FTP con varios usuarios?
- Explicación: Usuarios, grupos y acceso anónimo en un servidor FTP
- Práctica: Permite el acceso en tu servidor a toda la clase usando el acceso anónimo y a dos compañeros usando usuarios enjaulados
10 - Reflexión: ¿Podemos asegurar la comunicación entre un cliente y una página web?
- Explicación: Los protocolos HTTP y HTTPS
- Práctica: Asegura tu página web con un certificado HTTPS. Compara el tráfico HTTP y HTTPS en Wireshark
11 - Reflexión: ¿FTP es un protocolo seguro?
- Explicación: FTPS y SFTP como alternativas
- Práctica: Usa un protocolo seguro para la transferencia de archivos
12 - Finalización de prácticas pendientes
- Práctica de ampliación: ¿Puedes encontrar y usar una app en tu teléfono para controlar remotamente un ordenador?
13 - Evaluación de los criterios: 3c, 3d, 5i, 6c, 6d y 6f
- Recuperación de los criterios: 3b, 6b, 5b y 5f
14 - Revisión de la evaluación
15 - Reflexión: ¿Puedo administrar un servidor sin interfaz gráfica a través de una interfaz gráfica?
- Explicación: Acceso remoto a través de la web
- Práctica: Instalación y prueba de webmin
16 - Reflexión: ¿Puedo poner límites a los usuarios de un servidor FTP?
- Explicación: Límites y cuotas
- Práctica: Configuración de límites y cuotas en vsftpd
17 - Reflexión: ¿Cómo controlo un servidor FTP por línea de comandos?
- Explicación: Comandos FTP
- Práctica: Accede a tu servidor FTP usando la línea de comandos, descarga y sube algún archivo y compruébalo
18 - Reflexión: ¿Qué diferencia al modo de acceso activo y pasivo en un servidor FTP?
- Explicación: Funcionamiento del acceso activo y pasivo en un servidor FTP
- Práctica: Accede a tu servidor FTP usando el modo activo y pasivo capturando la conexión con Wireshark. Compáralas
19 - Finalización de prácticas pendientes
- Práctica de ampliación: Instala Monsta FTP para usar una web como cliente de tu servidor FTP
20 - Evaluación de los criterios: 3e, 3f, 3g y 6g
- Recuperación de los criterios: 3b, 3c, 3d
21 - Revisión de la evaluación
22 - Reflexión: ¿Puedo tener distintas páginas web en un mismo servidor?
- Explicación: Sitios virtuales
- Práctica: Configuración de sitios virtuales en nginx
23 - Reflexión: Las acciones en una página web, ¿Se ejecutan en el cliente o en el servidor?
- Explicación: Código cliente y código servidor. Lenguajes
- Práctica: Ejecuta código cliente y código servidor en nginx
24 - Reflexión: ¿Se puede extender la funcionalidad de un servidor web con módulos?
- Explicación: Utilidad e instalación de módulos
- Práctica: Instalación de nginx con módulos asociados
25 - Reflexión: ¿Puedo bloquear el acceso en mi página web a una determinada IP?
- Explicación: Seguridad en un servidor web
- Práctica: Asegura tu servidor nginx
26 - Finalización de prácticas pendientes
- Práctica de ampliación: Sirve tu página web usando IIS en Windows Server
27 - Evaluación de los criterios: 5c, 5d, 5e, 5g, 5h
- Recuperación de los criterios: 5b, 5f, 5i
28 - Revisión de la evaluación
29 - Reflexión: ¿Cómo explicarías a un familiar las distintas formas que tenemos de acceder y administrar un sistema remotamente?
- Explicación: Creamos definiciones de los distintos tipos de acceso y administración remoto entre todos
- Trabajo personal: Escribimos nuestras propias definiciones y escenarios de uso para cada tipo
30 - Reflexión: ¿Cuál es la utilidad de un servidor FTP? ¿En qué modos puede operar?
- Explicación: Se proponen escenarios empresariales y se discuten soluciones en grupo
- Trabajo personal: Búsqueda de ejemplos en Internet
31 - Reflexión: ¿Cómo funciona un servidor web? ¿Qué protocolos utiliza?
- Explicación: Procedimiento de comunicación entre cliente y servidor web y descripción del funcionamiento de los protocolos
- Trabajo personal: Creamos nuestros propios diagramas que expliquen las comunicaciones de un servidor web
32 - Reflexión: ¿Cuáles son las ventajas y desventajas de cada tipo de acceso remoto?
- Explicación: Se proponen escenarios empresariales y se discuten soluciones en grupo
- Trabajo personal: Creamos una tabla con las ventajas y desventajas de cada tipo de acceso remoto
33 - Autoevaluamos nuestro conocimiento teórico de los servicios
- Repaso
34 - Evaluación de los criterios: 3a, 5a, 6a y 6g
35 - Revisión de la evaluación
36 - Proyecto: Creamos nuestro propio Hosting
37 - Proyecto: Creamos nuestro propio Hosting
38 - Proyecto: Creamos nuestro propio Hosting
39 - Proyecto: Creamos nuestro propio Hosting
40 - Defensa de proyectos
41 - Repaso/Recuperación de los RA 2, 5 y 6
42 - Revisión de la evaluación

He estructurado cada semana de la misma forma: cuatro sesiones con nuevo contenido, una sesión extra para que terminen los más rezagados y puedan ampliar los más aventajados, una sesión de evaluación y otra de revisión de la misma (sería ideal que estas dos últimas sesiones fueran seguidas en el tiempo).

Cada sesión en la que se enseña nuevo contenido, empieza con una reflexión. Se lanza una pregunta que pone en evidencia un problema, en base a los conocimientos previos del alumnado. Durante esa hora se proporcionarán las herramientas para resolver ese problema la próxima vez que les surja. Después, se realizará una práctica para que ellos mismos puedan de alguna manera “tocar” la solución propuesta.

Para que el trabajo pendiente no se acumule al alumnado que necesite más tiempo, se dedicará una hora completa para terminarlo, despejar dudas y asegurar que se encuentran preparados para una evaluación. Los alumnos más aventajados pueden realizar una práctica más para mejorar su transferencia del aprendizaje.

Llegamos a la sesión de evaluación, donde se pondrá a prueba lo que han aprendido. Es muy importante que el docente esté atento a las distintas dificultades con las que se encuentren los estudiantes.

Y por último, y más importante, finaliza la semana con la sesión de revisión. Es probablemente la sesión clave, ya que nos permite aplicar una evaluación formativa de calidad. El alumnado debe ser consciente de que no será la última vez que tengan que poner a prueba esos conocimientos, para que presten la atención suficiente. En esta hora el docente explicará y aclarará las dificultades que haya detectado en la sesión anterior.

La dos últimas semanas de la unidad son un poco diferentes al resto. En la penúltima semana se trabajan los conceptos más puramente teóricos. En muchas ocasiones, se comienza con la explicación teórica antes de pasar a la práctica. Pienso que si solo impartimos la teoría básica al comienzo, el alumnado estará mucho mejor preparado para entender conceptos complejos después de realizar varias pruebas prácticas, ya que podrá crear conexiones con conocimientos previos más fácilmente. La última semana se destina a un proyecto que integre todos los contenidos vistos en la unidad (y potencialmente en unidades anteriores). Es importante que sea lo más aplicado posible, intentando que tenga una utilidad real. Así, el alumnado comprobará que lo que ha aprendido le servirá en su futuro profesional y se sentirá más motivado a seguir aprendiendo.

Con esta planificación, conseguimos que cada resultado de aprendizaje se trabaje durante bastante tiempo, mucho más que si lo vemos solamente en una unidad aislada. Sería bueno aprovechar cualquier circunstancia de unidades posteriores para volver también a utilizarlos, consiguiendo así un repaso espaciado. El único objetivo de los que propusimos que se queda un poco cojo es el que está relacionado con la transferencia del aprendizaje. Sería ideal que pusiesen en práctica los contenidos en situaciones más variadas y en distintos sistemas operativos, pero es difícil conseguirlo con el tiempo que hay tan ajustado para impartir el currículum completo. Se pueden aprovechar para este propósito los tiempos dedicados a las prácticas de ampliación.

Espero que os resulte, cuanto menos, interesante. Quizás las circunstancias actuales no sean las idóneas para poner en práctica algo así por primera vez. Comenzamos un curso lleno de incertidumbres, en el que es probable que tengamos que modificar nuestra planificación prácticamente cada día. Si logro llevar a cabo una buena estrategia que pueda replicarse, seréis los primeros en enteraros. Espero que vosotros también la compartáis en ese caso.

Mucho ánimo y buena suerte.