Escribir funciones en Julia con anotaciones de tipo y comprender el sistema de tipos paramétricos.
Definir varios métodos de una misma función y entender cómo se resuelve el despacho múltiple.
Operar con arrays y matrices aprovechando la difusión con el operador punto.
Gestionar paquetes y entornos con Pkg y los ficheros Project.toml y Manifest.toml.
Cargar y explorar datos tabulares con DataFrames y CSV y representarlos con Plots.
Resolver un problema numérico completo: sistema lineal, integración y ajuste de curva.
Contenido del curso
6 módulos · 30 clases en vídeo · práctica guiada en cada módulo
Módulo 1 · Primeros pasos5 clases
Qué resuelve Julia y en qué se diferencia de Python y R
Julia sobre JupyterLab: celdas, REPL y ayuda
Sintaxis básica, variables y operadores
Cadenas, interpolación y símbolos
Control de flujo y comprensiones
Módulo 2 · Funciones y despacho múltiple5 clases
Definir funciones y funciones anónimas
Argumentos posicionales, con nombre y valores por defecto
Anotar tipos en la firma de una función
Métodos múltiples de una misma función
Cómo elige Julia el método y cómo comprobarlo
Módulo 3 · El sistema de tipos5 clases
Tipos abstractos y concretos
Jerarquía de tipos y subtipado
Structs mutables e inmutables
Tipos paramétricos
Diseñar una jerarquía propia para un problema físico
Módulo 4 · Arrays y álgebra lineal5 clases
Crear e indexar arrays y matrices
Difusión con el operador punto
Vistas frente a copias
LinearAlgebra: sistemas, factorizaciones y valores propios
Operaciones sobre filas y columnas
Módulo 5 · Paquetes y datos5 clases
Pkg: añadir paquetes y fijar versiones
Project.toml y Manifest.toml para entornos reproducibles
Leer ficheros con CSV y trabajar con DataFrames
Filtrar, agrupar y resumir tablas
Gráficos con Plots y sus backends
Módulo 6 · Cálculo numérico aplicado5 clases
Resolver un sistema de ecuaciones lineales
Integración numérica y ecuaciones diferenciales
Ajuste de curvas y optimización sencilla
Comprobar resultados y controlar el error
Proyecto de cierre: modelo numérico completo con datos y gráficas
Requisitos
Haber programado antes en cualquier lenguaje, aunque sea a nivel básico.
No se necesita experiencia previa con Julia ni con computación científica.
Basta con un navegador: se trabaja con Julia sobre JupyterLab.
Descripción
Quien calcula a diario acaba con dos códigos: un prototipo cómodo en un lenguaje interpretado y una versión rápida reescrita en C o Fortran cuando el problema crece. Mantener las dos cuesta tiempo y provoca discrepancias que aparecen en el peor momento, normalmente al validar resultados.
Julia existe para evitar esa duplicidad y este curso enseña por qué funciona. Se recorren los tipos y el despacho múltiple, que son la clave del lenguaje, la manipulación de arrays con difusión, la gestión de entornos con Pkg y el ecosistema científico básico: DataFrames, CSV, Plots y las bibliotecas de álgebra lineal, integración y ajuste. Cada bloque termina con ejercicios numéricos resueltos en el cuaderno.
Al terminar se escriben programas idiomáticos de Julia y se lee código del ecosistema sin perderse entre métodos, tipos paramétricos y macros. Ese es el punto en el que el lenguaje deja de parecer una curiosidad y empieza a sustituir trabajo real. Es la entrada directa al curso avanzado de rendimiento y computación científica, donde se trabajan la estabilidad de tipos, las asignaciones de memoria y el paralelismo.
¿Para quién es este curso?
Ingenieros de cálculo y simulación que arrastran prototipos lentos y versiones reescritas en otro lenguaje.
Desarrolladores científicos que evalúan Julia para sustituir parte de su código numérico.
Personal de I+D que necesita resolver problemas numéricos sin depender de licencias de software comercial.
Bajo demanda
Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.
Fundamentos del lenguaje, orientación a objetos, ficheros, concurrencia y tests, y después análisis y visualización de datos con NumPy, Pandas, Matplotlib y Seaborn.
Este sitio web utiliza cookies propias y de terceros para recopilar información con finalidad técnica. No se recaban ni ceden datos de carácter personal sin tu consentimiento. Más información en la política de cookies.