Escuela de Primavera sobre Computación Científica : 26 - 30 de Septiembre de 2022, Cusco, Perú

Cusco

4 Eventos en la primavera peruana

Contenido del curso

Antes de la Escuela y Conferencia de Primavera Peruano-Alemana sobre Computación Científica, se ofrecerá este curso de introducción a la computación científica implementada en el lenguaje de programación Python. Durante el curso los asistentes conocerán el lenguaje de programación Python y las numerosas herramientas que ofrece para ayudar a los científicos en sus investigaciones. Python es actualmente uno de los lenguajes más populares por ser de alto nivel fácil de usar, interpretado y su flexibilidad de interacción con otros lenguajes de alto rendimiento como C++ entre otros aspectos.

Primero se dará una introducción a la sintaxis, estructuras de datos, estructuras de control y creación de métodos en el lenguaje Python. Seguidamente, se presentará el módulo Numpy. Esta librería aporta herramientas para operaciones vectoriales y matriciales además de otros procedimientos numéricos. Al mismo tiempo se mostrará el módulo scipy, centrando la atención en las diferentes soluciones computacionales que ambas bibliotecas brindan para resolver ecuaciones diferenciales ordinarias, sistemas de ecuaciones lineales, integración numérica, así como métodos de optimización y otros procedimientos numéricos. Por último, se presentará el módulo Matplotlib para la representación de figuras y gráficos científicos.

La dinámica del curso se basa en "aprender haciendo". Cada clase está preparada para tener pequeñas charlas, implementaciones demostrativas de Python y ejercicios de programación para los asistentes. Se asignará una pequeña tarea a cada uno que deberá realizar por sí mismo y subirla al sitio web del curso. Cada tarea tiene como objetivo consolidar los conocimientos obtenidos durante el curso. A continuación, recibirán las sugerencias y correcciones del profesor sobre cómo mejorar sus códigos.

Las demostraciones y sus implementaciones en Python se llevarán a cabo principalmente en la plataforma Google Colab. La misma permite escribir y ejecutar Python en el propio navegador sin configuración adicional, acceso a recursos computacionales de forma gratuita y facilidad para compartir.

Inscripción

¡La inscripción para este curso ha quedado cerrada!

Acceso en línea

Las clases serán impartidas por medio de la plataforma de video-conferencia Zoom. Los accesos a esta plataforma ya están disponibles para los participantes registrados en cada uno de los eventos del calendario.

El código de acceso a la sala virtual ya ha sido enviado a todos los participantes a través de correo electrónico.

Programa

Las fechas de las clases se encuentran listadas en el siguiente calendario:

Usted puede descargar el calendario a través del siguiente enlace.

Materiales del curso

Clase #1: - Introducción a la programación en lenguaje Python

Clase #1: - Introducción a la programación en lenguaje Python


Detalles

En esta clase usted aprenderá las características lexicográficas, sintácticas y semánticas básicas del lenguaje Python

Nature

Enlaces importantes:

Usted podrá acceder a la clase publicada en Google Colab aquí

Discusión de los ejercicios de la clase:

Ejercicio #1:

Es bisiesto

Ejercicio #2:

Imprimir los primeros 10 números enteros

Ejercicio #3:

Patrón creciente

Ejercicio #4:

Suma de la serie numérica

Ejercicio #5:

Tabla de multiplicación del número n

Ejercicio #6:

Imprime la lista

Ejercicio #7:

Suma elementos de la lista

Ejercicio #8:

Suma y multiplica

Ejercicio #9:

Es Palíndromo

Ejercicio #10:

Es palíndromo recursivo

Ejercicio #11:

Es número primo

Ejercicio #12:

Secuencia de Fibonacci

Ejercicio #13:

Conjetura de Collatz

Ejercicio #14:

Revertir número

Ejercicio #15:

Contar ocurrencias de un número entero en una lista

Ejercicio #16:

Has pares

Ejercicio #17:

Calculador de Pila

Tutoriales:

Manejo de .ipynb en Google Colab.

Montar una carpeta de Google Drive en Google Colab.

Forum interactivo:

Usted podrá acceder al forum al final de la clase a través del siguiente enlace:

Clase #2, #3: - Manejo de vectores y matrices en Python: Módulo Numpy

Clase #2: - Manejo de vectores y matrices en Python: Módulo Numpy


Detalles

Los vectores o arrays multidimensionales y matrices constituyen un pilar fundamental en el desarrollo de soluciones computacionales relacionadas con operaciones numéricas. Cuando la información es representada en esta forma entonces se dice que está "vectorizada". Una de las grandes ventajas de la computación vectorial es que en gran medida elimina la necesidad de usar ciclos explícitamente. O sea, las operaciones entre vectores son realizadas en un nivel más bajo de programación el cual suele ser mucho más eficiente. Esto evita utilizar una de las grandes desventajas de un lenguaje interpretado como lo es Python: estructuras de control iterativas.

Video Clase 2 Parte 1

Video Clase 2 Parte 2

Enlaces importantes:

Usted podrá acceder a la clase publicada en Google Colab a través de los siguientes enlaces:

Discusión de los ejercicios de la clase:

Trabajando con vectores

Clase 2 Parte 2 Ejercicio 1

Evaluando una función en una rejilla.

Clase 2 Parte 2 Ejercicio 2

Simulando la ley de Darcy (2D)

Forum interactivo:

Usted podrá acceder a los forums al final de ambas clases a través de los siguientes enlaces:

Clase #4: - Álgebra lineal

Clase #4: - Álgebra lineal


Detalles

Existen formas disímiles de representar una matriz en Python. Los tipos de dato np.ndArray, np.Matrix y sympy.Matrix permiten hacerlo. Utilizando estas clases se pueden realizar operaciones algebraicas simbólicas y numéricas de forma eficiente.

Video Clase 4

Enlaces importantes:

Usted podrá acceder a la clase publicada en Google Colab a través de los siguientes enlaces:

Forum interactivo:

Usted podrá acceder a los forums al final de ambas clases a través de los siguientes enlaces:

Clase #5: - Ecuaciones diferenciales ordinarias

Clase #5: - Ecuaciones diferenciales ordinarias


Detalles

Para la resolución de ecuaciones diferenciales ordinarias existe la función odeint que está implementada en el módulo scipy.integrate. Esta constituye una interfaz simple que empaqueta las funciones de la biblioteca ODEPACK que se encuentra implementada en lenguaje FORTRAN. Los métodos numéricos utilizados forman parte del paquete llamado LSODE.

Video Clase 5

(Será actualizado próximamente)

Enlaces importantes:

Usted podrá acceder a la clase publicada en Google Colab a través de los siguientes enlaces:

Forum interactivo:

Usted podrá acceder a los forums al final de ambas clases a través de los siguientes enlaces:


Proyectos evaluativos

Usted podrá evaluarse por medio de la resolución de alguno de los dos problemas presentados en los siguientes proyectos:
Fecha de entrega de proyectos

La entrega de los proyectos será hasta el día 31 de Julio de 2022 a las 11:59pm hora de PERÚ.

IMPORTANTE: La entrega de los proyectos NO es por medio de correo electrónico. Para ello se habilitará otro formulario para que coloque sus ficheros o indique la dirección de la hoja de cálculo de Google Colab donde desarrolló las soluciones.

Entrega de soluciones de proyectos

Usted podrá entregar la solución de su proyecto utilizando el formulario de entrega.

Constará con dos vías para el envío. La primera será comprimir todos los ficheros que conformen su solución en un único fichero .zip. En la segunda variante usted podrá implementar su solución en Google Colab y compartirla directamente a través de la url del enlace. En el encabezado del formulario encontrará usted más indicaciones de cómo realizar ambos procesos.

Ejemplos de proyectos resueltos

A continuación podrá usted encontrar ejemplos de soluciones para ambos proyectos:


Impartido por:

El curso fue impartido por M.Sc. Dayron Chang Dominguez, investigador del Instituto para el Análisis y la Numérica de la Universidad Otto-von-Guericke, Magdeburg Alemania.

Contacto

Para cualquier consulta que respecte al curso de Python no dude en contactar a Dayron Chang Dominguez.

Cusco
News
News