Información Básica
-
Créditos: 3
-
Horas de trabajo acompañado: 5 / semana (3 horas clase, 2 horas taller)
-
Horas de trabajo independiente: 4 / semana
-
Pre-requisitos: Programación Orientada a Objetos, Cinemática y Dinámica
-
Tipo de curso: Núcleo de Formación Fundamental.
Descripción del Curso
A la computación científica le compete el diseño y análisis de algoritmos para resolver problemas matemáticos que surgen en la ciencia y la ingeniería; combina la simulación computacional, la visualización científica, el modelamiento matemático, la programación, las redes de computadoras, el diseño de bases de datos, la computación simbólica y la computación de alto desempeño con varias disciplinas. Esta interacción entre disciplinas ha provocado el surgimiento de muchos subcampos, como biología computacional, química computacional, mecánica computacional, electromagnetismo computacional y sociología computacional. Esta área de la computación ofrece exposición a conceptos y técnicas, incluyendo precisión de la representación numérica, análisis de error, técnicas numéricas, arquitecturas y algoritmos paralelos, modelamiento y simulación, visualización de información, ingeniería de software, y optimización.
Objetivos
Al finalizar el curso los participantes podrán:
-
Explicar el concepto de modelamiento y abstracción que permiten el uso de la máquina para resolver problemas
-
Explicar y dar ejemplos de los beneficios de la simulación y modelamiento
-
Comprender las relaciones entre modelamiento y simulación
-
Construir (crear) modelos matemáticos sencillos y formales de situaciones del mundo real, y lo usa en simulación
-
Aplicar técnicas de modelamiento y simulación en un rango amplio de áreas
-
Verificar y validar los resultados de una simulación
-
Describir diferentes alternativas para validar modelos
-
Comprender las fuentes del error numérico, la precisión de la máquina, y la inexactitud de las aproximaciones computacionales
-
Implementar algoritmos que permiten aproximar funciones e interpolar datos.
-
Implementar algoritmos para la solución numérica de derivadas e integrales.
-
Implementar algoritmos para la solución numérica de ecuaciones diferenciales.
-
Crear representaciones gráficas adecuadas para la presentación de los resultados de simulación
-
Usar y comparar APIs y herramientas para crear representaciones visuales de datos.
-
Analizar y seleccionar técnicas de visualización para problemas específicos
-
Extrae información relevante de imagenes
-
Distinguir el uso de recursos computacionales para una respuesta rápida de la administración eficiente de acceso a recursos compartidos
-
Reconocer constructos que permiten coordinar cómputos simultáneos múltiples
-
Explicar las diferencias entre memoria compartida y distribuida
-
Caracterizar las tareas de máquinas SIMD
-
Describir las ventajas y limitaciones de GPUs versus CPUs * Ítem de lista desordenada
Se desarrollan competencias en
-
Python (avanzado)
-
MatLab (avanzado)
-
Methamatica (intermedio)
-
Mapple (intermedio)
-
OpenCL en C++ (básico)
-
CUDA (básico)
-
Visual Studio (intermedio)
-
Latex (intermedio)
Contenido
Capítulo 1: Modelamiento y simulación
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
1 | 3 | Modelo como abstracción de sistemas reales y Simulación como modelamiento dinámico. Propósito y compromisos al modelar y simular | Familiaridad | [] | |
2 | 2 | Presentación de casos de aplicación de simulación en compañias reconocidas | Familiaridad | [] | |
3 | 3 | El proceso de la simulación: identificación de características, simplificación, y validación | Uso | [] | |
4 | 2 | Práctica 1.1. Experimento en clase con resortes y péndulos. Modelamiento | Uso | [] | |
5 | 3 | Evaluación, validación y verificación de modelos y simulaciones | Familiaridad | [] | |
6 | 2 | Práctica 1.2. Experimento en clase con resortes y péndulos. Resultados | Uso | [] | |
7 | 3 | Áreas de aplicación: salud, economía, planeación, ciencias e ingeniería. | Familiaridad | [] | |
8 | 2 | Presentación de propuestas de proyecto de semestre | Uso | [] |
Total de Horas: 20.
Sesión | Horas de trabajo independiente | Temas | Objetivos |
---|---|---|---|
1 | 2 | Investigación, lectura y preparación de diapositivas sobre Casos de Aplicación. | [1, 2, 3] |
3-6 | 6 | Análisis de resultados y preparación de informe práctica 1 | [3, 4, 6] |
7-8 | 4 | Proyecto: Investigación, lectura y preparación de diapositivas e informe de propuesta de proyecto. | [2, 5, 7] |
Total de Horas: 12
Capítulo 2: Análisis Numérico
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
9 | 3 | Error por truncamiento y redondeo; Sensibilidad, condicionamiento, estabilidad y convergencia | Familiaridad | [ ] | |
10 | 2 | Práctica 2.1. Fijo vs. Flotante; Algoritmos para evaluación de polinomio | Uso | [ ] | |
11 | 3 | Sistemas de Ecuaciones lineales | Familiaridad | [ ] | |
12 | 2 | Práctica 2.2. Solución del sistema Ax=b. Sensibilidad y Condicionamiento | Uso | [ ] | |
13 | 3 | Interpolación y aproximación: Mínimos cuadrados, e Interpolación polinomial | Uso | [ ] | |
14 | 2 | Práctica 3.1. Ajuste de datos experimentales | Uso | [ ] | |
15 | 3 | Diferenciación numérica: Polinomial y Diferencias Finitas | Uso | [ ] | |
16 | 2 | Práctica 3.2. Derivada de función exponencial | Uso | [ ] | |
17 | 3 | Integración numérica: Fórmulas de Newton-Cotes, Cuadratura | Uso | [ ] | |
18 | 2 | Práctica 3.3. Integral de función exponencial | Uso | [ ] | |
19 | 3 | Ecuaciones Diferenciales Ordinarias: Problemas de valor inicial (Métodos multipaso, Métodos implícitos, Métodos Runge-Kutta) | Uso | [ ] | |
20 | 2 | Práctica 4.1. Solución del problema df/dt = -alpha.f | Evaluación | [ ] | |
21 | 3 | Ecuaciones Diferenciales Ordinarias: Problema de valores de frontera (Métodos de disparo, Métodos de Diferencias Finitas, Métodos de Elementos Finitos) | Uso | [ ] | |
22 | 2 | Práctica 4.2. Solución de problema físico unidimensional (oscilador, cuerda, pozo cuántico). Modos permitidos. | Evaluación | [ ] |
Total de Horas: 35.
Sesión | Horas de trabajo independiente | Temas | Objetivos |
---|---|---|---|
9 | 2 | Proyecto: Análisis de implementaciones numéricas para el proyecto. Borrador Informe Parcial | [4, 5, 6] |
10, 12 | 7 | Análisis de resultados y preparación de informe práctica 2 | [4, 8] |
14, 16, 18 | 6 | Análisis de resultados y preparación de informe práctica 3 | [4, 9, 10] |
20, 22 | 8 | Análisis de resultados y preparación de informe práctica 4 | [4, 5, 6, 11] |
11, 13, 15, 17, 19 | 10 | Proyecto: Implementación proyecto | [4, 5, 6] |
21 | 2 | Proyecto: Correcciones a implemetaciones del proyecto | [4, 5, 6] |
Total de Horas: 35
Capítulo 3: Visualización interactiva
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
23 | 3 | Principios de visualización de datos; Algoritmos de graficación y visualización | Uso y Evaluación | [] | |
24 | 2 | Uso de APIs para construir interfaces de usuario adecuadas, económicas e intuitivas. | Uso y Evaluación | [] | |
25 | 3 | Técnicas de procesamiento de imágenes | Uso | [] | |
26 | 2 | Práctica 5: Extracción de información de una imagen | Uso | [] |
Total de Horas: 10.
Sesión | Horas de trabajo independiente | Temas | Objetivos |
---|---|---|---|
23 | 2 | Proyecto: Análisis de resultados de simulación del proyecto. Evaluación, validación y verificación. Elaboración de Informe Parcial. | [4, 5, 6] |
24 | 2 | Proyecto: Preparación de interfaz de proyecto. Borrador informe final | [12, 13, 14] |
26 | 3 | Análisis de resultados y preparación de informe práctica 5. | [14, 15] |
Total de Horas: 7
Capítulo 4: Computación paralela
Sesión | Horas teóricas | Prácticas acompañadas | Temas | Profundidad | Bibliografía |
---|---|---|---|---|---|
27 | 3 | Múltiples computaciones simultáneas; Paralelismo versus concurrencia | Familiaridad | [] | |
28 | 2 | Medición del uso y acceso a recursos de computo y memoria | Uso y Evaluación | [] | |
27 | 3 | Memoria compartida versus distribuida | Familiaridad | [] | |
28 | 2 | Coordinación de cómputos simultáneos múltiples | Uso | [] | |
27 | 3 | Procesamiento vectorial (SIMD); Co-procesamiento (GPU); Topologías y agrupamientos | Familiaridad y Uso | [] | |
28 | 2 | Práctica 5: CPU vs GPU. Casos de aplicación en análisis de imagenes | Uso y Evaluación | [] |
Total de Horas: 15.
Sesión | Horas de trabajo independiente | Temas | Objetivos |
---|---|---|---|
28 | 2 | Proyecto: Verificación y correcciones de interfaz de usuario. Adelanto Informe Final. | [12, 13, 14] |
30 | 2 | Proyecto: Análisis de necesidades de recursos de cómputo en el proyecto. Adelanto Informe final. | [12, 13, 14] |
31 | 2 | Proyecto: Presentación de proyecto de semestre e informe final. | [12, 13, 14] |
32 | 4 | Análisis de resultados y preparación de informe práctica 5 | [14, 15, 20] |
Total de Horas: 10
Bibliografía
-
Terrence J. Akai. “Applied numerical methods for engineers” Wiley. 1994. 620.0015194
-
Michael Heath “Scientific Computing, an introductory survey” McGraw-Hill. 1997.
-
Lloyd N. Trefethen, David Bau III. “Numerical Linear Algebra” SIAM. 1997
-
Richard Burden, and Douglas Faires “Análisis numérico” Thomson Ed. 2001. 615.4
-
Gerald Curtis “Análisis Numérico” alfaomega 1997. 519.4
-
Gerald Curtis, Patrick Wheatley “Análisis Numérico con aplicaciones” Pearson 2000. 519.4
-
W. Allen Smith “Análisis Numérico” Prentice Hall. 1988. 519.4
-
Jonh H. Mathews, Kurtis D. Fink “Métodos Numéricos con Matlab” Pearson 2000.
-
Timothy Sauer “Análisis Numérico” Pearson 2013.
Instalaciones
-
Salón de clase con computador y proyector.
-
Laboratorio de Ingeniería de Sistemas y Computación.