Categorías
Python tutorial

Cómo enseñar Python en el colegio o instituto para clases de matemáticas o informática

Una profesora nos ha preguntado información de material docente para enseñar a programar en el colegio o instituto. Esta pregunta nos encanta y dado que en EEUU y otros países se está apostando mucho por ello, vamos a recopilar un listado de las opciones más interesantes de menor a mayor complejidad.

¿Por qué enseñar a programar?

Por lo tanto, para comenzar desde cero recomendamos code.org y Blocky. Este último nos gusta porque que te enseña el código de tu programa en Python que resuelve un laberinto:
python-videojuego
¿Puedes resolver este laberinto programando con bloques? (¡ojo que no es tan sencillo!)

Aprender a programar Python jugando

Existen varias webs con videojuegos online muy sofisticados para aprender Python muy interesantes tanto para alumnos como docentes, por ejemplo:

[box type=»note»]Recuerda: En esta entrada de CAChemE ya hablamos de libros, algunos con licencia permisiva, para enseñar programación con Python a cualquier interesado (sin importar la edad). ¡No te la pierdas!

En esta línea, aquí unos serie de libros de Python para crear aplicaciones o videjuegos personalizados:

Aunque hay que reconocer, que una de las plataformas más llamativas, pese a no ser Python, es la de appinventor.
app-inventor-programacion
Crea tus propias aplicaciones móviles para Android

 Python para física o matemáticas:

Si los alumnos van a utilizar Python en sus asignaturas de física o matemáticas, hay que dar un un vistazo al canal de youtube de Jose Luis Tabara Carbajo.

Instalación:

Nosotros recomendamos instalar miniconda y Python 3 ya que es multiplataforma y gratuito.
Si van a hacer algo científico, lo mejor instalarse la versión completa de Python llamada Anaconda:
Como editor de código, puedes usar notepad++, atom o sublime. Te recomiendo darle un vistazo a Python Tutor que es lo cómo enseñan Python en universidades americanas:
Como IDE científco Jupyter Notebook es lo que utilizamos nosotros. Dale un vistazo a la demo de Nature u otros materials donde explican conceptos complicados con código de forma similar a PHET.
Y voy a parar aquí porque si tus alumnos y alumnas aprenden todo esto nos dejas sin trabajo en la Universidad 😉

 

 

Categorías
Python tutorial

Python científico en paralelo (cursos y tutoriales rápidos para principiantes)

Python es de facto el lenguaje de programación más popular del momento. Pero, ¿cómo realizar tareas sencillas en paralelo y sin apenas esfuerzo?

Lo creas o no, esto es es posible y lo mejor es que sólo existen tres palabras claves que necesitas conocer: numba, map y submit

numba

No nos engañemos, programar en paralelo va a añadir inevitablemente mayor complejidad al código y pronto aprenderás que existe algo llamado Heisenbugs.

Por lo tanto y en primer lugar, si lo que queremos es acelerar el código, con numba conseguiremos dos ordenes de magnitud de mejora simplemente añadiendo ´@jit´ a una función.

Pero, si sigues leyendo esto es porque quieres programar en paralelo, sin apenas esfuerzo y ya tienes:

  1. perfilado tú código para ver dónde se encuentran los cuellos de botella
  2. pensado en la complejidad de tus algoritmos y/o utilizado la herramienta adecuada de la forma adecuada (ej. consejos de NumPy y pandas).
  3. testeado la función en secuencial

Entonces… ¡buenas noticias! Con la nueva versión de numba también podemos paralelizar las funciones compiladas al vuelo:

map & submit

Cualquier librería para trabajar en paralelo tendrá implementadas estás dos funciones:

  • map: Si tienes una operación que debe repetirse n veces de forma indpendiente y en paralelo

  • submit: Si la tarea a repetir depende de alguna condición y no ves claro cómo usar map

Ambas operaciones pueden llevarse a cabo trabajando con dos técnicas muy diferentes:

  • multithreading: compartimos datos en memoria y trabajamos de forma independiente sobre ellos (ej. leer archivos de una lista de nombres).
  • multiprocessingnuestros datos de entrada pueden cambiar durante la operación por lo que necesitamos hacer una copia de cada uno de ellos y distribuirlo de forma independiente.

Por defecto, el intérprete de Python bloquea las variables globales y, por tanto, si queremos trabajar sobre ellas necesitamos copiar datos de un lado a otro (lo que conlleva un tiempo extra y obliga a usar multiprocessing). Esto se le conoce como GIL y es un tema de gran controversia.

Entonces, ¿por dónde empiezo y qué herramienta es la mejor?

Nosotros recomendamos seguir estos tres tutoriales de la conferencia SciPy 2017.

