Simulación refiere a la reproducción (computacional) de fenómenos y procesos del mundo real. Típicamente involucra primero el modelado de dicho proceso o fenómeno a través de experimentos estadísticos. Después la reproducción involucra la generación pseudo-aleatoria para crear los modelos en el ambiente simulado. Sus aplicaciones son numerosas en temas científicos, industriales, de construcción, de la salud, evacuaciones, etcétera. Las epidemias son particularmente interesantes de estudiar con simulaciones. El análisis de elemento finito (FEM) para aspectos estructurales es muy parecido a la simulación; se extrapola el comportamiento de una entidad a través de un modelo que lo parte a una cantidad discreta de elementos pequeños de comportamiento ya modelado. La simulación también está presente en el entretenimiento (películas y videojuegos) en la creación de ambientes virtuales y efectos.
Las computadoras modernas ya cuentan con más de un núcleo de procesamiento y además es fácil para una organización aprovechar de manera simultánea el poder computacional de más de una computadora al enfrentar un problema cuya solución requiere una cantidad elevada de recursos. Sin embargo, las técnicas típicas de procesamiento de datos que uno aprende al comenzar a programar no son capaces de aprovechar los recursos de más que un núcleo a la vez. La programación paralela refiere al diseño y la implementación de métodos de procesamiento que buscan utilizar dos o más núcleos — o hasta todos los disponibles en un momento dado — para repatir el trabajo entre los núcleos con el propósito de disminuir el tiempo de reloj requerido para llevar a cabo la tarea en cuestión.
En este curso se realizan actividades de aprendizaje que permiten la paralelización de algunas tareas fundamentales de análisis y procesamiento de datos en los lenguajes R y Python, desde más sencillos hasta más complejos, para que el participante pueda en sus trabajos futuros identificar oportunidades de paralelización y dominar las técnicas básicas de llevarlo a cabo con elegancia y eficiencia. Se implementan diversas simulaciones computacionales para generar y analizar información de distintos tipos. Si algún participante quiere realizar las prácticas en un lenguaje emergente distinto como por ejemplo Julia, esto se permite con que el participante informe previamente a la profesora y acepte que no habrá ejemplos disponibles en otros lenguajes.
Este sitio web ha sido preparado para ser utilizado con el navegador Google Chrome. Contacten a la profesora si tienen problemas en su uso; en el caso de reporte error, favor de incluir captura de pantalla del error para agilizar su corrección.
https://satuelisa.github.io/