Calendario
La materia será dictada en 32 clases a lo largo de 16 semanas. Cada clase estará dividida en una parte teórica y una práctica, de 1:30 hs cada una. Los horarios serán:
- Martes de 18:30 a 21:30
- Jueves de 18:30 a 21:30
Clases
| Semana | Día | Fecha | Teórica | Práctica |
| 1 | Martes | 19/08/2025 | Presentación de la Materia. Conceptos de paradigmas de programación. Paradigmas fundamentales. | Herramientas. IDE. Git. GitHub. |
| Jueves | 21/08/2025 | Programación Lógica. | Introducción a Prolog. Enterno de desarrollo. Ejercitación práctica de Paradigma Lógico. | |
| 2 | Martes | 26/08/2025 | Programación Lógica. | Ejercitación práctica de Paradigma Lógico. |
| Jueves | 28/08/2025 | Introducción a Paradigma Funcional. Programas como funciones. Funciones puras. Datos inmutables. Funciones de primera clase. Funciones de orden superior. Composición de funciones. | Introducción a Scala para el Paradigma de Programación Funcional. Entorno de desarrollo en Scala. Instalación de Scala. Características de Scala como lenguaje de programación. Programación funcional en Scala. val (funcional) vs var (no funcional). Tipos. Recomendaciones de estilo. Condicionales (no funcional). Ciclos (no funcional). Guardas en ciclos. | |
| 3 | Martes | 02/09/2025 | Paradigma Funcional. Recursividad. Pattern matching. Lazy evaluation. Currying. | Introducción a Scala para el Paradigma de Programación Funcional. Ejercitación práctica de Paradigma Funcional. Listas. Vector. Map. Ejercitación de la guía de Paradigma Funcional. |
| Jueves | 04/09/2025 | Introducción a Calculo Lambda. Historia. Motivación. Cálculo Lambda vs Máquinas de Turing. Conceptos básicos. Reducción beta. Lógica Booleana con Cálculo Lambda. | Ejercitación práctica de Cálculo Lambda. Ejercitación de interpretación de expresiones lambda y AST. Ejercitación de reducciones beta y conversión alpha. Ejercitación de call-by-name vs call-by-value. | |
| 4 | Martes | 09/09/2025 | Continuación de Cálculo Lambda. Números Naturales con Cálculo Lambda. Tipo de Dato Algebraico. Recursión. call-by-name (lazy evaluation) vs call-by-value (eager evaluation) en Cálculo Lambda. Nociones básicas de Cálculo SKI. | Ejercitación práctica de Cálculo Lambda. Continuación de Ejercitación de reducciones. Ejercitación de Lógica Booleana. Ejercitación de Matemática de Church |
| Jueves | 11/09/2025 | Definición de Tipos. Reglas de Inferencia. Introducción a Cálculo Lambda Simplemente Tipado. Inferencia de Tipos. Tipos Polimorficos. | Modularización en Scala. Packages. Classes. Objects. Traits. Ejercitación práctica de tipado | |
| 5 | Martes | 16/09/2025 | Práctica pre parcial | |
| Jueves | 18/09/2025 | Parcial 1: Conceptos de paradigmas de programación. Paradigma Funcional. Scala. Cálculo Lambda. Lógico. | ||
| 6 | Martes | 23/09/2025 | Paradigma Orientado a Objetos. Objetos. Clases. Estado y Atributos. Comportamiento, Metodos y Mensajes. Abstracción. Encapsulamiento. | Intro a Java. Entorno de desarrollo. Ejercitación práctica de Paradigma Orientado a Objetos. Cómo crear un proyecto en Intellij. Proyectos Maven. Ejecución de código en Intellij. Repaso de conceptos de POO. Tipos nativos en Java (Int vs int). Constructor, getter, setter con clase Alumno y Materia. Métodos, comportamiento y estado con método "aprobarMateria". Abstracción. Encapsulamiento. Niveles de acceso en Java. |
| Jueves | 25/09/2025 | Interfaces. Herencia. Polimorfismo. Visibilidad. Override. | Herencia. Interfaces. Polimorfismo. Concepto de Herencia con ejemplo de Animal, Mamifero, Perro y Gato. Clases abstractas, override de métodos y referencia a clase padre con super. Generalizar instancias de clases hijas usando clases padres, y casteo entre clases. Polimorfismo con ejercicio de Figuras. Arbol de herencia y documentación de clase HashMap. | |
| 7 | Martes | 30/09/2025 | UML. Diagrama de Clases. Diagrama de Secuencias. | Ejercitación práctica de modelado, diseño y UML. Ejercicio de Calendario. Calendarios Publico y Privado. Calendario de Equipo. Notificaciones. Eventos. Diagrama de clases. Entitdades del dominio. Atributos publicos vs privados. Agregación vs Composición. Herencia vs Interfaz. Comportamiento de clases. Diagrama de secuencia. Flujo de notificaciones. |
| Jueves | 02/10/2025 | Principios de Diseño I. | Ejercitación práctica de modelado SIN VISTA. Ejercicio de TaTeDrez. Responsabilidades de clase Juego y modularización. Separación de modelo y vista. Diagrama de clases. Implementación en Java. | |
| 8 | Martes | 07/10/2025 | Principios de Diseño II. | Ejercitación práctica de Principios de Diseño. Ejercicios de Principios de diseño más importantes. Por qué se viola cada principio y resolución. |
| Jueves | 09/10/2025 | Patrones de Diseño I. | Ejercitación práctica de Patrones de Diseño. Ejercicios de Patrones de diseños vistos en clase. Qué principios se violan y resolución usando patrones de diseño. | |
| 9 | Martes | 14/10/2025 | Patrones de Diseño II. | Ejercitación práctica de Patrones de Diseño. Ejercicios de Patrones de diseños vistos en clase. Qué principios se violan y resolución usando patrones de diseño. |
| Jueves | 16/10/2025 | Patrones de Diseño III. | Ejercitación práctica de Patrones de Diseño. Ejercicios de Patrones de diseños vistos en clase. Qué principios se violan y resolución usando patrones de diseño. | |
| 10 | Martes | 21/10/2025 | Taller de UML | |
| Jueves | 23/10/2025 | Práctica pre parcial | ||
| 11 | Martes | 28/10/2025 | Parcial 2: Paradigma Orientado a Objetos. Java. Principios de Diseño. | |
| Jueves | 30/10/2025 | Programación Concurrente. Concepto de Concurrencia. Concurrencia vs Paralelismo. Threads. | Ejercitación práctica de Concurrencia. Ejercitacion practica de POE | |
| 12 | Martes | 04/11/2025 | Otras formas de concurrencia. Operaciones bloqueantes y no bloqueantes. Programación asincrónica. Future (Promises). Virtual Threads (Coroutines). | Ejercitación práctica de Concurrencia. |
| Jueves | 06/11/2025 | Programación Orientada a Eventos. | Cierre de ultima parte con examenes. | |
| 13 | Martes | 11/11/2025 | Otros paradigmas y como elegirlos. | Ejercicio de final. Cierre de la materia. |
| Jueves | 13/11/2025 | |||
| 14 | Martes | 18/11/2025 | Examen de TPs | |
| Jueves | 20/11/2025 | Examen de TPs | ||
| 15 | Martes | 25/11/2025 | 1er Recuperatorio: P1 | |
| Jueves | 27/11/2025 | 1er Recuperatorio: P2 | ||
| 16 | Martes | 02/12/2025 | 2do Recuperatorio: P1. Examen promoción | |
| Jueves | 04/12/2025 | 2do Recuperatorio: P2 | ||