Parallel Data Analysis in Python

  • Para aprender los fundamentos y varias opciones que existen dentro de Python.

Parallelizing Scientific Python with Dask

  • Si trabajas con NumPy/pandas y quieres paralelizar o trabajar con archivos que no caben en memoria

Numba: Tell Those C++ Bullies to Get Lost (2017)

  • Si inevitablemente tienes muchos bucles for y NumPy no es suficiente

Conclusiones (TL;DR)

Si de verdad necesitas trabajar en paralelo, usa Dask (ver diapositivas).

Categorías
cursos simuladores tutorial

Curso de introducción a simuladores de procesos químicos

Curso de introducción a simuladores de procesos químicos mediante software libre y gratuito como alternativa a Aspen Plus, Aspen HYSYS y ChemCAD. Aprende los fundamentos y ponlos en práctica en este curso de 10 horas que tendrá lugar en el COIQCV. Haremos uso de DWSim, alternativa libre y gratuita a simuladores de procesos comerciales.

cartel-curso-simulacion-procesos-quimicos-ordenador

Lugar:

  • Sede del COIQCV (c/ Padre Tomás Montañana 26, 1D, Valencia)

Fechas y horario:

  • Viernes 3 de junio de 16 a 21 h
  • Sábado 4 de junio de 9 a 14 h.

Temario (10 h):

  • Conceptos básicos sobre la arquitectura y funcionamiento de los simuladores de procesos químicos secuenciales-modulares.
  • Repaso de los fundamentos del equilibrio entre fases. Elección del paquete termodinámico.
  • Simulación de equipos básicos de la industria química (mezcladores, separadores, compresores, bombas, intercambiadores de calor, etc.).
  • Simulación de reactores y columnas de destilación.
  • Casos de estudio

 

Inscripción (plazo ampliado hasta el 2 de junio)

Recuerda que este curso puede ser financiado por la Fundación Tripartita, consúltalo con tu empresa.

Instructores:

Dr. Juan Javaloyes

Juan-Javaloyes-CAChemE-sq

Juan Javaloyes es Dr. Ingeniero Químico por la Universidad de Alicante. Actualmente forma parte del grupo de investigación COnCEPT (Computer Optimization in Chemical Engineering Processes and Technologies). Su campo de investigación es la síntesis y optimización de procesos industriales utilizando simuladores de procesos químicos y herramientas de programación matemática.
Juan Javaloyes ha trabajado anteriormente en un proyecto de investigación en colaboración con el departamento de Tecnología de SABIC – IP Cartagena (2009-2011). Dicho proyecto se centró en la optimización energética y rediseño de una planta de proceso para la producción de difenil carbonato (DPC). Los resultados obtenidos en esta investigación culminaron con la publicación de cuatro patentes. Juan ha sido instructor de un curso de introducción a la simulación dinámica utilizando Aspen Hysys Dynamics y durante los años 2009 – 2012 obtuvo el Máster en Investigación en Ingeniería Química y el Máster en formación de Profesorado.

Natalia Quirante

Natalia-Quirante-CAChemE-sq

Natalia Quirante es Ingeniera Química y Máster en Gestión Sostenible y Tecnologías del Agua, ambas por la Universidad de Alicante. Actualmente es investigadora en formación en el Instituto Universitario de Ingeniería de los Procesos Químicos y pertenece al grupo de investigación COnCEPT (Computer OptimizatioN of Chemical Engineering Processes and Technologies). Su labor investigadora se centra principalmente en el diseño y la optimización de procesos industriales usando modelos surrogados. Además, estudia nuevos modelos complejos, aplicados a procesos reales, relacionados con la eficiencia energética y medioambiental.

Alba Carrero

Alba-Carrero-CAChemE

Alba Carrero es Ingeniera Química e investigadora en el grupo COnCEPT de la Universidad de Alicante. Actualmente participa en el proyecto europeo ShaleXenviromental donde diseña y optimiza procesos de tratamiento de agua con el fin de hacer frente a las actuales limitaciones por problemas medioambientales en la explotación de los pozos de gas de esquisto. Alba ha trabajado anteriormente en Inprocess Technology and Consulting realizando proyectos internacionales de simulación dinámica con Aspen Hysys Dynamics en el sector de Oil&Gas (2014-2015). Además, ha sido instructora del curso de CAChemE de iniciación a la simulación de procesos químicos con COCO simulator y ChemSep (2014).

 

¿A quién va orientado este curso?

