Skip to content
This repository has been archived by the owner on Sep 11, 2022. It is now read-only.

Latest commit

 

History

History
43 lines (32 loc) · 3.39 KB

Intro.md

File metadata and controls

43 lines (32 loc) · 3.39 KB

Project-oriented workshop in Julia computing

Este taller introduce el lenguaje de programación Julia con un enfoque a realización de proyectos científicos e ingenieriles. atención a detalles de alto rendimiento.

Detalles del curso

El curso "Introducción a la programación aplicada en Julia", será un curso enfocado a proyectos cuyo desarrollo se dará en el lenguaje Julia. Éste es un lenguaje de propósito general creado por universidades líderes de academia e industria, enfocado fuertemente en el cómputo de alto rendimiento con aplicaciones en ciencias e ingenierías.

Se ha elegido Julia por el crecimiento rápido que ha tenido en el desarrollo de frontera de muchos campos y tener reunidas las características más deseadas de lenguajes populares:

  • Dinámico (es decir, obtener retroalimentación del resultado de inmediato, como Python)
  • Rápido, compitiendo con velocidades de C++ y Fortran
  • De código abierto (a diferencia de C# y Mathematica)
  • Especializado a limpieza de datos y modelaje estadístico (similar a R)
  • Optimizado para cómputo científico (como MatLab/Octave)
  • Capaz de realizar cómputo y modelaje científico (como Mathematica)
  • Expresivo y poderoso con metaprogramación (similar a Ruby)
  • Concurrencia y paralelismo como pilar del lenguaje.

Esto significa que todo un flujo de desarrollo de modelos y cálculos que previamente requerían aprender y utilizar múltiples lenguajes puede centralizarse en uno solo, con el beneficio añadido de tener una sintaxis y poder de expresión de un lenguaje de alto nivel, sin comprometer la velocidad.

Temario

  • DÍA 1 (LUNES): Instalación del lenguaje y programas auxiliares, además de uso de Git/GitHub y especificaciones del primer proyecto
  • DÍA 2 (MARTES): Diseño fundamental del lenguaje Julia, REPL, instalación de paquetes, tipos de datos primitivos y su jerarquía, funciones y sus propiedades (multiple dispatch, broadcasting, etc.)
  • DÍA 3 (JUEVES): Bosquejo base del proyecto (para que los partícipes lo completen), estructuras de control, introducción a estructuras de datos
  • DÍA 4 (VIERNES): Continuación de funciones, structs, mutabilidad, conversión y promoción.
  • DÍA 5 (LUNES): Lectura y manipulación de archivos, dataframes, herramientas de gráficos, entrega del primer proyecto y anuncio del segundo.
  • DÍA 6 (MARTES): Modelamiento de sistemas dinámicos con ecuaciones diferenciales (DifferentialEquations.jl), Álgebra lineal (LinearAlgebra.jl), Mediciones de experimentos (Measurements.jl)
  • DÍA 7 (JUEVES): Bases de datos (JuliaDB.jl), manejo de puertos (SerialPorts.jl), HTTP requests (HTTP.jl)
  • DÍA 8 (VIERNES): Cómputo de alto rendimiento, paralelización y concurrencia, expresiones y macros (metaprogramación)
  • DÍA 9 Y 10 (LUNES Y MARTES): Decididos por los partícipes en base a sus perfiles e intereses.

Contacto

Contacto para información, consultas o comentarios relacionados con el curso o el proyecto Julia For Education aquí