Impartimos la primera edición del curso Computación Científica con Python



Fundamentación:

La Computación Científica está orientara a la manipulación y obtención de datos provenientes de simulaciones o experimentos, para lo cual se debe constar con herramientas capaces de manipular, procesar, visualizar e interpretar los  datos. Esta se ha convertido en una de las principales herramientas para el desarrollo de la ciencia actual, convirtiéndose en una necesidad su aprendizaje y utilización. Python además de ser un lenguaje de programación de alto nivel cuenta con bibliotecas de cálculo científico muy completas, libres y de código abierto; que se complementan con otras interfaces como Jupyter para el análisis y procesamiento de flujos de datos en estilos semejantes a los asistentes matemáticos MatLab y Mathematica lo que posibilita su utilización eficaz para la solución eficaz de problemas científicos. 

Los avances en la tecnología y la investigación han venido ofreciendo grandes cantidades de datos, de forma tal que es necesario el uso de herramientas computacionales para su procesamiento, haciendo de la computación una parte fundamental de la ciencia. Actualmente, el trabajo computacional es un complemento importante tanto para los experimentos como para la teoría y una considerable cantidad de artículos involucran cálculos numéricos, simulaciones y modelos computacionales



Descripción de los Temas:

Tema 1: Elementos básicos del lenguaje de programación Python
Sistema de conocimientos:

Estructura sintáctica del Python versión 3. Tipos de datos básicos. Tipos numéricos. Contenedores y operador de asignación. Control de flujo. Expresiones condicionales. Iteración avanzada. Listas por comprensión.  Funciones. Clases. Reutilización de código y módulos. Bibliotecas de entrada y salida. Manejo de Excepciones. FrontEnd Jupyter.

Tema 2: Visualización científica con Mathplotlib
Sistema de conocimientos:

Introducción a la visualización de datos. Tipos de datos. Dimensiones visuales. Leyes de Gestalt. El color. Anatomía de un gráfico. Interactividad.
Tipos de gráficos por objetivos. Comparación de valores. Evolución a lo largo del tiempo. Relación entre las partes de un todo. Distribución de valores. Relaciones entre datos. Localización. Conexiones.
Visualización en Pandas. Gráficos de líneas. Gráficos de barras. Gráficos de sectores. Gráficos de dispersión y burbujas. Histogramas y diagramas de cajas.
Visualización con Matplotlib. Figuras y paneles. Personalización. Gráficos de líneas. Gráficos de barras. Gráficos de sectores. Gráficos de dispersión y burbujas. Histogramas y diagramas de cajas.
Visualización con Plotly. El layout y las trazas. Figuras y paneles. Gráficos de líneas y área. Gráficos de barras. Gráficos de sectores. Gráficos de dispersión y burbujas. Histogramas y diagramas de cajas. Visualizaciones interactivas con Plotly. Módulo de visualización del FrontEnd Jupyter. Manipulación del formato y apariencia. Gráficos 3D, otros tipos de gráficos 2D. Exportación con calidad de publicación.


Tema 3: Entorno de programación científica Jupyter
Sistema de conocimientos:

Introducción a Ipython Notebook. Numpy: introducción al objeto Array. Slicing extendido, métodos y funciones importantes, importación de datos. Concepto de vista. Máscaras y fancy indexing. Aplicación de Numpy en álgebra lineal. Resolución de sistemas de ecuaciones lineales. Sistema de ecuaciones diferenciales lineales y no lineales. Vectorización de funciones. Scipy: algoritmos optimización, integración, procesamiento de imágenes, ajuste de curvas etc. Sympy, cálculo simbólico de precisión arbitraria con Python. Evaluación numérica de expresiones Sympy con Numpy y otras herramientas. Programación concurrente. MPI4PY. Programación asíncrona.



Tema 4: Algoritmos de programación con tarjeta de procesamiento gráfico NVIDIA
Sistema de conocimientos:

API de procesamiento gráfico cupy. Programación matricial sobre tarjetas gráficas. Aceleración en tiempo de ejecución con numba. Complementación de numpy con numba. Análisis intensivo de datos complejos. BigData sobre GPU.


Bibliografía:

John Paul Mueller and Luca Massaron, Python® for Data Science For Dummies®, 2nd Edition, John Wiley & Sons, Inc., Hoboken, New Jersey, 2011

Hans Petter Langtangen, Python Scripting for Computational Science, Third Edition,  Springer-Verlag Berlin Heidelberg, 2008.

Fabio Nelli, Python Data Analytics With Pandas, NumPy, and Matplotlib, Second Edition,  Apress Media LLC, ISBN-13 (pbk): 978-1-4842-3912-4 https://doi.org/10.1007/978-1-4842-3913-1, 2018.

Comentarios

Entradas populares de este blog

News: IV International Workshop on Computational Mathematics and Bioinformatics

IV International Workshop on Computational Mathematics and Bioinformatics

Carried out in the University of Informatics Sciences UCI from November 16 to 17 the First UCI-ICS Workshop and Short Course of Computational Soft