Categorías
CAChemE Python

Análisis de la PyConES 2014 – Zaragoza

Los pasados días 7 y 8 de noviembre, una delegación de CAChemE asistimos a la PyConES 2014 que tuvo lugar en Zaragoza. La PyConES es el encuentro nacional de programación en Python, siguiendo el formato de las PyCon a nivel mundial.logo-pyes2014

Tuvimos la oportunidad de asistir a numerosas charlas, impartidas por profesionales del sector, como James Powell (@dontusethiscode), que comentó las ventajas de los generadores en Python, o Victor Terrón, que exploró diferentes conceptos y técnicas fundamentales para hacer idiomáticas y elegantes las clases de programación.

Victor Terrón durante la PyConES 2014
Victor Terrón explicando errores comunes en Python (POO).

También disfrutamos mucho con las PyLadies (@PyLadies_ES), que inundaron de energía las aulas de conferencia. Por ejemplo, dos PyLadies nos descubrieron el potencial de pandas (Python) para la recopilación, manejo y análisis de datos con la charla “Porque Charles Xavier debe cambiar a cerebro por Python”.

Nuestra participación en la conferencia llegó en forma de taller, llamado Python Científico, colaborando con Pybonacci (@Pybonacci), en el que introducimos las posibilidades que ofrece Python a la ciencia y la investigación.

Kiko y Juanlu de Pybonacci
Pybonacci introduciendo pandas para análisis de datos.

Los compañeros de Pybonacci hicieron una excelente labor introduciendo las herramientas del ecosistema científico como NumPy+IPython+matplotlib y las ventajas de trabajar con pandas. Nuestro compañero Fran introdujo el cálculo simbólico con SymPy  y el numérico con SciPy, mientras que yo presenté un ejemplo de resolución de ecuaciones diferenciales dadas por el modelo epidemiológico del virus del Ébola. Nuestra compañera Zuri cerró el taller con una charla sobre motivación y lecciones aprendidas.

Zuria Bauer explicando las dificultades de Python para un novato/a

Daniel Domene explicando cómo resolver un sistema de EDOs con Python
Participación de alumnos de Ingeniería Química (Universidad de Alicante) en la PyConES 2014.

El taller se presentó en formato de IPython Notebooks y están colgados en GitHub, por lo que no dudéis en echarle un vistazo y practicar con los ejemplos:

Personalmente, nunca antes había tenido la oportunidad de asistir a un evento de estas características y me ha asombrado mucho el gran entusiasmos de los asistentes, capaces de reunirse en fin de semana para hablar de “trabajo”, simplemente impresionante. Me hubiera gustado tener más nivel para poder haber seguido todas las ponencias, y aunque hubiera ayudado especificar (o promover) mejor más charlas para novatos, gracias a este fin de semana me llevo mucha energía para continuar aprendiendo.

CAChemE - PyConES 2014
CAChemE en la PyConES 2014 (en orden: Zuri, Fran y Dani)

Como conclusión del evento, es sorprendente la comunidad de Python, capaz de unir a programadores y científicos en un fin común. Aunque de estos últimos en menor cantidad, por eso ánimo a todos a participar de la comunidad, nos vemos en la siguiente PyConES.

Categorías
CAChemE Python

Taller: Python para ciencia e ingeniería – PyConES 2014

El próximo domingo 9 de noviembre introduciremos junto a Pybonacci el lenguaje de programación Python enfocado principalmente a científicos, ingenieros o cualquier persona interesada en análisis y visualización de datos. En este taller de introducción a Python científico, enseñaremos a utilizar las herramientas básicas que forman su ecosistema.

Si ya tienes tu entrada para la PyConES 2014 y te gustaría asistir, completa el siguiente  formulario para que podamos prepararnos mejor.

Actualización: Artículo de la revista Nature donde habla de las ventajas de IPython Notebook en el mundo científico

Temario

  • 01 | Introducción a Python científico: NumPy, matplotlib e IPython Notebook (30-45 min)
  • 02 | SymPy (15 min)
  • 03 | Introducción a SciPy (30 min)
  • 04 | Pandas (15 min)

En particular, nosotros nos centraremos en SymPy y la resolución de un modelo epidemilógico SEIR del virus del Ébola con SciPy.

 