Los simuladores de procesos químicos son una herramienta ampliamente utilizada que simplifica el trabajo de los ingenieros químicos y permite resolver una gran variedad de problemas de simulación, diseño y optimización. Estos simuladores incluyen una amplia librería termodinámica y modelos detallados para calcular balances de masa y energía para un gran número de operaciones unitarias presentes en la industria química, permitiendo reproducir con precisión los procesos implementados. En este curso de introducción de 10 h se van a repasar los fundamentos de los simuladores de procesos químicos secuenciales-modulares en estado estacionario y se pondrán en práctica mediante DWSIM (alternativa libre y gratuita a simuladores de procesos comerciales como Aspen Plus, Aspen HYSYS o ChemCAD). Recomendamos este curso tanto a estudiantes como profesionales que busquen mejorar su formación en el área de simulación de procesos.

Aprende más sobre Ingeniería de Procesos Químicos por ordenador

Suscríbete a nuestro canal de YouTube o síguenos en Facebook o Twitter.

Categorías
cursos Python tutorial

Taller de optimización (programación matemática) con Python y Pyomo

Tras los éxitos consecutivos de las dos ediciones del curso de introducción a Python para científicos e ingenieros llega el momento de dar el salto para plantear la resolución de problemas de optimización matemática con aplicación a nivel académico y/o industrial. En este taller práctico enseñaremos a utilizar Pyomo, la alternativa gratuita a GAMS y AMPL desarrollada en Python.

workshop python optimizacion pyomo

Un problema de optimización consiste, a grandes rasgos, en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y calculando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones (lineales y no lineales) y variables enteras (para modelar la toma de decisiones discretas). Dos de los lenguajes de modelado comerciales más utilizados para resolver este tipo de problemas matemáticos son GAMS y AMPL. Pyomo (pyomo.org) proporciona una alternativa libre y gratuita a estos lenguajes de modelado algebraico haciendo uso de Python, un lenguaje de programación de alto nivel con todas las funciones con un rico conjunto bibliotecas científicas.

Respecto a sus capacidades como lenguaje de modelado algebraico, Pyomo es compatible con una amplia gama de tipos de problemas de optimización tipo LP, QP, NP, MILP, MINLP, MISP entre otros y se comunica con los principales solvers comerciales, gratuitos y/o libres.

La resolución mediante métodos de optimización son a menudo desconocidos o bien delegados por falta de tiempo y/o recursos. Por este motivo, en este taller para estudiantes de la EPS de la Universidad de Alicante se realizará un breve repaso a conceptos de optimización y presentará Pyomo para la resolución de diferentes problemas tipo.

Duración: 6 horas

Coste: ¡Gratuito! (plazas limitadas)

Horario y aulas:

Del jueves 18 y viernes 19 de febrero de 16:00 a 19:00 h en el edificio Politécnica I (laboratorio L24)

Temario

  • Repaso al ecosistema Python, Jupyter Notebook e instalación de Pyomo
  • Introducción a Pyomo (ver vídeo)
  • Resolución de problemas de optimización con Pyomo tipo LP (ver vídeo)
  • Repaso a las posibilidades de Pyomo:

    A continuación, puedes ver las diapositivas de introducción a Pyomo que Daniel Domene y Carlos Planelles presentaron durante la PyConES 2015:

    Instructor:

    Juan Luis Cano - Python

    Juan Luis Cano es Ingeniero Aeronáutico por la Universidad Politécnica de Madrid y editor del blog de Pybonacci, referencia a nivel nacional en cuanto al uso de Python científico.
    Juan Luis repite como instructor y posee amplia experiencia docente tanto en empresas interesadas en adoptar Python como herramienta de trabajo como en su universidad de origen (UPM).

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

    Requisitos:

    • Conocimientos de optimización. Haber cursado una asignatura de optimización de procesos que incluya conocimientos básicos sobre problemas de tipo LP, MIP, NLP y MINLP, y sobre el modelado de estos problemas (incluyendo variables binarias). Si no estás familiarizado a la resolución de problemas de optimización GAMS o AMPL, te recomendamos varios recursos online para aprender por tu cuenta y/la o documentación de Pyomo.
    • Conocimientos de programación. Por falta de tiempo, no podremos de explicar conceptos básicos de programación (por ejemplo, qué es un bucle y un condicional, etc.) Con saber cualquier otro lenguaje de programación MATLAB (o similares) es suficiente.
    • Visualización previa del curso online de Python. Si bien Python es uno de los lenguajes más fáciles de aprender, no cubriremos la sintaxis y posibilidades del lenguaje en esta ocasión (es un taller de Pyomo). Todas sus funcionalidades y librerías serán referenciadas a este material online durante el curso.
    • Poder asistir a la totalidad del curso
    • Ser estudiante de la UA o formar parte del colectivo PDI o PAS.

    Inscripción:

    El plazo de solicitud de inscripción se abrirá el miércoles 10 de febrero a las 16:00 h siendo accesible desde esta página web. Las plazas son limitadas y se asignaran por riguroso orden de entrada. Se prevén bastantes inscripciones así que comprueba tu horario y si ya es seguro que puedes asistir, te recomendamos ponerte una alarma para apuntarte y evitar sorpresas 😉

  • Debido a la alta demanda y las plazas limitas, se confirmará la inscripción vía email. Te recomendamos que estés pendiente de nuestras redes sociales (Twitter, Facebook) para recibir la información más inmediata. Para cualquier duda que tengáis podéis usar las mismas, los comentarios, nuestro formulario de contacto o preguntarnos por los pasillos de la facultad.Este curso es posible gracias a la generosa financiación de la EPS y sus actividades del Mes Cultural.

    ¿Cómo me lo instalo?

    Pese a que los ordenadores de las salas tendrán Anaconda con Python 3 instalado, es buena idea que traigas tu portátil para configurarlo en tu equipo. Recomendamos instalar Anaconda siguiendo estas instrucciones:

    Bonus – Charla de programación: ¡Sed Hackers!

    El viernes tendremos a Victor Terrón (Ingeniero de Google) que nos hablará de como convertirse en hackers

    • Viernes 18 de febrero a las 13:00 h en el Salon de Actos I de la EPS (leer más)

    Dirigida a estudiantes, esta charla tiene como objetivo ofrecer un enfoque distinto al habitual, mostrando el mundo de la programación accesible para todos. Todos conocemos las “Leyendas Urbanas” que existen sobre Hackers y la programación, a lo largo de la charla se lleva a cabo la comparativa de la realidad frente a la ficción. Dando también a conocer al oyente como puede comenzar a desenvolverse en este nuevo mundo. El acceso a esta charla no necesita de registro alguno.

    Aprende más sobre Python

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

