/ua-imec2001-hc-202210

IMEC2001 Herramientas Computacionales 202210

Primary LanguageJupyter NotebookMIT LicenseMIT

IMEC2201 Herramientas Computacionales

Ciclo de Talleres
Semestre 2022-10
Sección 1

Información Inicial

Profesores

Andrés Leonardo González Mancera
angonzal@uniandes.edu.co
Oficina: ML-750
Horario Atención: Lunes y miércoles de 3:30pm - 5:00pm; programación vía e-mail

Nelson Andrés Salazar Peña
na.salazar10@uniandes.edu.co
Oficina: ML-754 / ML-308A
Horario Atención: Programación vía e-mail

Monitor

Rafael José Beltrán Hernández
rj.beltran@uniandes.edu.co
Horario Atención: Programación vía e-mail

Horario de Clases

  • Lunes y miércoles de 2:00pm - 3:15pm.
  • Modalidad virtual (enlace disponible en Bloque Neón > Herramientas Computacionales > Contenido > Sesiones y Grabaciones > Zoom).

Descripción del Curso

Los sistemas de cómputo se han convertido en herramientas básicas e indispensables para la práctica de la ingeniería. Este es un curso exploratorio de las herramientas computacionales modernas y relevantes para el modelado de sistemas y la solución de problemas en ingeniería.

En este curso se desarrollarán los conocimientos y habilidades básicas para la aplicación de modelos para varios tipos de sistemas de ingeniería.

Al finalizar, los estudiantes están capacitados para explorar y utilizar herramientas computacionales modernas para su práctica profesional y listos para contribuir al desarrollo de código abierto de proyectos novedosos.

Objetivos Curriculares

El objetivo del curso es desarrollar en los estudiantes las habilidades necesarias para utilizar herramientas computacionales modernas como apoyo para la solución de problemas prácticos en ingeniería.

Los objetivos específicos son los siguientes:

  • Explorar herramientas computacionales así como plataformas de cómputo para la práctica de la ingeniería.
  • Desarrollar habilidades pertinentes a la implementación de algoritmos computacionales para la solución de problemas de ingeniería.
  • Utilización de lenguajes de programación de alto nivel utilizando librerías numéricas existentes y plataformas interactivas de programación.
  • Solucionar problemas de ingeniería mediante la utilización de herramientas computacionales modernas.

Metas de Aprendizaje

Este curso aporta en el desarrollo de las siguientes Metas de Aprendizaje:

  • 1. Habilidad para identificar, formular y resolver problemas de ingeniería complejos mediante la aplicación de los principios de la ingeniería, la ciencia y las matemáticas.

    • 1.2. Escoge y aplica modelos cuantitativos, conceptuales y/o cualitativos para la solución de problemas mecánicos o térmicos.
    • 1.3. Resuelve problemas de ingeniería.
  • 3.1. Escribe de forma clara y efectiva documentos e informes de ingeniería usando terminología y lenguaje adecuado.

    • 3.1.1. Comunica sus ideas con claridad, expresándose de forma directa y utilizando el vocabulario adecuado.
    • 3.1.3. Referencia los materiales de consulta.
  • 7. Habilidad para adquirir y aplicar nuevo conocimiento según sea necesario, utilizando estrategias de aprendizaje apropiadas.

    • 7.1. Busca e identifica fuentes relevantes de información haciendo uso de los recursos disponibles (libros, internet, journals, estándares, normas técnicas, tutoriales) para adquirir nuevo conocimiento.
    • 7.2. Aplica el conocimiento, habilidades y actitudes adquiridas de manera autónoma para resolver problemas de Ingeniería Mecánica.

Contenido

Existen muchos lenguajes de programación que pueden ser utilizados para modelar sistemas mecánicos. Aunque la decisión sobre cuál es el más adecuado para un determinado problema depende de muchos factores, en el curso se manejará Julia por su velocidad de implementación y ejecución, comunidades de soporte, librerías disponibles, entre otros. Además, la experiencia previa de Python, R y MATLAB serán de utilidad pues Julia permite una fácil integración con estos y otros más lenguajes de programación.

Nota: Este no es un curso de programación ni es específico a ningún lenguaje. Aunque el enfoque está en Julia, el estudiante puede seleccionar el lenguaje que considere más atractivo.