numpy-core
Python in Big Data analytics: Pasado, presente y futuro, por Travis E. Oliphant

¿Por qué?

Durante este último año, CAChemE y Pybonacci hemos introducido Python a los alumnos de la Universidad de Alicante (UA) y Universidad Politécnica de Madrid (UPM), localizando puntos débiles que pueden dificultar su uso como alternativa a soluciones comerciales. El taller contará incluso con el punto de vista de principiantes, donde alumnos de grado de Ingeniería Química de la UA contarán su experiencia, primeros pasos y errores que cometieron (o cometimos) iniciándose en el ecosistema de Python científico.

Fecha , hora y localización:

  • Domingo,9 de noviembre de 2014 desde las 10:00 hasta las 12:00 h
  • PyConES 2014, Centro de Arte y Tecnología Etopia, Zaragoza (España).

Materiales del curso:

El material del taller será accesible desde GitHub. Te recomendamos, no obstante, la visualización del Curso online y/o las lecciones del Curso de AeroPython ya que serán la base de nuestro taller y son mucho más completas. Por ejemplo, puedes seguir estas indicaciones para instalarte Anaconda en tu equipo.

Nos vemos en la PyConES 🙂

Categorías
Python

Métodos numéricos con Python (curso online)

Tal y como Lorena Barba anunció en la conferencia SciPy 2014, hoy lunes 18 de agosto, comenzará el curso online gratuito titulado Practical Numerical Methods with Python.

Este curso es una colaboración entre las facultades de cuatro instituciones de todo el mundo y tiene como objetivos:

  • Conectar la física representada por un modelo matemático a las características de los métodos numéricos para su resolución
  • Sacar el partido a todo el potencial de cálculo de tu ordenador mediante el uso de métodos numéricos programados usando Python (no MATLAB)
  • Interpretar las soluciones numéricas que se han obtenido en cuanto a su precisión, significado físico e idoneidad para aplicaciones

numericalmooc_graphic

¿A quién le puede interesar?

La aplicación de métodos numéricos para ecuaciones diferenciales son omnipresentes en ciencia y la ingeniería. Este curso es perfecto para estudiantes de matemáticas, ciencia o ingeniería que quieran desarrollar una base sólida de computación científica. Además, el desarrollo de este curso y sus instructores están basados en la filosofía del software de código abierto. Este curso es especialmente interesante para aquellos que están dispuestos a participar en la creación de conocimiento distribuido en la web con herramientas como GitHub y IPython Notebook/Jupyter.

¿Por qué Python y no MATLAB?

Python es libre y gratuito. Python es una solución de programación completa, con excelentes opciones interactivas y herramientas de visualización. Python es un lenguaje muy fácil de aprender con una gran comunidad, tanto de programadores como científicos detrás. Para la computación numérica, Python puede hacer todo lo que MATLAB puede hacer; pero de forma libre y gratuita. La popularidad de Python crece de forma exponencial y se empieza a utilizar en la industria (puede ayudarte a conseguir un trabajo). Si no conoces Python, te recomendamos este curso junto a nuestra introducción en español de Python para científicos e ingenieros.

¿Puedo ver un ejemplo de lo que aprenderé?

Si bien el curso lo forman varias instituciones y docentes, uno de los contenidos claves serán los notebooks de Lorena A. Barba llamados 12 steps for Navier Stokes (en español, 12 pasos para Navier Stokes). Aunque depende de la experiencia que tengas con Python, se estima que el curso conlleva unas 6 h/semana de trabajo.

Inscripción gratuita:

Categorías
CAChemE Python

Software-Carpentry en español

Software Carpentry tiene como misión enseñar a los investigadores habilidades básicas informáticas aplicables en el ámbito científico (herramientas y técnicas que ayudarán a hacer más cosas en menos tiempo y de forma menos dolorosa).

software-carpentry-espanol
Software Carpentry enseña habilidades informáticas a científicos e ingenieros por todo el mundo

Los instructores son voluntarios y han impartido más de un centenar de eventos a miles de científicos en los últimos dos años y medio. Todos los materiales de las lecciones son libremente reutilizables bajo la licencia Creative Commons.

