Cursos destinados a estudiantes y profesionales de carreras informáticas y afines

The lambda-calculus: from simple types to non-idempotent intersection types.
El cálculo-lambda: de tipos simples a tipos con intersección no idempotente.
Giulio Guerrieri. Universidad Aix Marseille, CNRS, LIS. Francia.
Curso en inglés.

En este curso estudiaremos dos versiones tipadas del cálculo lambda. La primera es el cálculo lambda simplemente tipado, que es el equivalente computacional, a través de la correspondencia Curry-Howard, de la deducción natural para la lógica proposicional intuicionista. La segunda variante es la variante dotada de un sistema de tipos de intersección no idempotente. Los tipos de intersección no idempotentes constituyen una herramienta poderosa para razonar sobre propiedades semánticas cualitativas y cuantitativas de los programas: no sólo caracterizan diferentes nociones de terminación, sino que cualquier derivación de tipos da una cota para el tiempo de ejecución de un programa.


Modeling and Analysis of Complex Systems.
Modelado y análisis de sistemas complejos.
Claudia Szabo. Universidad de Adelaide. Australia.
Curso en inglés.

Este curso presenta una visión general de las teorías y metodologías existentes para el análisis del comportamiento de sistemas complejos. Exploraremos los sistemas complejos y su modelado y simulación, así como tres propiedades principales de los sistemas complejos que se pueden modelar y analizar en escenarios conocidos. El curso se enfoca en la aplicación práctica de los métodos existentes para el modelado y análisis de sistemas complejos en la vida real, y en la identificación y análisis de propiedades como la autoorganización, la emergencia y la adaptabilidad, entre otras.


LLMs: Zero to (almost) Hero!
Grandes modelos de lenguaje: fundamentos y aplicaciones.
Giovanni Trappolini. Universidad de Roma La Sapienza. Italia.
Curso en inglés.

El curso dará una introducción a las técnicas de aprendizaje profundo, dando fundamentos sólidos. Se describirá la evolución histórica que ha llevado al desarrollo de los modelos más avanzados de hoy en día, incluidas las arquitecturas basadas en Transformers. Junto con los conocimientos técnicos y teóricos, el curso abordará aplicaciones del mundo real y mantendrá un enfoque práctico. Al final de este curso, los participantes tendrán una comprensión clara y completa de los grandes modelos de lenguaje (LLMs), su evolución, capacidades y su papel e influencia en el panorama general de la inteligencia artificial.


Introduction to HPC Applications, Systems, and Programming Models.
Aplicaciones, sistemas y modelos de computación de alto rendimiento.
Bernd Mohr. Centro de Supercomputación de Jülich. Alemania.
Curso en inglés.

En este curso introductorio, los estudiantes aprenderán qué es la computación de alto rendimiento (HPC) y qué la diferencia de otras áreas de la informática. Se hará una introducción a las principales áreas de aplicación que utilizan HPC para la investigación y la industria, y cómo la inteligencia artificial (AI) y HPC interactúan entre sí. Se presentarán las principales arquitecturas de sistemas de HPC necesarias para ejecutar estas aplicaciones (sistemas de memoria distribuida y compartida, sistemas híbridos y sistemas heterogéneos). En la parte principal del curso, se proporcionará a los estudiantes una visión general de los lenguajes y paradigmas utilizados para programar aplicaciones y sistemas de HPC. Aprenderán cómo usar MPI para programar sistemas de memoria distribuida (clusters) y cómo usar OpenMP para sistemas de memoria compartida. El curso concluirá con una introducción a los métodos y herramientas para el análisis de rendimiento y debugging de programas paralelos.


Evaluación de Interfaces de Usuario.
Carla Griggio. Universidad de Aalborg. Dinamarca.
Curso en español.

