Bitacora cuatrimestral 2C 2014
Clase 5 - Sabores de colecciones. Composición vs Herencia.
Ampliamos un poquito más el tema de colecciones mencionando las características asociadas a los distintos sabores de colecciones que más se usan. También hablamos un poquito sobre inmutabilidad y sobre la diferencia entre igualdad e identidad. |
Clases 4 y 5 - Clases, herencia y responsabilidades
Empezamos a trabajar con el modelo de clases y la relación de herencia y trabajamos con el enunciado de los tanques para analizar cómo encarar un ejercicio complejo analizando las responsabilidades de los distintos objetos para llegar a una solución. Pueden repasar los temas teóricos vistos en estas clases con los siguientes artículos de la wiki: También empezamos a usar al diagrama de clases como herramienta para comunicar el diseño de la solución. |
Clase 3 - colecciones
En esta clase vimos una introducción a colecciones, que son objetos que modelan conjuntos de otros objetos. Más adelante vamos a continuar este tema para hablar de los distintos sabores de colecciones. Intro a colecciones (obviar en los ejemplos cómo se crean los objetos) Mensajes de colecciones (hay muchos más, en la guía de lenguajes tienen algunos extra para operaciones comunes más allá de las básicas) Además ya está disponible el primer TP de objetos donde se deben poner en práctica los conceptos vistos en estas primeras tres clases. El TP es Se dice Atómico, no se piden pruebas usando el framework de testing que trae Ozono, pero sí un workspace donde se muestre el funcionamiento del programa. Más detalles sobre los TPs de objetos (modalidad de entrega, etc) en la página del curso. |
Clases 1 y 2 de objetos
Arrancamos con Objetos y hablamos de:
Ojo, en los artículos de la wiki pueden haber ejemplos más avanzados de lo que vimos hasta ahora (en particular todo lo relacionado con clases, que es lo que vamos a agregar cuando ya no trabajemos más con Ozono sino con Smalltalk nativo), no se enloquezcan. Asegúrense de tener instalado Pharo (versión más actual) con el software de la cátedra, Ozono (aseguren de tenerlo actualizado también). Si tienen problemas para instalar el software, manden mail a la lista y los ayudamos. Próximamente va a estar disponible el enunciado del primer TP de objetos para hacer en Ozono, el cual al igual que los anteriores es individual y obligatorio. |
Tipos y estrategias de evaluación
Los últimos temas vistos del paradigma funcional fueron:
|
Clases 2 y 3 de funcional
Listas por comprensión Definiciones locales |
Intro a funcional
Arrancamos con el paradigma funcional, que al igual que lógico es un paradigma declarativo, tampoco tiene asignación destructiva ni efecto colateral, y del concepto de función como las conocemos de matemática. En particular hablamos de: En este curso no vamos a estar viendo cómo definir nuestros propios tipos de datos (aka Data en Haskell), en general nos vamos a manejar con tuplas, pero sí mostramos cómo definir un alias para un tipo existente. El software que vamos a estar usando para este paradigma lo pueden encontrar acá. Cualquier duda o inconveniente que les surja, no duden en mandar mail a la lista. Ya les dejamos el enunciado del TP integrador, que al igual que el de lógico, es individual, obligatorio, debe estar hecho en máquina, tiene que estar suficientemente bien para habilitarles rendir el parcial de funcional y se aprueba con los mismos criterios que el parcial. Dudas sobre TP que no sean exclusivamente de enunciado, mandar mail a su ayudante, no a la lista. Con lo que vimos ayer ya pueden encarar gran parte del TP, les recomendamos que lo empiecen ahora que hay tiempo y a medida que vamos incorporando conceptos nuevos durante la cursada mejoren lo que tienen para ponerlos en práctica. Lo que necesariamente tienen que aplicar correctamente y tanto como puedan son los temas que estaremos viendo la clase que viene que son el corazón de este paradigma. TP INTEGRADOR - Fecha de entrega 18/09/2014: Minigolfito |
Simulacro y resolución
El enunciado del simulacro fue este, les adjunto una resolución posible (puede diferir en algún detalle con lo que se hizo en clase, pero es básicamente lo mismo). Respecto a los TPs, las notas las vamos a estar subiendo a medida que estén corregidos lo más pronto posible y van a estar recibiendo feedback en caso de que necesiten reentregar en los próximos días. Como ya saben tienen que tener el TP aprobado (por lo menos con bien en la planilla) para rendir el examen el miércoles que viene. |
Clase 03 - Predicados de orden superior: forall y findall
En esta clase vimos los últimos temas teóricos de este paradigma: El ejemplo que se usó durante la clase lo pueden encontrar acá. Ahora sí, ya tienen todos los conceptos necesarios para poder hacer el TP integrador que se entrega la semana que viene. Aprovechen para verlo con tiempo y enviar consultas a sus ayudantes. Además estuvimos trabajando con el primer ejercicio de la guía 6 en el laboratorio. Para la próxima vamos a trabajar con este parcial, tráiganlo impreso y leído para la clase. |
Clase 02 - Negación. Pattern matching. Functores y listas. Recursividad. Inversibilidad. Polimorfismo.
Los temas de la clase fueron:
La clase que viene la vamos a hacer en el laboratorio, quienes tengan notebook con Prolog instalado para trabajar más tranquilos pueden llevarla. Para hacer en casa: Practicar pattern matching y unificación con la tablita de matcheo Además pueden ejercitar los temas vistos hasta ahora con las guías de ejercicios (en particular el último de la guía 2 para afirmar las bases del paradigma: conjunción, disyunción, negación e inversibilidad) |