Categorías
cursos Python tutorial

Curso de introducción a VBA-Excel y Python

Información y material del curso de introducción a la programación con Excel-VBA junto con Python (pandas) financiado por la subdirección de Ingeniería Química de la Escuela Politécnica Superior de la Universidad de Alicante (¡gracias a todos por participar en la encuesta y en nuestro evento de Facebook !).

Temario impartido (10 h):

El temario a cubrir es muy extenso y podría darse en una asignatura anual. Sin embargo, nuestra idea es mostrar con ejemplos las posibilidades de automatización de tareas y tratamiento de datos que ofrece Excel en combinación con VBA y Python. Iremos adaptando el contenido según la respuesta del grupo para que nadie se quede atrás. No te convertirás en un experto o experta, pero descubrirás funcionalidades que te podrán ser muy útiles durante tu carrera profesional.

  • Sesión 1:
    • Funciones lógicas, anidadas y formatos condicionales
    • Asignación de nombres y rastreo de funciones
    • Validación, eliminación y protección de datos
    • Filtro y ordenación de datos
    • Tablas y gráficos dinámicos
formato-condicional
Formato condicional
Tabla_dinamica
Tabla dinámica
Grafico-Dinamico
Gráfico dinámico
  • Sesión 2:
    • Importación y exportaciónde datos
    • Automatización de procesos (macros)
    • Creación de controles de formulario

slider-VBA

  • Sesión 3:
    • Edición de macros, introducción a VBA
    • Funciones VBA
  • Sesión 4:
    • Introducción a Jupyter Notebooks
    • Introducción a pandas (opcional)
  • Sesión 5:
    • Ejecución de código Python desde Excel (xlwings)
    • Sustituyendo VBA por Python

pandas

 

Por favor, sigues estas indicaciones para descargar  e instalar Python y xlwings con conda. Recomendamos Python 3 64-bit, aunque xlwings funciona en ambas versiones.

Puedes ver los ejemplos de xlwings o nuestra demo resolviendo un sistema de EDOs.

Requisitos:

  1. Poder asistir a la totalidad del curso. Si no puedes asistir a la totalidad del curso por incompatibilidad de horarios evita inscribirte al mismo. Son varios los estudiantes interesados y, por este motivo, aquellos estudiantes que no acudan a un 80% de las sesiones quedarán excluidos de futuros cursos gratuitos de CAChemE.
  2. Ser alumno de Ingeniería Química en la Universidad de Alicante (actualizado). Si eres estudiante de Máster o del plan antiguo te recomendamos apuntarte igualmente, aunque los estudiantes de grado tendrán cierta prioridad en la asignación de plazas (¿por qué?).
  3. Conocimientos básicos de programación y Excel. No se trata de explicar qué es un bucle, un condicional o escribir fórmulas en Excel. Con haber cursado las asignaturas de MATLAB (o similares) y haber manejado Excel durante los primeros años del grado será suficiente. Si no pudiste asistir al curso de Python, te recomendamos encarecidamente que le des un vistazo a las primeras sesiones de nuestro curso online.

