1000 Programadores Salteños
El viernes 12 noviembre 2021 di una charla a los docentes de la iniciativa 1000 Programadores Salteños, en Salta, Argentina. Elegí una charla sobre pedagogía con Python, y aproveché de recordar y reflexionar lo que fue dictar el curso de Aplicaciones de la Matemática en la Ingeniería.
¿Qué cosas aprendí dictando el curso de MAT244/MAT281 - Aplicaciones de la Matemática en la Ingeniería?
- Considerar el curso como un producto (de software) donde los estudiantes son los clientes: estar en sintonía con las herramientas de la industria, pedir retroalimentación de manera frecuente y mejorar iterativamente el contenido.
- Experimentar. Atreverse a que las cosas no resulten durante la clase. Ponerse en los zapatos de un estudiante: ¡no olvidar lo que es no saber!
- Enseñar habilidades y competencias, por sobre contenido. “Learn in case” vs “learn in need”.
- Que las evaluaciones no sean irrelevantes. Sólo podemos inspirar a que alguien aprenda por sí mismo. Evitar pruebas tradicionales, es mejor que los estudiantes generen impacto a solucionando un problema real de alguna comunidad.
- Usa ejemplos reales, imágenes y videos atractivos, datasets interesantes, como los siguientes:
- https://archive.ics.uci.edu/ml/datasets.php
- https://es.datachile.io/
- http://datagramas.cl/courses/infovis/resources/
En resumen, ¡No dictes un curso, ¡comienza una revolución!
Disclaimer: Presento el caso exitoso. Pero también he dictado otros cursos sin el mismo éxito: Matemáticas 1 (cálculo y álgebra primer año ingeniería) e Introducción a la programación (python primer año ingeniería). No digo qque sea fácil. Pero cuando se logran hacer cambios, es satisfactorio e impacta en la vida de loss estudiantes.
¿Qué nuevos temas incluiría en el curso?
- Ingeniería de datos: El ingeniero de software, ingeniero de datos, científico de datos y roles similares, cada vez se vuelven más “full stack” y tienen que auto-atenderse en el uso de datos. Estudiantes (futuros profesionales) necesitan saber:
- Nociones básicas de SQL
- Nociones básicas de visualización (gráficos y dashboards)
- Nociones básicas de data pipelines y ETLs.
- Ética: Temas de ética, impacto de algoritmos en la vida real, GDPR y protección de datos.
- Publicidad y la economía de la atención: En un mundo disperso y bombardeado de distracciones, tener foco es un superpoder. Dar nociones de cómo funciona la publicidad y porqué todos los productos quieren nuestra atención 100% del tiempo. Nociones de flow state y deep work.
- Comunidad y open source: FOSS (Free Open Source Software) está presente en todas las empresas. Contribuir en un FOSS es un imperativo ético (y skill marketeable). Encontrar y crear comunidades de interés. Participar en eventos de tecnología, como las Pycon. Algunas posibles tareas:
- Contribuir en la documentación de un proyecto de Open Source
- Hacer un Pull Request en un proyecto de Open Source
- Editar un artículo en wikipedia
Además, recomendé algunas librerías y usé una app de streamlit para probar enseñar algunos conceptos de Machine Learning.
Creo que estuvo muy entretenido, se me pasó rápido la hora. Al finalizar tuvimos una animada intercambio, aunque me hubiera gustado tener un poco más de audiencia… creo que otros docentes podrían haber aprovechado el contenido y la presentación
Todas las opciones de visualización de la charla (en jupyter notebook) están en el repositorio de github.
La aplicación web está en github y (quizás online) en share.streamlit.