Cursos disponibles

Objetivo General:
Este curso introduce los paradigmas de programación funcional y lógica, desarrollando en los estudiantes habilidades para resolver problemas computacionales mediante enfoques declarativos. Se exploran conceptos fundamentales como funciones puras, recursividad, evaluación perezosa, lógica de predicados, unificación y resolución de problemas basados en reglas.

Temáticas Principales:
✔ Fundamentos de paradigmas de programación: Diferencias entre estilos imperativo, funcional y lógico.
✔ Programación funcional: Funciones de primer orden y superior, tipos de datos algebraicos, listas, árboles y evaluación perezosa (ejemplos en Haskell/Elm).
✔ Programación lógica: Lógica de primer orden, cláusulas de Horn, unificación, resolución SLD y control de búsqueda (implementación en Prolog/Datalog).
✔ Aplicaciones prácticas: Manipulación simbólica, bases de conocimiento y solucionadores de restricciones.

Competencias Adquiridas:

  • Diseñar programas usando principios inmutables y composición funcional.

  • Formular problemas computacionales mediante reglas lógicas y mecanismos de inferencia.

  • Analizar ventajas/limitaciones de cada paradigma en ingeniería de software.

Dirigido a: Estudiantes de Ingeniería en Sistemas Computacionales con bases en algoritmos y estructuras de datos.

Metodología: Clases teórico-prácticas, laboratorios con ejercicios guiados y proyecto final integrador.

Duración: 16 semanas (4 unidades).