Sin embargo, todo contenido está escrito en inglés y supone un grado de dificultad añadido para todo aquel que quiera empezar a aprender.

CAChemE formará parte de su traducción al español para facilitar los primeros pasos. ¡Colabora con nosotros!

Sus lecciones cubren los principales temas que cualquier informático domina pero que a muchos científicos e ingenieros se nos escapan. Además, debido a su experiencia y enfoque, la calidad de las mismas es espectacular. Para muestra este vídeo de la última PyCon donde comparten muchas de las cosas que han aprendido durante este tiempo:

Categorías
CAChemE Python

Resumen e impresiones curso Python para científicos e ingenieros

¡Éxito!

De esta manera tan contundente y expresiva se podría calificar al curso de Python para científicos e ingenieros enmarcado en el mes cultural de Escuela Politécnica Superior de la Universidad de Alicante y celebrado entre los días 24 y 27 de febrero de 2014.

Todo comenzó en la PyConEs 2013 donde CAChemE meets Pybonacci y, a partir de ahí, se gestó una relación en forma de colaboración entre ambas entidades. En este caso, uno de los miembros de Pybonacci, Juan Luis Cano, se prestó a realizar un curso introductorio para científicos e ingenieros acerca de Python.

 

Cuando se lanzó el curso y comenzó el proceso de selección de participantes en el mismo, el cupo de participantes se llenó en unas dos horas e, incluso, la página web sufrió un pequeño colapso ante la demanda de gente interesada en participar en el mismo. De hecho, a las pocas horas, hubo que lanzar un aviso para que nadie más se apuntara dado que ¡¡había apuntada más del doble de gente de la capacidad que tenía el curso!! Por tanto, las expectativas estaban en todo lo alto.

El curso se inició como tal el lunes 27 por la tarde, aunque, en honor a la verdad, por la mañana hubo una pequeña charla inicial en la que se comentaron ciertos aspectos de Python e IPython y algunas motivaciones para el desarrollo de este programa.

Presentación de Python en la Universidad de Alicante

El esquema de las clases consistía en una pequeña introducción a algún tipo de comando de IPython y el planteamiento de un ejercicio para su resolución. Los alumnos resolvían ese ejercicio basándose en las explicaciones previas para, de esta manera, reforzar los conceptos explicados previamente.

¿Qué aspectos podemos valorar como los positivos del curso?

  • En primer lugar, la sapiencia del instructor, Juanlu, que de manera amena y entendible ha permitido a los alumnos aprender y asimilar los conceptos para trabajar en el entorno Python.
  • El dinamismo de las clases: al estar fracturada en bloques, permite explicar un concepto y aplicarlo en un ejercicio concreto.
  • La buena acogida por parte de los alumnos. En general, las críticas han sido muy positivas y se han asimilado los conceptos que se pretendían inculcar.

Aulas de la Escuela Politécnica Superior de Alicante (eps.ua.es)

¿Qué aspectos no han sido tan positivos?

  • Probablemente, la gente que se ha quedado fuera del curso, ya que hubo bastante demanda para el nivel en que nos encontramos.
  • Algunos fallos técnicos al inicio del curso con los diferentes tipos de Python que algunos alumnos llevaban instalados.
  • La calefacción, que no había forma de quitarla 😉

Para aquellos que se quedaron sin plaza y/o quiera repasar lo aprendido durante el curso, pueden acceder a la versión online del mismo:

Y nada más, agradecer a todos los participantes su presencia en el curso, agradecer a Juanlu su dedicación para que todo el mundo saliese con una buena base de Python y si queréis añadir algo más, no dudéis en hacerlo en los comentarios o en nuestra cuenta de Twitter o correo.
Este curso ha sido posible gracias a la financiación del Departamento de Ingeniería Química y la Escuela Politécnica Superior de la Universidad de Alicante.

Foto de grupo - Curso Python Alicante

Categorías
podcast Python

Análisis PyData London y Curso de Python Científico 2014 – CAChemE’s podcast #4

El pasado mes de febrero se celebró la PyData en Londres, primera conferencia dedicada a Python y el análisis de datos en territorio Europeo. Gracias una beca de diversidad de NumFOCUS, CAChemE fue invitado a la conferencia y @Pybonacci, que también asistió a la PyData y acaba de dar una charla + curso de Python en la Universidad de Alicante, vuelve a colaborar con nosotros en este podcast:

Algunos links para obtener más información:

Como siempre, si hay algo que te hubiera gustado añadir puedes comentárnoslo justo aquí abajo.

Música:

Categorías
Python

Curso de introducción a Python para científicos e ingenieros en la EPS de Alicante

Aquí encontrarás información detallada sobre el curso de Python que tuvo lugar en la Escuela Politécnica Superior de Alicante durante el mes cultural.

Duración: 10 horas
Coste: ¡Gratuito!

Empresas que usan Python
Fuente: Continuum Analytics

Horario y aulas:

Del Lunes 24 de Febrero hasta el Jueves 27 de Febrero
▪ Lunes – 15:00 a 17:30 en laboratorio L27 (edificio Politécnica I segunda planta)
▪ Martes – 15:00 a 17:30 en laboratorio L22 (edificio Politécnica I segunda planta)
▪ Miércoles – 14:30 a 17:00 en laboratorio L027i (edificio Politécnica IV)
▪ Jueves – 15:00 a 17:30 en laboratorio L14 (edificio Politécnica I)
+Información de otras actividades del mes cultural de la EPS

  • Introducción a la sintaxis de Python
  • Uso del Notebook de IPython
  • Introducción a NumPy
  • Representación gráfica con matplotlib
  • Análisis numérico con SciPy
  • Introducción a la depuración con pdb, testing y buenas prácticas

Lo impartirá Juan Luis Cano (@Pybonacci) y CAChemE (@CAChemEorg) estará presente como organización y apoyo. El curso se ha diseñado para que sea práctico, con ejemplos extraídos de asignaturas comunes en carreras científicas y de ingeniería.

Requisitos:

Conocimientos básicos de programación. No se trata de explicar qué es un bucle y un condicional, pero con haber escrito alguno en MATLAB (o similares) es suficiente.

Inscripción:

El plazo de inscripción se abrirá el viernes 7 de febrero a las 12:00 h siendo accesible desde esta página web. Las plazas son limitadas y se prevén bastantes incripciones. Comprueba el horario y si ya es seguro que puedes asistir, te recomendamos ponerte una alarma para apuntarte y evitar sorpresas 😉

Actualización: Plazo de inscripción cerrado. Permanece atento al correo para recibir más información referente a tu solicitud.

Para cualquier duda que tengáis podéis usar los comentarios, nuestro formulario de contacto o preguntarnos por los pasillos del departamento.

Este curso ha sido financiado por la EPS y el Departamento de Ingeniería Química de la Universidad de Alicante.

Aprende más sobre Python

Para aquellos que no puedan asistir al curso y tengan interés por Python, daremos una charla de introducción a Python el lunes 24 de febrero a las 12:00 h dejando tiempo para preguntas.

El ecosistema Python es muy amplio y se encuentra plena evolución, si quieres saber más puedes ver nuestras entradas más recientes y el blog de Pybonacci:

¿Cómo me lo instalo?

Pese a que los ordenadores de las salas tendrán Python instalado, es buena idea que traigas tu portátil para configurarlo y poder trabajar desde el.

Instalar Python 2.7 y 3 en Windows (Anaconda) from CAChemE
Categorías
Python talks

Charla: Introducción a Python para científicos e ingenieros

Python es un lenguaje de programación libre y gratuito que está sustituyendo a MATLAB (entre otros) en universidades norteamericanas tales como MIT, Stanford o Caltech, y que está siendo utilizado por empresas como Google o la NASA. La temática de la charla está orientada descubrir o conocer más detalles de este lenguaje y el cambio que está suponiendo en el ámbito científico e ingenieril.


Presentador:

Juan Luis Cano

Juan Luis Cano es estudiante de Ingeniería Aeronáutica de último año en la Universidad Politécnica de Madrid y editor del blog de Pybonacci, referencia a nivel nacional en cuanto al uso de Python en cálculo científico e ingenieril.
Juan Luis se encargó de la organización del track científico de la PyConES (primera conferencia nacional dedicada a Python) dando varios cursos de introducción así como avanzados. Es desarrollador de varios paquetes especializados en ingeniería y ha sido formador para empresas interesadas en adoptar Python como herramienta de trabajo.