Inscripción:

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

Para cualquier duda que tengáis podéis usar los comentarios, nuestro formulario de contacto o preguntar a los miembros de CAChemE.

 

python-vba
Excel + Python, o cómo ahorrarte VBA y dejar ojiplático a tu jefe (descargar archivo)

Horarios:

  • Lunes 2 de noviembre de 18:00 a 20:00h (Aula L28, EPS I)
  • Lunes 9 de noviembre de 18:00 a 20:00h (Aula L28, EPS I)
  • Lunes 16 de noviembre de 18:00 a 20:00h (Aula L28, EPS I)
  • Lunes 23 de noviembre de 18:00 a 20:00h (Aula L28, EPS I)
  • Lunes 30 de noviembre de 18:00 a 20:00h (Aula L28, EPS I)

Financiación

Este curso gratuito ha sido amablemente financiado por la subdirección de Ingeniería Química de la Escuela Politécnica Superior de la Universidad de Alicante. La financiación de cursos viene de partidas presupuestarias afines a este tipo de actividades. En este caso, los fondos asignados provienen de los estudios de grado. Por este motivo,  si erés estudiante de Máster (o del plan antíguo) puedes inscribirte pero en caso de falta de plazas tendrán prioridad los estudiantes de grado ante la eventualidad de que haya igualdad de condiciones (o tiempos de preinscripción). Si quieres que el departmento financie un curso similar (o más avanzado) para tu plan, házselo saber al delegado de tu curso 🙂

Categorías
big data Python trabajo tutorial

Big Data en ingeniería química, un futuro prometedor

En la industria química el manejo y análisis de grandes volúmenes de datos (también conocido como Big Data) se hace cada vez más indispensable para asegurar una buen control así como ayudar a la toma de decisiones en cuanto seguridad y eficiencia de operaciones en planta. El tratamiento de toda la información proveniente de sensores, que puede catalogarse dentro de un tipo de Big Data, es una de las cualidades que más se buscará según varias previsiones (AIChE, MIT review). En general, parafraseando a Sydney Brenner, la situación actual se podría describir como:big-data-aplicado-ingenieria-quimica

We are drowning in a sea of data but still thirsty of knowledge.

(Estamos ahogándonos en un mar de datos pero seguimos sedientos de conocimiento)

Por otra parte, se pueden incorporar datos provenientes de simulaciones —que hacen uso de modelos matemáticos y métodos numéricos cada vez más sofisticados— siendo además hardwares cada vez más asequibles (futuro de los superordenadores Intel, fíjate en que incluso hay una parte del quesito dedicada a la Ingeniería Química y otra gran parte al CFD).

intel-xeon-applications

El futuro es prometedor dada la convergencia de estas dos líneas y aplicabilidad directa en la industria química —cada vez mejor software en mejor hardware— . Por ello, las competencias «informáticas» son más necesarias que nunca en la industria química y desde CAChemE intentamos que cualquier estudiante o profesional de ingeniería química pueda recibirlas de forma gratuita.

Si acabas de llegar, te recomendamos que le eches un vistazo a Python, un lenguaje de programación tipo MATLAB pero libre, gratuito y perfecto para el Big Data.

Categorías
cursos tutorial

Cómo aprender optimización con GAMS y otros recursos online

De forma recurrente se nos pregunta por recomendaciones de material online para aprender optimización matemática (también conocida como optimización o programación matemática).  En general, siempre que se habla de optimización en la programación, se hace referencia a la reducción en el tiempo de ejecución. Pero la optimización matemática no tiene nada que ver con este problema y, en muchos casos, la formación que se recibe en las universidades no pasa de explicar el algoritmo SIMPLEX.

MaximumParaboloid

Un problema de optimización consiste, a grandes rasgos, en maximizar o minimizar una función real eligiendo sistemáticamente valores de entrada (tomados de un conjunto permitido) y computando el valor de la función. Este problema se vuelve interesante cuando aparecen restricciones, ecuaciones no lineales y variables de decisión en el sistema a optimizar. Dos de los lenguajes de modelado más utilizados para resolver este tipo de problemas matemáticos son GAMS y AMPL.

En nuestro canal de YouTube tenemos tutoriales de uso para GAMS y alternativas libres que hacen uso de Python como Pyomo o CVXOpt.

