Curso: Programación en Julia

crd-image

neboda

Este curso incluye:

  • Idioma - EspañolIdioma - Español
  • PC, tablet o móvilPC, tablet o móvil
  • Modo: Presencial/OnlineModo: Presencial/Online

 

  • Descripción curso

    Julia es un lenguaje de programación de alto rendimiento, diseñado especialmente para la computación técnica y científica.

    Es conocido por su velocidad, que se acerca a la de los lenguajes compilados como C, pero con la facilidad y sencillez de lenguajes dinámicos como Python.

    Además, Julia es muy versátil y fácil de usar, lo que la hace popular entre investigadores, ingenieros y científicos que necesitan realizar cálculos complejos de manera eficiente.

    ¡Es una excelente opción si buscas un lenguaje potente y amigable para tareas matemáticas y analíticas!

  • Temario curso

     

    Tema 1: Primeros pasos

    • Propósito de Julia.
      • El rendimiento es el núcleo.
      • Lenguaje de programación moderno.
      • Integración con otras plataformas.
      • Diseñado para investigadores.
      • Metaprogramación.
      • Conjunto de herramientas de desarrollo.
      • Ecosistema de paquetes.
      • Soporte de plataformas de servidor.
      • Código abierto y licencias flexibles.
      • Arquitectura amigable para la empresa.
      • Comunidad activa.
      • Métete debajo del capó.
    • Una breve historia.
    • Preparando a Julia.
    • Descarga de binarios del instalador.
      • Julia.
      • Linux (x86).
      • Windows.
    • Bucle de lectura-evaluación-impresión (REPL).
    • Julia y Jupyter interactivos.
    • Julia.

     

    Tema 2: Tipos de datos

    • Tipos en Julia.
      • Variables.
      • Definición versus inicialización.
      • Constantes.
      • Literalmente.
      • Tuplas.
    • Tipos integrados.
      • Nothing.
      • Tipos numéricos.
        • Bool.
        • Tipos enteros.
        • Números de punto flotante.
        • Tipos abstractos.
        • Tipos primitivos.
        • Tipos de bits.
        • Racional y complejo.
    • Caracter.
    • Cadena.
    • Tipos definidos por el usuario.
      • struct.
      • mutable struct.
      • Miembros.
    • Any.
    • Tipos de datos paramétricos.
    • Operaciones en tipos.
      • typeof.
      • isa.
      • supertype.
    • Impresión de tipos de datos.
      • show.
      • print.
      • string.

     

    Tema 3: Condiciones, flujos de control e iteraciones

    • Declaraciones compuestas.
      • begin...end.
    • Ejecución condicional.
      • if...else.
      • El interruptor switch...case.
      • Ramificación no estructurada.
    • Ejecución iterativa.
      • for.
        • continue y break.
        • for...in.
        • Objetos de rango múltiple.
      • while.
      • Falta do...while.
    • Excepciones.
      • try...catch.
      • throw/rethrow.
      • finally.
      • Información de excepciones.
        • Trazas de pila.
    • Ejecución paralela.

     

    Tema 4: Funciones y métodos

    • Introducción.
      • El problema de las 8 reinas.
        • Dos reinas mutuamente seguras.
        • Operadores.
    • Forma corta.
      • Funciones anónimas.
    • Argumentos de entrada.
      • Se ha corregido la longitud de los argumentos.
      • Número variable de argumentos.
      • Valores predeterminados.
      • Sorber y salpicar.
    • Valor devuelto.
      • Tipo de seguridad.
      • Valores múltiples.
    • Recursión.
      • Llamada de cola.
    • Métodos polimórficos.
      • Tipos de datos.
        • Despacho múltiple.
      • Constructores.
        • Valor devuelto.
      • Tipo de datos paramétricos.
        • Interfaz de despacho.
    • Tipo de interacción.
      • Conversión.
      • Promoción.

     

    Tema 5: Colecciones

    • Estructuras de datos predefinidas.
    • Tupla.
      • NTupla.
      • Tuple como colección.
      • Enteros como parámetros de tipo.
      • Parámetros de valor.
        • Singleton.
    • Rangos.
      • UnitRange.
      • StepRange.
      • Rangos decrecientes.
    • Arrays.
    • Diseño e indexación de memoria.
      • Efectos de la radiobúsqueda.
      • Algunas funciones útiles.
        • Constructores.
        • ceros y unos.
        • Verdaderos y falsos.
        • fill y similares.
        • collect.
        • reshape.
        • hcat, vcat y hvcat.
    • Colección asociativa.
      • Dict.
        • Métodos get.
        • Método setindex!.
        • Hash.
      • Set.
        • Unión e intersección.
    • Iteración.
      • bucle for.
      • function...do.
    • Marco de iteración.
      • Métodos de iteración.
        • Métodos opcionales.
      • Ejemplo.
    • Generadores y comprensiones.

     

    Tema 6: Arrays

    • Recipientes.
    • Dimensiones.
    • Indexación.
      • Escalares.
      • Rangos.
      • Vectores.
      • Índice lineal.
      • Índice cartesiano.
      • Índice booleano.
      • Asignación.
      • Índices especiales.
      • Interfaz.
    • Rebanar.
    • Radiodifusión.
      • Rendimiento.
      • broadcast versus map.
    • Reducción.
      • Asociatividad.
      • map y reduce.
      • Rebanadas.
    • Tipos de matrices abstractas.
    • Matrices dispersas.
      • Almacenamiento vectorial disperso.
      • Almacenamiento de matriz dispersa.
      • Eficacia.
    • Álgebra lineal.

     

    Tema 7: Cadenas

    • De fondo.
      • Cadenas.
      • Caracteres.
      • Codificación.
      • ASCII.
      • ISO-8859.
      • La codificación 'C'.
      • Unicode.
      • Transformaciones Unicode.
      • Compatibilidad con Unicode en Julia.
      • Fuentes y glifos.
    • Cadena.
    • Métodos de cadena.
      • Comparación.
      • Iteración.
      • Dividir y concatenar.
      • Conversión de mayúsculas y minúsculas.
      • Coincidencia de patrones.
      • Expresiones regulares.
    • Codificaciones.
      • Funciones útiles.
    • Matriz de caracteres.
    • Cadenas personalizadas.
      • AbstractChar.
      • AbstractString.

     

    Tema 8: Metaprogramación

    • De fondo.
      • Árboles de sintaxis abstracta (AST).
      • Símbolos y cadenas internadas.
      • Evaluaciones en línea.
      • Expresiones de varias líneas.
      • Comillas e interpolación anidadas.
      • Funciones.
    • Macros.
      • Convenciones de llamada.
    • Literales de cadena personalizados.
    • Funciones generadas.
    • Macros de uso común.
      • Ubicaciones de origen.
      • eval.
      • assert.
      • time.

     

    Tema 9: Bibliotecas estándar

    • De fondo.
      • Módulos.
    • Módulos estándar.
    • Sistema.
    • Sistema de archivos.
    • Programación paralela.
      • Programación asíncrona.
        • Tareas.
        • Canales.
        • Bloqueos.
      • Multiproceso.
      • Computación distribuida.
    • E/S y red.
      • Transmisiones predeterminadas.
        • E/S de texto.
        • E/S binaria.
        • E/S de archivo.
      • Archivos delimitados.
      • Comunicación en red.
      • Memoria y E/S.
    • Constantes.
    • Módulos notables.
      • Fechas.
      • Registro.
      • Estadística.
      • Números aleatorios.

     

    Tema 10: Lineamientos de programación en Julia

    • De fondo.
    • Pautas para el mantenimiento.
      • Estilo de codificación.
    • Principios de programación funcional.
      • Programación declarativa.
      • Funciona sin efectos secundarios.
      • Funciones de orden superior.
      • Inmutabilidad.
    • Patrones de uso común.
      • Interfaces.
        • Súper tipos.
        • Traits sagradas.
      • Delegación.
      • Métodos de acceso.
    • Contribuir al código abierto.
      • Contribuyendo a Julia.

     

    Tema 11: Gestión del desempeño

    • De fondo.
      • El nivel adecuado de optimización.
      • Recursos.
      • La elección del algoritmo.
      • Optimiza sabiamente.
      • Julia contra la competencia.
    • Evaluación comparativa.
    • Herramientas de generación de código.
      • Estabilidad de tipos.
      • Asignaciones innecesarias.
      • Tipos de datos paramétricos.
      • Elimine el código innecesario.
    • Perfiles.
    • Directrices para código de alto rendimiento.
      • Memorización.
      • Variables globales.

     

    Tema 12: IDE y depuración

    • De fondo.
    • Integración del editor.
      • vim.
      • Emacs.
      • Notepad++.
    • IDE.
      • Atom.
      • Visual Studio Code.
    • Depuración.
      • print, log y @assert.
      • Pruebas unitarias.
      • REPL.
      • Depuración de línea en IDE.
    • Code-run-fix.

     

    Tema 13: Gestión de paquetes

    • De fondo.
    • Proyectos, módulos y paquetes.
    • Módulos.
      • Proyectos.
      • Bibliotecas.
      • Paquetes.
      • N-Queens revisitado.
      • Crear un nuevo paquete.
        • Planteamiento del problema.
        • Inicialización del paquete.
        • Desarrollar la funcionalidad.
        • Registrarse en GitHub.
    • Automatización de pruebas.
      • Cobertura.
    • Documentación.
      • Configuración del documentador.
    • Integración continua.
      • Visualización de la cobertura del código.
    • Dependencias binarias.
      • Uso de binarios nativos.
    • Entornos.
    • Arquitectura de paquetes.
      • Comando REPL.
      • Módulo Pkg.

     

    Tema 14: Despliegue

    • Entornos en la nube.
    • Desplegando a Julia.
      • Servicios web basados en REST.
      • Contenedores Docker.
    • Kubernetes.
      • Orquestación de AKS desde Julia.
    • Infraestructuras de nube pública.
      • Servicios web de Amazon.
      • Microsoft Azure.
      • Plataforma de Google Cloud.

     

    Tema 15: Transformaciones de datos

    • Configuración del entorno.
    • FileIO.
    • Datos de texto.
      • Archivos delimitados.
      • XML.
      • Archivos HTML.
      • Archivos PDF.
      • Documentos de Microsoft Office.
    • Datos de imagen.
    • Datos tabulares.
    • Visualización de datos.

     

    Tema 16: Analíticas de texto

    • Canalización de procesamiento de texto.
    • Preprocesamiento.
      • Tokenización.
      • Representaciones de palabras.
      • Incrustaciones.
    • Análisis semántico.
    • Clasificadores.
    • Resumen extractivo.
      • Métricas de evaluación.
    • Reconocimiento de entidades con nombre.
    • ULMFiT.

     

    Tema 17: Deep Learning

    • Aprendizaje profundo.
    • ¿Qué es Flux?
    • Maqueta de Zoológico.
    • Tipos de redes neuronales.
      • Totalmente conectado.
      • CNN.
      • RNN.