Aprende más sobre Python

El ecosistema Python es muy amplio y se encuentra plena evolución, si quieres saber más puedes ver nuestras entradas más recientes y el blog de Pybonacci:

Categorías
Python

Control PID con interfaz web y Python (PIDW)

Nelson Carrasquel presenta un Controlador PID con interfaz web realizado en Python. Para ello usa un PC para controlar un proceso dinámico que incluye:

  • Una interfaz gráfica web (javascript) para monitoreo y ajuste de control mediante Bottle.py
  • Servidor Modbus que permite la conexión a través del protocolo TCP/IP
  • Previsto para comunicación OPC (adquisición de las variables de campo), aunque en el ejemplo se hace uso de NI Modbus para obtener las variables de un reactor químico simulado mediante LabVIEW
  • Algoritmo genérico de PID y la librería threading que permite la ejecución de los sistemas en paralelo con Python

El siguiente vídeo presenta PIDW (PID-web) y lo pone en práctica para simular el control PID de un reactor químico.

 

 

 

El propósito del proyecto PID-web es investigar los resultados del mismo probando unas simulaciones dinámicas en la escuela de Ing. Química de la Universidad Central de Venezuela. A largo plazo, se pretende llevar a cabo una prueba de concepto donde se logre sustituir todos los elementos de control tanto por software como hardware libre.

Si deseas aprender más sobre teoría de control, te recomendamos las entradas de Pybonacci:

Categorías
Python

Sage vs SymPy como alternativa a Mathematica, Maple y MATLAB (Mupad)

SymPy y Sage son dos alternativas de código abierto y gratuitas a Maple / Mathematica / Mupad (MATLAB). Permiten realizar operaciones de Cálculo Simbólico y proporcionan un sistema de álgebra computacional (en inglés CAS, Computer Algebraic System) haciendo uso de Python para ello. Pero, ¿cuál es mejor? ¿tiene sentido hacerse esa pregunta?

Sage como alternativa a Mathematica
Sage (versión online y cloud) – Doc

Sage pretende agrupar todos los paquetes de software de código abierto de matemática (de hecho, SymPy está incluido en Sage) y proporciona una interfaz para todos ellos. A día de hoy, Sage puede parecer mucho más completo ya que hace uso de varías funcionalidades de estos paquetes en un mismo entorno. Dada su licencia GPL, su código se puede reutilizar siempre que se mantenga esta misma licencia.

SymPy como alternativa a Mathematica
SymPy (versión online) – Doc

SymPy utiliza un enfoque diferente ya que es un módulo (biblioteca) de Python, ligero, fácil de instalar y utilizar. Así, la principal ventaja de SymPy es que está escrito en Python puro (no se necesita nada más) y es perfectamente multiplataforma (Sage no se encuentra en Windows). Su licencia además es BSD lo cual permite utilizar el código para un proyecto y decidir si se libera o no.

Diferencias de sintaxis entre Sage y SymPy

Sus sintaxis es diferente ya que SymPy no pretende crear un entorno nuevo y sigue una nomenclatura tipo Python a diferencia de Sage que es más similar a un entorno más clásico. Sin duda, este extenso análisis de diferencias de sintaxis y posibilidades entre Sage y SymPy (en inglés) te ayudará a ver tales diferencias. Por ejemplo, en SymPy el operador de exponenciación es ** tal y como lo es en Python. Sage admite además ^ como en muchos otros sistemas.

Conclusión ¿Sage o Sympy?

En nuestra opinión, la filosofía de SymPy y su integración completa con Python y por ende su compatibilidad con el resto de librerías en el ecosistema de Python científico (NumPy, matplotlib etc) lo hace más interesante.

Pero, sin duda dependerá de las necesidades de cada uno. Lo bueno es que ambas son alternativas libres y gratuitas 😉

Si te decides por empezar con SymPy, te recomendamos las entradas del magnífico blog de Pybonacci: Introducción y ejemplos reales con SymPy.

Y tú, ¿crees que es mejor Sage o SymPy?, ¿qué ventajas o inconvenientes les ves frente a Mathematica o Maple?