Enseñar Javascript con tests

He elaborado una serie de ejercicios de Javascript que se autocorrigen con tests en Jasmine. Es una práctica que estoy probando este año y creo que no funciona mal. Se trata de explicar un poco de Javascript y tests y, a partir de ahí, hacer todos los ejercicios con tests.

Hay varias manera de enfocar esto y las estoy probando. La más evidente es proponer unos ejercicios y pedir luego que hagan los tests y que las funciones pasen los test. En realidad deberían utilizar la metodología TDD, pero no soy muy estricto en ese sentido. Otra manera de enfocar esto es proporcionar funciones acabadas, que las describan y escriban tests lo más precisos posible sobre estas. La última y más interesante es la de proponer enunciados y los tests. Los alumnos deben entender tanto el enunciado como el test y hacer la función que pasa el test. Se puede, además, ocultar parte de los tests para que hagan funciones más robustas.

Los ejercicios anteriores sirven para el tercer propósito. Además, entrenan a los alumnos para los exámenes, en los que también les paso los tests y los enunciados.

Jupyter y Odoo

Para enseñar el ORM en Odoo se suele usar la terminal de Odoo ($ odoo shell …). Esto suele ser suficiente. No obstante, hay algunas limitaciones. La primera es que no se guarda el progreso. Después que la documentación y el código han de ir por separado.

Jupyter tiene su mercado sobretodo en el entorno del análisis de datos en Python y el Machine Learning. También es muy útil para hacer tutoriales de Python en entornos educativos. Así que ¿Porqué no juntar Jupyter con Odoo?

Para ello he hecho un pequeño tutorial (usando Jupyter) que explica cómo hacer esa conexión.

Espero que sea útil.

El módulo de Desarrollo Web en Entorno Cliente (DAW)

Cuando hace dos años nos dijeron que iban a añadir el ciclo de DAW en mi centro nos preguntamos si estábamos suficientemente actualizados en el desarrollo web. Por suerte, tardaríamos un año en tener módulos realmente difíciles en segundo. Al ver que tenía posibilidades de dar este módulo, me apunté a un par de cursos donde me dí cuenta todo lo que ha cambiado en pocos años el mundo de la web. Así que no sólo era explicar Javascript, sino cómo desarrollar y desplegar una aplicación. En este artículo voy a exponer mi enfoque del módulo de DWEC y lo que creo que se puede mejorar.

Mi intención para el primer trimestre era explorar Javascript vanilla a fondo. Para ello me he basado principalmente en los apuntes disponibles en apuntesFPinformatica ya que no tenía tiempo de elaborar los míos y porque no hay porqué reinventar la rueda. Lo que no sé hacer es explicar con diapositivas de otros, así que me hice las mías (más abajo están los enlaces). Por otro lado, para explicar bien los temas más peliagudos (this, propotipos, promesas…) mi referencia es el libro You don’t Know JS.

Además, hice un artículo en el wiki de esta web con ejemplos.

No me dio tiempo a dar más que unas pinceladas a Jquery. No obstante, con ES6 y otros frameworks, JQuery ha perdido importancia y tal vez lo elimine completamente si en un futuro vuelvo a impartir este módulo.

En el segundo trimestre ha sido el turno de Angular. De nuevo he usado apuntes de otros y diapositivas mías. Además de una especie de tutorial en el wiki. Me ha sorprendido la facilidad para asimilar Angular por parte de los alumnos. Lo veían lógico y agradable de programar. Supongo que con otros frameworks habrían dicho lo mismo.

Al final, desplegar la aplicación no ha sido tan satisfactorio por la falta de tiempo y sobretodo por que nos faltaba un servidor REST API interesante y la web al final trataba sólo con datos estáticos. Mi propósito y recomendación es hacer un servidor REST API común para que los alumnos lo consulten. Tenerlo desde el primer día y usarlo tanto para fetch en JS como para los servicios en Angular.

Estas son algunas de las diapositivas que he utilizado:
Desenvolupamen web en entorn Client
Javascript Comunicació amb el servidor
JQuery
NPM
WebPack
Angular

I Congreso de Apuntes FP informática

Ayer se celebró este congreso organizado por los profesores que mantienen la web https://apuntesfpinformatica.es/ . Yo participé con una presentación sobre lo que hacemos para virtualizar con LXD los entornos de prácticas en algunos módulos. En mi opinión, el congreso fue un éxito, con más de 100 asistentes de media y unas presentaciones muy interesantes.

Dejo el enlace al congreso y todas las presentaciones. Y mi vídeo:

El propósito de todo esto

No es, desde luego, la primera vez que monto una web personal. Ya lo hice con la web del Jose, el club del gourmet y sistemas y aplicaciones. No obstante, ya iba siendo el momento de hacer un sitio central de mi actividad en Internet para poder decir: visita mi web. En esto, el ego, juega un papel determinante. Para qué negarlo.

La idea es organizar todo el material y enlaces en primer lugar, hacer una especie de Wiki y otras cosas relacionadas con mi actividad profesional. La web del Jose es un espacio mucho más personal en una plataforma como blogger con sus limitaciones. No es cuestión de reinventar eso y querer darle un tono serio y más teniendo en cuenta el poco caso que le hago actualmente. Sistemas y Aplicaciones  ya si es sobre mi trabajo, pero más orientado a las oposiciones y experiencias como profesor. Pienso seguir poniendo en ese blog ese tipo de cosas.

Ya desde hacer tiempo me digo: si tuviera una web personal con hosting propio haría tal o cual cosa. Bueno, este es el momento.

El nombre es un homenaje a mi anterior negocio: Castillo Informática. Un proyecto que no salió bien profesionalmente, pero que cada día me doy cuenta de cuanto he aprendido en él. El nombre del dominio es el mismo. Debe estar en algún directorio todavía, porque aun recibo currículums. Si has llegado aquí buscando trabajo siento decirte que no te puedo ayudar directamente, ahora me dedico a enseñar.

Empieza esto con un WordPress con plantillas provisionales y muchas ideas que se irán concretando.