Qué he aprendido este año enseñando Python

(Y no, no es una charla sobre el lenguaje)

me

Salvador de la Puente González

hola@salvadelapuente.com

in/delapuente

https://github.com/delapuente

https://delapuente.github.io/presentations/

## Redes sociales : - El año pasado me cansé de las redes sociales. - Ansiedad. - Síndrome del impostor. - Hasta el moño de la polarización. - Me preguntaron desde WeCode y Fictizia. - ¿Qué perdemos con las redes sociales?
* Echo de menos algunas cuentas. * Echo de menos la sensación de presencia. * Echo de menos algunas discusiones. * Echo de menos la capacidad de difundir contenido.
* _RSS for the win_. * Debería escribir un blog. * Se discute en los bares. * Se aprende haciendo cosas.
## El lenguaje
* Los `dict` [garantizan el orden](https://docs.python.org/3.7/whatsnew/3.7.html) de inserción de sus elementos. * [Cadenas de plantilla](https://docs.python.org/3.6/whatsnew/3.6.html#whatsnew36-pep498). * [Anotaciones](https://docs.python.org/3.6/whatsnew/3.6.html#whatsnew36-pep526) de variables. * [Dataclasses](https://docs.python.org/3.7/whatsnew/3.7.html#whatsnew37-pep557) * [Turtle graphics](https://docs.python.org/3.7/library/turtle.html?highlight=turtle#module-turtle)!
## El curso : - Dos días juntos lo hacías difícil. - El rendimiento neto: precio - desplazamiento - impuestos. - Ponerlo en fin de semana fue agotador. - Rendimiento no monetario: reciclaje y crecimiento.
* Inversion de unas 10/12 horas por cada 8 horas. * En mi caso, un rendimiento del 22%. * Afiancé principios de diseño y de ingeniería de software. * Amplié mi conocimiento del ecosistema de Python. * Aprendí mucho de mis alumnos. * Me llevo un grato recuerdo de la escuela y su gente.
Buena experiencia personal pero agotadora.
## Un alumno invidente : - Nunca me había enfrentado a ello. - La escuela lo convirtió en decisión mía. - Estimé mal la preparación del curso. - Importancia de los apuntes. - Forma de dar clase. - Forma de trabajar.
* Comunicar qué hago en cada momento. * Al comienzo, leer el código literalmente. * Luego leer el código semánticamente. * ¿Pensando en un _pet-project_? Terminal accesible.
## Motivación y atención : - Descripción de las motivaciones. - Estructura de la clase. - Diferencias entre teoría y práctica. - Ejercicios y proyecto.
* Preferían salir antes. * Adición de múltiples sesiones prácticas. * Sitios de ejercicios como Hacker Rank funcionan bien. * La práctica motivaba más. * La participación activa mantiene el interés.
## El desarrollo de software : - Metáfora del _dojo_. - La importancia del orden "problema, solución". - POO, Liskov & Gang of 4. - Olores en el código. - El tipado es diseño.
* Se necesita práctica para enseñar técnicas. * Enseñar _testing_ al comienzo es la mejor forma de demostrar su utilidad. * Hay que invertir tiempo en diseño: datos, relaciones y comunicación. * Los libros de patrones y antipatrones nos proporcionan vocabulario común.
## Publicar un proyecto : - Wikimedia. - El síndrome de la obra inacabada. - Licencias de código abierto. - El _setup_ de un proyecto de código abierto. - Versionado.
* Basta con elegir una licencia y publicar. * Añadir un README.md ayuda a sentir el proyecto acabado. * Limita el alcance sin limitar el _roadmap_. * Es importante estabilizar la API y sacar las cosas de beta.
## Y ahora, ¿qué?
* Más clases prácticas entre fundamentos y desarrollo de software. *