Bitácora de Clase

Próxima Clase

Clase 10 - Intro a Lógico

En esta clase arrancamos con el Paradigma Lógico de la mano del lenguaje Prolog.

Acá pueden encontrar una introducción al paradigma que sienta las bases de cómo trabajar, y cómo se resuelven con estas herramientas básicas la conjunción y disyunción. Hasta ahora trabajamos sólo con individuos simples (átomos y números).

Uno de los temas que introdujimos en esta clase es uno de los puntos fuertes de este paradigma y es el concepto de inversibilidad, lo cual permite hacer consultas con múltiples respuestas. Profundizaremos más adelante el tema de inversibilidad.

Resumen de nomenclatura <-- Repasar esto si no recordás a qué nos referimos al decir predicado, hecho, regla, cláusula, aridad, consulta, individuo, átomo...

También se puede ampliar sobre estos temas con el Módulo 1 y el Módulo 2 de lógico.

Para ejercitar en Mumuki

Pueden profundizar los temas vistos con estas guías:

  • Guía 1: Hechos y Reglas

  • Guía 2: Práctica Hechos y Reglas

  • Guía 5: Aritmética

  • Guía 6: Inversibilidad

Tengan en cuenta que las guías de Mumuki introducen inversibilidad más tarde, por eso para la práctica de la guía 7 sólo están en condiciones de abordar hasta el ejercicio 10 inclusive.

Paradigma Funcional

Clase 9 - Práctica Gimnasio

En esta clase resolvimos la última práctica integradora de funcional: Gimnasio.

Clase 8 - Estrategias de Evaluación

En esta última clase teórica de funcional vimos Estrategias de Evaluación:

  • Evaluación Ansiosa vs. Evaluación Perezosa

  • Listas infinitas

También se puede ampliar sobre estos temas con el Módulo 4 de funcional.

Clase 7 - Práctica: Pociones

En esta clase resolvemos la práctica Pociones haciendo foco en orden superior, composición y aplicación parcial, al igual que la semana pasada, y en cuestiones de modelado con funciones e inmutabilidad.

Clase 6 - Práctica: Inmobiliaria

En esta clase resolvemos la práctica LambdaProp haciendo foco en orden superior, composición y aplicación parcial.

Clase 5 - Orden Superior y Listas

En esta clase vimos los siguientes temas:

También se puede ampliar sobre estos temas con el Módulo 5 y Módulo 6 de funcional.

Para ejercitar en Mumuki

Pueden seguir ejercitando libremente los temas vistos con las guías:

  • Práctica de Aplicación Parcial y Orden Superior

  • Práctica de Inferencia de Tipos, Recargada

  • Práctica de Listas

  • Práctica Recursividad

  • Dominar el mundo con nada <- tiene algunos ejercicios interesantes para usar fold

Trabajos Prácticos

Para el jueves 20/5 tienen que resolver el TP4 que consta de 4 ejercicios. Son los ejercicios 8 a 11 de la Guía de TPs de Funcional.

Clase 4 - Composición y Aplicación Parcial

En esta clase vimos los siguientes temas:

También se puede ampliar sobre estos temas con el Módulo 2 de funcional.

Para ejercitar en Mumuki

Pueden profundizar los temas vistos con las guías:

  • Introducción a tipos de dato y su práctica asociada.

  • Aplicación Parcial y Orden Superior (Ejercicios 1 al 4 inclusive).

  • Práctica Aplicación Parcial y Orden Superior (hasta ejercicio 6).

Además pueden revisitar cualquier ejercicio que hayan salteado o dejado en amarillo de guías anteriores que pidieran usar composición.

Trabajos Prácticos

Para el jueves 13/5 tienen que resolver el TP3 que consta de 2 ejercicios. Son los ejercicios 6 y 7 de la Guía de TPs de Funcional.

Clase 3 - Tipos complejos

En esta clase se abarcan los siguientes temas:

También se puede ampliar sobre data, tuplas y type alias con el Módulo 3 de funcional, y sobre guardas en el Módulo 1 de funcional.

Para ejercitar en Mumuki

Pueden profundizar estos temas con las guías:

  • Alternativas: Guardas y Patrones

  • Modelado (hasta ejercicio 13)

Trabajos Prácticos

Para el jueves 6/5 tienen que resolver el TP2 que consta de 2 ejercicios. Son los ejercicios 4 y 5 de la Guía de TPs de Funcional.

Clase 2 - Introducción a Funcional

En esta clase arrancamos con el paradigma funcional, para el cual usaremos el lenguaje Haskell, y vimos los siguientes temas:


  • Concepto de función

    • Cumplen con unicidad y existencia, esto nos permite asegurar que luego de aplicar una función obtendremos siempre un único valor.

    • Tienen transparencia referencial

    • Las variables son incógnitas como las de matemática, no pensarlas como posiciones de memoria, no se pueden asignar.

    • Su principal operación: la aplicación.

  • Pattern Matching con tipos básicos

  • Introducción a Tipado:

    • Tipos de datos simples (Int, Float, Bool, ...).

    • Entender de qué tipo son las funciones, en base al tipo de su dominio y de su imagen.

    • Tipos genéricos (variable de tipo) y noción de de Typeclass

También se puede ampliar con el Módulo 1 de funcional (todo menos guardas) y en la sección "Clasificando tipos" del Módulo 7 se explica más sobre Typeclasses (obviar los tipos compuestos, tuplas y listas, que todavía no vimos).

Para ejercitar en Mumuki

Pueden profundizar los temas vistos con las guías:

  • Valores y Funciones

  • Práctica Valores y Funciones

  • Introducción a Tipos de Datos

  • Práctica de Inferencia de Tipos

Nota: todavía no vimos composición, vale saltear los ejercicios que requieran haber visto ese tema.

Trabajos Prácticos

Para el jueves 29/4 tienen que resolver el TP1 que consta de 3 ejercicios. Son los ejercicios 1, 2 y 3 de la Guía de TPs de Funcional.

En esta misma guía incorporaremos gradualmente nuevos ejercicios para los TPs siguientes.

Clase 1 - Introducción a la materia