Este curso ofrece una introducción a Human-Computer Interaction (HCI). Una actividad fundamental de HCI es la evaluación de interfaces de usuario, la cual no sólo permite validar la usabilidad y utilidad de un sistema, sino que también abre la puerta a descubrir oportunidades para diseñar nuevas soluciones y formas de interactuar con la tecnología. El curso cubre distintos métodos de evaluación de interfaces de usuario, tanto analíticos (ej. evaluación heurística) como empíricos (ej. experimentos con usuarios comparando diseños alternativos).


Deep Learning for Computer Vision and Scene Understanding.
Aprendizaje profundo para visión por computadora y reconocimiento de escenas.
Helisa Dhamo. Laboratorio «Noah’s Ark» de Huawei. Reino Unido.
Curso en inglés.

El aprendizaje profundo es un método de aprendizaje automático que se basa en aprender patrones a partir de un conjunto grande de ejemplos. Es un método particularmente interesante para problemas complejos, para los cuales los datos (experiencia) están ampliamente disponibles, pero formular una solución analítica no es factible. En este curso, exploraremos los conceptos básicos de la inteligencia profunda y la visión por computadora. Mostraremos a través de conferencias teóricas y ejemplos prácticos cómo crear y entrenar modelos de inteligencia profunda según la tarea (detección de objetos, segmentación de instancias, predicción de relaciones entre objetos) y la modalidad de datos (imagen, video, 3D). El curso concluirá con una introducción a algunos temas avanzados y una discusión sobre tendencias recientes.


NeuroIA: Modelando circuitos corticales mediante herramientas de Machine Learning.
Rodrigo Echeveste. Universidad Nacional del Litoral (CONICET). Argentina.
Curso en español.

Las redes neuronales sintéticas y los métodos de machine learning (ML) son una valiosa herramienta para mejorar el entendimiento sobre el funcionamiento del cerebro. En efecto, las redes profundas son hoy en día las mejores predictoras de respuestas medias de neuronas corticales a partir de los estímulos presentados, en distintas modalidades y tareas. Este curso se enfoca en la relación de mutuo beneficio entre neurociencia e inteligencia artificial.


Abordaje Funcional a EDSLs.
Alberto Pardo. Universidad de la República. Uruguay.
Curso en español.

Los lenguajes de programación de propósito general no siempre son adecuados para resolver problemas complejos: las soluciones pueden no ser claras y pueden requerir conocimientos avanzados de programación. Una forma de resolver estos inconvenientes es a través de la definición de un lenguaje de dominio especı́fico (DSL: Domain Specific Language), que es un lenguaje hecho a la medida del dominio en que el problema se encuentra. Para evitar el trabajo de diseñar e implementar un lenguaje completamente nuevo para cada dominio, el DSL se puede implementar como una biblioteca del lenguaje «anfitrión». Los lenguajes de esta clase son llamados lenguajes de dominio especı́fico embebidos (EDSL: Embedded Domain Specific Languages). En este curso estudiaremos algunas técnicas de programación funcional que son muy útiles para el diseño e implementación de EDSLs. Este tipo de lenguajes son muy apropiados para la implementación de EDSLs, debido a la existencia de caracterı́sticas tales como los tipos de datos algebraicos, funciones de alto orden y sofisticados sistemas de tipos.


Introduction to the theory of finite transducers.
Teoría de transductores finitos.
Jacques Sakarovitch. CNRS e Instituto Politécnico de París. Francia.
Curso en inglés.

Los autómatas finitos son el modelo más simple de computación. Constituyen el primer nivel en cualquier jerarquía de máquinas de Turing con más o menos restricciones. Cuando los autómatas finitos se enriquecen con la noción de salida, forman un modelo lo suficientemente potente como para expresar propiedades más complejas. Independientemente de su papel en el estudio teórico de los lenguajes formales, estos autómatas son herramientas útiles para el análisis sintáctico de lenguajes de programación, así como para el procesamiento de lenguaje natural, análisis fonológico o morfológico, aritmética computacional y teoría de números. En este curso se presenta el modelo de transductores finitos y sus diversas subfamilias, y se estudian las relaciones que realizan los transductores finitos.