python en ciencia e ingenieria: lecciones aprendidas
DESCRIPTION
¿Python científico? Este es un resumen de experiencias por parte de alumnos de ingeniería química que empezaron con Python. ¡Python visto con los ojos de un novato! http://CAChemE.orgTRANSCRIPT
![Page 1: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/1.jpg)
cacheme.org
1
Computer-aided Chemical Engineering
Python científico para ingenieros:
lecciones aprendidas*
www.cacheme.org
(*) Título y diapositivas inspiradas en la charla de Greg Wilson:Software Carpentry: Lessons Learned - PyCon 2014https://www.youtube.com/watch?v=FtKO619O5g0
![Page 2: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/2.jpg)
cacheme.org
¿CAChemE?
• Asociación formada por ingenieros químicos
(profesionales, docentes y estudiantes) que pretende
estimular las posibilidades de software en la
ingeniería de procesos.
• Promueve las ventajas de las nuevas herramientas de
software libre disponibles y fomenta su uso en la
universidad e industria.
• Especialización en simulación y programación
matemática (optimización).
2
![Page 3: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/3.jpg)
cacheme.org
¿Quiénes somos?
3
![Page 4: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/4.jpg)
cacheme.org
Actividades
• Formación
• Webinars
• Desarrollo
• ¡Podcast!
4
![Page 5: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/5.jpg)
cacheme.org
5
Esquema
• ¿Por qué empezaste con Python?
• Primeros pasos con Python: un
camino difícil
• Fallos a evitar
• Resumen de
experiencias por
parte de alumnos
que empezaron
con Python
![Page 6: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/6.jpg)
cacheme.org
MOTIVACIÓN
¿Por qué empezaste con Python?
6
![Page 7: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/7.jpg)
cacheme.org¿Por qué empezaste con Python?
“Programar me gusta y me pareció
algo interesante aprender algo
nuevo”
• Programar genera frustración, muchos científicos lo ven
como un problema (no una solución a sus problemas).
• Experiencias previas determinan mucho la predisposición
del alumno.
7
![Page 8: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/8.jpg)
cacheme.org¿Por qué empezaste con Python?
“WIDGETS DE IPYTHON NOTEBOOK
ME LLAMARON LA ATENCIÓN (JUNTO A
CÓMO “HACKEAR” EL MOODEL DE MI
UNIVERSIDAD)”
• Widgets de IPNB, sencillo de implementar y útil (mejoramos
experiencia con ejercicios simples). También mostramos
aplicaciones reales y complejas para verle la utilidad final
que pueden darle.
8
![Page 9: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/9.jpg)
cacheme.org¿Por qué empezaste con Python?
“ESTO NO LO PUEDO (O NO SÉ)
HACERLO CON MATLAB”
• Implica: Programación se enseña en métodos numéricos y
requiere además una buena base matemática (genera
frustración y requiere mucho esfuerzo). Pero además, el
alumno no le ve utilidad más allá que su asignatura.
9
![Page 10: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/10.jpg)
cacheme.org¿Por qué empezaste con Python?
“LIBRE Y GRATUITO… OK…”
• Los estudiantes no se preocupan por un asunto tan crucial,
fallo del sistema de educación (exámenes) que opta por
herramientas comerciales habiendo equivalentes. Ejemplo:
Octave UPM.
• “Lo que aprendas con Python puedes usarlo en el trabajo de
forma legítima tal y como hace…”
10
![Page 11: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/11.jpg)
cacheme.org
Primeros pasos con Python…
…un camino difícil
• Contaminación de otros lenguajes: Muchos alumnos sólo
conocen un “lenguaje” (mal aprendido) por lo que aprender
una sintaxis (pese a ser Python) cuesta al principio y
requiere tiempo.
11
![Page 12: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/12.jpg)
cacheme.orgPrimeros pasos con Python…
…un camino difícil
“NO TENGO TIEMPO”
• Los lenguajes de programación quedan aislados a
asignaturas de cálculo numérico, para el resto se usa Excel.
12
![Page 13: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/13.jpg)
cacheme.orgPrimeros pasos con Python…
…un camino difícil
“GOTO CELDA DE EXCEL”
• Excel es difícil de revisar y conlleva a errores que se pueden
evitar con Python.
• Además, con Python podemos explicar más cosas. Por
ejemplo, matemáticas (SymPy) y estadística (StatsModel).
13
![Page 14: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/14.jpg)
cacheme.orgPrimeros pasos con Python…
…un camino difícil
“NO ENTIENDO NADA”
• Gran parte de los tutoriales e información de Python, dan
por sabidas muchas cosas. La mayoría de alumnos no
tienen base alguna de informática (“eh… ¿la terminal?”) .
Además, mucho de este contenido básico está en inglés, lo
que añade una complejidad (y requiere más tiempo).
• Una buena base (necesaria) la recogen los compañeros de
Software-Carpentry.
14
![Page 15: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/15.jpg)
cacheme.orgPrimeros pasos con Python…
…un camino difícil
“ME DA ERROR, ¿AHORA QUÉ?“
• La resolución de errores se basa en la experiencia, pero los
mecanismos que seguimos por forma natural no se
enseñan:
• Comenzar por ejemplos similares y modificarlos
• Aprender a leer los mensajes de error
• Buscar en la documentación
• Herramientas de debug
¡No (solemos) prestamos atención a esto!
15
![Page 16: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/16.jpg)
cacheme.org
Fallos a evitar
https://www.youtube.com/watch?v=FtKO619O5g0
http://software-carpentry.org/blog/2013/06/lessons-learned.html
16
Preguntamos a los asistentes y esto es lo que nos dijeron. El resultado
fue similar a lo que Greg Wilson de Software-Carpentry resumió en su
charla de la PyCon 2014:
![Page 17: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/17.jpg)
cacheme.orgFallos a evitar
“¡ESTO ES MUY FÁCIL! SÓLO TIENES
QUE…”
17
• Simplemente evítalo
![Page 18: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/18.jpg)
cacheme.orgFallos a evitar
“ … “
• Profesores expertos obvian conceptos “básicos” o conexión
entre los mismos al darlo por hecho.
• Mejor repasar conceptos clave y fomentar que parte de los
instructores sean novatos.
18
![Page 19: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/19.jpg)
cacheme.orgFallos a evitar
“FALTA DE FEEDBACK”
• Identificas gente que se ha perdido con post-its de colores.
• Si tienes un 50% de asistentes que no pueden seguirte, no
sigas. ¿Solución?
• Colaboración entre asistentes, los que han terminado que ayuden al
compañero.
• Preguntas test, donde cada respuesta errónea identifica un fallo de
concepto común.
19
![Page 20: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/20.jpg)
cacheme.orgFallos a evitar
“QUÉ (CÓDIGO) CÓMO (LÓGICA DEL
PROCESO) POR QUÉ (MOTIVACIÓN)”
• Busca ejemplos aplicados llamativos antes de ejercicios
simples y aburridos. Explica primero cual es la motivación,
después la lógica y por último el contenido.
20
![Page 21: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/21.jpg)
cacheme.orgFallos a evitar
“WINDOWS, MATLAB…
TODO_LO_QUE_NO_ES_LIBRE
SUCKS!”
• Evita despreciar herramientas de trabajo de tus
compañeros, quizás sean lo único que conozcan.
• Da valor a las tuyas.
21
![Page 22: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/22.jpg)
cacheme.orgFallos a evitar
“DERRIBAR AL ADVERSARIO”
• Tratamos de fomentar Python comparándolo con los puntos
fuertes de herramientas comerciales (especializadas) que
funcionan muy bien. Es mejor buscar las fronteras y
fomentar aquello donde los rivales son más débiles (GUIs,
IPython Notebook, control de versiones, filosofía open
source, TDD…)
22
![Page 23: Python en ciencia e ingenieria: lecciones aprendidas](https://reader034.vdocuments.pub/reader034/viewer/2022042701/559c199a1a28ab2c598b46dd/html5/thumbnails/23.jpg)
cacheme.orgFallos a evitar
23
“¿UNA MUJER
PROGRAMANDO?”