Si se quiere profundizar en la teoría, recomendamos en español el siguiente material:

  • [ES] Libro gratuito de optimización con ejemplos en GAMS: Modelos de Programacion Matemática en Ingeniería y Ciencia

Por último, dale un vistazo a páginas de cursos como edx.org o coursera.org por si tuvieran cursos de «linear programming» u «optimization», como por ejemplo:

¿Y tú, conoces o recomiendas algún material en especial para iniciarse?

Categorías
Python tutorial

Curso de Python para ciencia e ingeniería en la Universidad de Alicante (2ª ed.)

Tras el éxito de la primera edición, volvemos este año con el curso de introducción al 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 aún no conoces Python, echa un vistazo a algunas de las empresas que utilizan este lenguaje en su día a día (¡incluso la revista Nature!):

Empresas que usan Python
Fuente: Continuum

En esta entrada encontrarás información detallada sobre el curso de Python que tendrá lugar Escuela Politécnica Superior de Alicante durante el mes cultural.

Duración: 10 horas

Coste: ¡Gratuito! (plazas limitadas)

Horario y aulas:

Del lunes 23  hasta el jueves 26 de febrero en el edificio Politécnica I:
▪ Lunes – 15:30 a 18:30 en el laboratorio L24
▪ Martes – 15:00 a 17:00 en el laboratorio L23
▪ Miércoles – 15:30 a 18:00 en el  laboratorio L14
▪ Jueves – 15:30 a 18:00 en el laboratorio L14

Temario

A continuación, puedes ver el vídeo promocional:

Si acabas de llegar aquí y no sabes bien qué ventajas puede aportar Python frente a MATLAB:

Instructor:

Juan Luis Cano - Python

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 científico.
Juan Luis repite como instructor y posee experiencia docente tanto en empresas interesadas en adoptar Python como herramienta de trabajo como en su universidad de origen (UPM). Además, colabora de forma activa con la comunidad y se encargó de la organización del track científico de la PyConES 2013  (primera conferencia nacional dedicada a Python) dando varios cursos de introducción así como avanzados.

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. Si quieres ver el material de un curso similar y más completo, te recomendamos el Curso de Aeropython de la UPM.

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.
  • Visualización previa del curso online. Si bien el curso seguirá siendo de introducción, muchos de los conceptos que ya se dieron en la primera edición (y que se encuentran disponibles online) serán referenciados a este material durante el curso.
  • Ser estudiante de la UA, PDI o PAS.

Inscripción:

El plazo de solicitud de inscripción se abrirá el viernes 13 de febrero a las 12:00 h siendo accesible desde esta página web. Las plazas son limitadas y se asignaran por riguroso orden de entrada. Se prevén bastantes inscripciones (el año pasado se agotaron las plazas en menos de 1 hora). Comprueba tu horario y si ya es seguro que puedes asistir, te recomendamos ponerte una alarma para apuntarte y evitar sorpresas 😉

Debido a la alta demanda, se pedirá confirmación de la asistencia más adelante vía email. Por este motivo, la ausencia al curso de más del 25% (en horas) tendrá como consecuencia la pérdida de la plaza asignada.

Te recomendamos que estés pendiente de nuestras redes sociales (Twitter, Facebook) para recibir la información más inmediata. Para cualquier duda que tengáis podéis usar las mismas, los comentarios, nuestro formulario de contacto o preguntarnos por los pasillos de la facultad.

Este curso es posible gracias a la generosa financiación de la EPS (en un 30%), el  Instituto Universitario de Ingeniería de Procesos Químicos (40%) y la Delegación de estudiantes EPS (30%).

¿Cómo me lo instalo?

Pese a que los ordenadores de las salas tendrán Anaconda con Python 3 instalado, es buena idea que traigas tu portátil para configurarlo en tu equipo. Recomendamos instalar Anaconda siguiendo estas instrucciones:

Charla inaugural

El curso se inaugurará con la siguiente charla:

 Cuando Nature se toma el software libre en serio: Python como alternativa real a MATLAB, Mathematica y otros programas comerciales

  • Lunes 23 de febrero a las 10:00 h

Dirigida a estudiantes, doctorandos y docentes, esta charla tiene como objetivo introducir Python científico en contexto y dar ejemplos reales de su uso. Se recomienda especialmente la charla  a los asistentes del curso y cualquier persona interesada en conocer las alternativas a software comercial como MATLAB o Mathematica.

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
MATLAB Octave tutorial

Curso de introducción a Octave-MATLAB para ingenieros químicos (2ª ed.)