Semana Fecha Temática (Aplicación)
1 28/Mar — 1/Abr Introducción a Julia y Jupyter Notebooks
2 4 — 8/Abr Gráficas y visualización (ajuste de datos, estadística, incertidumbre, barras de error)
- 11 — 14/Abr Semana Santa
3 18 — 22/Abr Interpolación (curva de una bomba)
4 25 — 29/Abr Raíces de ecuaciones (factor de fricción de Darcy)
5 2 — 6/May Sistemas de ecuaciones (estática, e.g., cerchas)
6 9 — 13/May Optimización (minimizar costo de operación de sistema de bombeo)
7 16 — 20/May ODEs (dinámica, e.g., péndulos)
8 23 — 27/May FFT (señal a partir de datos de péndulos y audio)

Dedicación de Tiempo

El curso tiene una carga académica de dos (2) créditos correspondientes a una dedicación semanal de doce (12) horas. Las horas de dedicación semanal del curso se distribuyen según la carga académica de la siguiente manera:

Tabla I. Dedicación semanal del curso.

Actividad Horas de Dedicación
Clase síncrona 2.5
Trabajo individual 9.5

El estudiante es el responsable de su propio proceso de aprendizaje y de distribuir de manera autónoma y responsable los recursos disponibles.

Logística

El material del curso será publicado en GitHub y direccionado desde Bloque Neón antes del inicio de cada clase (i.e., 2:00pm cada lunes y miércoles). Cada semana es un nuevo capítulo que incluye:

  • Lecturas.
  • Cuadernos interactivos (Jupyter Notebook).
  • Taller.

Los espacios de clase serán para revisión de la temática y solución de inquietudes. Los estudiantes disponen de un cuaderno interactivo (Jupyter Notebook) para aplicar las metodologías hands-on a medida que se avanza en la temática. Finalizada la clase, se dispondrán estos mismos cuadernos interactivos con los ejercicios hands-on resueltos para su consulta.

En Bloque Neón > Herramientas Computacionales > Foros se tienen medios centralizados por capítulo para la resolución de preguntas que son de apoyo al curso. Se espera que este espacio sea colaborativo entre todos.

En cuanto a los talleres, estos se habilitarán al final de cada capítulo, es decir, a las 3:15pm de cada miércoles. El plazo límite de entrega es hasta las 23.59h del viernes de la semana siguiente a partir de su publicación.

Evaluación

Se desarrollan ocho (8) talleres a lo largo del periodo en los que se evalúa el estado de desarrollo de cada uno de los objetivos del curso:

  • Suposiciones para simplificar sistemas y ambientes complejos.
  • Escoger y aplicar modelos cuantitativos y simulaciones.
  • Demostrar destrezas de autoeducación.

La calificación definitiva del curso se obtendrá ponderando las calificaciones de los talleres; cada taller tiene un peso porcentual de 12.5% sobre la calificación total.

Lineamientos

  • Todos los talleres del curso se deben realizar en parejas a menos que explícitamente se indique lo contrario.
  • Los talleres se entregan en la fecha, hora y método especificados. No se aceptan trabajos tarde.
  • La fecha límite de entrega es hasta las 23.59h del viernes de la semana siguiente a partir de la publicación del taller.
  • Tener presente las buenas prácticas de citas y referencias.
  • De acuerdo con el Reglamento General de Estudiantes de Pregrado – Universidad de los Andes, se tienen cuatro (4) días después de publicada la nota como plazo máximo para reclamos.

    Capítulo VII, ART. 64. Todo estudiante que desee formular un reclamo sobre las calificaciones de cualquier evaluación o sobre la nota definitiva del curso deberá dirigirlo por escrito y debidamente sustentado al profesor responsable de la materia, dentro de los cuatro (4) días hábiles siguientes a aquel en que se dan a conocer las calificaciones en cuestión.

Repositorio

Para clonar el repositorio ua-imec2001-hc-202210 se recomienda usar el software GitHub Desktop. La url del repositorio es: andresgm/ua-imec2001-hc-202210.

Otra opción es desde el terminal con en el ambiente activado; para esto ejecute:

$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY

Bibliografía

  • Noel Kalicharan (2021). Julia - Bit by Bit, 1st Edition, University of the West Indies, Trinidad and Tobago. Switzerland: Springer, UTiCS. ISBN 978-3-030-73936-2.
  • Malcolm Sherrington (2015). Mastering Julia, 1st Edition, High Performance Computing, UK. UK: Packt Publishing. ISBN 978-1-78355-331-0.
  • Sandeep Nagar (2017). Beginning Julia Programming: For Engineers and Scientists, 1st Edition, USA. USA: Springer Apress. ISBN 978-1-4842-3171-5.