Volvemos este año con la segunda edición del curso gratuito de Octave / MATLAB para ingeniería química. De nuevo, la motivación de este curso es mostrar a los estudiantes una alternativa, libre, gratuita y factible a MATLAB que puedan utilizar una vez comience su vida profesional. Para ello se resolverán diversos problemas, con especial atención al diseño de reactores químicos, un área de conocimiento que requiere del uso de métodos numéricos para su simulación, sin olvidar otros campos de interés.

Horarios y aulas:

  • Lunes 27 de octubre de 15:30 a 18:00 h en el laboratorio L18 (Ed. Poli. I)
  • Martes 28 de octubre de 15:30 a 18:00 h en el aula A3/INF2 del Aulario III
  • Miércoles 29 de octubre de 15:30 a 18:00 h en el laboratorio L17  (Ed. Poli. I)
  • Jueves 30 de octubre de 15:30 a 18:00 h en el laboratorio L17 (Ed. Poli. I)

¿Por qué GNU Otave y no MATLAB?

  • Es altamente compatible y similar a MATLAB, siendo esta última la opción con la que se imparten los cursos de programación a los estudiantes de grado pero que tiene un coste de 69 € para estudiantes y de ~15000 €si lo quieren utilizar en su vida profesional
  • Es software libre y 100% gratuito, disponible para Windows y Linux
  • Octave UPM, por ejemplo, es una adaptación de GNU Octave que se emplea para la docencia de Informática en la Escuela de Ingenieros de Caminos, Canales y Puertos de la UPM y ha sido desarrollado por el Dr. Israel Herraiz
Entorno de programación (similar a MATLAB)
Entorno de programación de Octave UPM (similar a MATLAB)

Actualización: La nueva versión de GNU Octave ya incorpora interfaz gráfica (descargar para Windows)

El curso es gratuito y de acceso libre, todo el material utilizado durante el mismo será también publicado para aquellos que no puedan asistir. No obstante, recomendamos este curso ya que su intención es más práctica que teórica y además estaremos a vuestra disposición para ayudaros a encontrar fallos en vuestros scripts así como resolver dudas puntuales que tengáis. Recomendamos que vengáis con vuestro portátil para poder trabajar siempre que queráis con Octave UPM en vuestro ordenador.

¿Por dónde empezar?

Los requisitos del curso serán tener conocimientos básicos de programación y de reactores químicos. Para el que quiera ir repasando:

Temario:

El temario del curso se dividirá en 4 sesiones de 2,5 horas cada una y se adaptará con la respuesta de los asistentes:

  • Sesión I (2,5 h):
    • Introducción a Octave UPM
      • Buenas prácticas de programación
      • Repaso: Operaciones y comandos básicos de Matlab-Octave
      • Resolución de ecuaciones diferenciales ordinarias

      • Sesión II (2,5 h):
        • Modelado y simulación de RDTAs mediante ejemplos ordenados de menor a mayor grado de dificultad:
          • Llenado de un tanque.
          • Llenado de un tanque con aporte de calor
          • RDTA y reacciones en serie (isotermo)
          • Modelado de un RDTA no isotermo

    • Sesión III (2,5 h):
      • Modelado y simulación de RFPs mediante ejemplos de complejidad progresiva
      • Reacción en fase gas sobre catalizador de óxido de aluminio
      • Craqueo de acetona
      • Craqueo térmico de hidrocarburos (incluyendo balances de materia, energía y cantidad de movimiento).

  • Sesión IV (2,5 h):
    • Introducción a aplicaciones de Octave/Matlab en Ingeniería Biomédica: modelo epidemiológico, tratamiento de imágenes médicas, ayuda al diagnóstico médico, modelización y simulación de sistemas fisiológicos.
    • Resolución de un problema con sucesión de varios reactores RFP en serie
    • Modelado y simulación de la puesta en marcha de un RCTA (comportamiento dinámico)

¿Cómo podrían afectar los recortes a la propagación del virus del Ébola?

ebola-simulacion-CAChemE

 

function main
% Modelo simple SEIR epidemiológico
% del virus del Ébola
% Oct. 2014 - CAChemE.org


% Condiciones iniciales

N = 100; % Población total

y0 = [N, 1, 0, 0, 0]; % [S, E, I, R, D]

% Discretización de la variable independiente

tiempo_simulacion = 350; % días
t  = [0, tiempo_simulacion];

% Llamamos al ode para resolver las eq. diferenciales   
[t,y] = ode45(@DiffEqs, t, y0);


function dydt =  DiffEqs(t,y)
  %Modelo simple epidemiológico para la
  % propagación del virus del Ébola

  % Recuperamos las variables dependientes de entrada
  S = y(1);
  E = y(2);
  I = y(3);
  R = y(4);
  D = y(5);

  Nn = S + E + I + R; % Total de personas vivas

  
  %---------------------------------------------------------------
  % Constantes del modelo
  %---------------------------------------------------------------

  sigma = 1./9; %  Velocidad de convertirse en contagioso una vez expuesto
  gamma_factor = 1./8.5; % Velocidad de recuperación o fallecimiento
  f = 0.4; % Fracción de gente que no supera la enfermedad (40%)

  % A mayor nº de recortes, mayor nº de personas contagiadas por infectado
  recortes_sanidad = 1.4;

  R_0 = recortes_sanidad;

  beta_factor = R_0*gamma_factor; % Velocidad con la que se propaga la infec.

  % Definimos las ecuaciones diferenciales
  dSdt = -beta_factor*(S/Nn)*I;
  dEdt = +beta_factor*(S/Nn)*I - sigma*E;
  dIdt = sigma*E - gamma_factor*I;
  dRdt = (1.0-f)*gamma_factor*I;
  dDdt = f*gamma_factor*I;
  dydt =  [dSdt, dEdt, dIdt, dRdt, dDdt]';

end


% Obtenemos y nombramos las variables dependientes de salida del ode45
S = y(:,1); %  S es el nº de personas sin infectar
E = y(:,2); %  E es el nº de portadores del virus no contagiosos (aún)
I = y(:,3); %  I es el nº de personas sintomáticas e infecciosas
R = y(:,4); %  R es el nº de personas recuperadas
Ds = y(:,5); %  D es el nº de personas fallecidas

% Creamos la figura para representar los resultados
figure(1)

% Representamos las curvas de evolución con respecto al tiempo
plot(t, [(E + I), I, R, Ds, S])


% Añadimos leyenda a los datos
legend('% infectados', ...
      '% infectados contagiosos', ...
      '% recuperados', ...
      '% fallecidos', ...
      '% población sana ')

title('Variación de la velocidad de propagación del virus del ebola.')
xlabel('tiempo / días')
ylabel('porcentaje de población')

end

 

 

Instructor: Sergio Quesada


El curso será impartido por Sergio Quesada Dorigné, Ingeniero Químico por la Universidad de Alicante e Ingeniero Biomédico por la Universidad Politécnica de Valencia y la Universidad de Valencia.

 

 

¿A quién va orientado este curso?

Si bien el curso está orientado a alumnos de grado de 3º de Ingeniería Química (de ahí el horario de tarde que se ha seleccionado), en el curso se hará una introducción a la programación con Octave / MATLAB por ordenador. Si eres estudiante de otro año y no tienes problemas con las clases ¡eres más que bienvenido/a!. Si, por el contrario, te hubiera gustado asistir pero el horario del curso es incompatible con el tuyo, háznoslo saber con un comentario.

CAChemE entregará certificados de asistencia a quienes lo soliciten y cumplan con los requisitos (asistencia mínima al 80 % de horas). No obstante, este curso no es convalidable por créditos de libre configuración.

¿Por qué es gratuito?

Este curso es posible gracias a la financiación del la Escuela Politécnica Superior de la Universidad de Alicante. Si te interesan este tipo de cursos de formación de ingeniería química por ordenador, házselo saber al delegado de tu curso para presentar una solicitud por la vía correspondiente.

Aprende más sobre Ingeniería de Procesos Químicos por ordenador

Suscríbete a nuestro canal de YouTube o síguenos en Facebook o Twitter.

 

Categorías
chemsep COCO simuladores tutorial

Simulación de procesos químicos por ordenador con COCO Simulator

Desde CAChemE estamos muy orgullosos de presentaros nuestro nuevo curso online dedicado a la simulación de procesos químicos por ordenador. Para ello, hemos hecho uso de COCO Simulator que, en combinación con ChemSep, permite la simulación de procesos químicos de forma gratuita y se presenta como alternativa a Aspen y ChemCAD.

[box]Tenemos un nuevo curso de simulación de procesos químicos. ¡Ahora con DWSim, alternativa software libre de aprendizaje a ASPEN, ASPEN HYSYS y ChemCAD!

 

Ejemplo de resolución con COCO
Ejemplo de resolución con COCO (ver más ejemplos)

Instructora: Alba Carrero

Ingeniería química por la Universidad de Alicante con experiencia en Forest Chemical Group SA (I+D+i) y Biofuel Systems SL. Alba ha trabajado con simuladores de procesos comerciales (Aspen, Aspen Hysis, ChemCAD…) siendo su proyecto fin de carrera (Simulación de la separación de benceno, clorobenceno y ácido clorhídrico y diseño de la columna de separación) una muestra de ello

Curso online de COCO Simulator y ChemSep

Aprende con COCO Simulator a utilzar simuladores de procesos químicos de forma totalmente gratuita: