Cursos‎ > ‎Cursadas Anteriores‎ > ‎2014‎ > ‎Noc-1erCuatrimestral‎ > ‎

Bitacora cuatrimestral 1C 2014

Clase 20 - Métodos y variables de clase. Manejo de errores.

publicado a la‎(s)‎ 24 jun. 2014 6:59 por Mariana Matos

Los temas vistos en esta clase fueron:

Clase 19 - Sabores de colecciones. Composición. Inmutabilidad, igualdad e identidad

publicado a la‎(s)‎ 13 jun. 2014 20:33 por Mariana Matos   [ actualizado el 13 jun. 2014 20:54 ]

En esta clase hablamos de:

Clases 17 y 18 - Clases, herencia, method lookup

publicado a la‎(s)‎ 8 jun. 2014 14:47 por Mariana Matos   [ actualizado el 8 jun. 2014 14:49 ]

En estas clases empezamos a trabajar con clases y herencia. Estos conceptos afectan, además de la forma en la que modelamos con objetos, al mecanismo de Method Lookup, que ya no es tan simple como ir a buscar la implementación del mensaje en el objeto receptor.

También vimos una herramienta nueva para comunicar el diseño de una solución planteada en este paradigma que es el diagrama de clases.

De acá en más ya no estaremos usando el Ozono para los TPs, sino el System Browser de Pharo.

En la clase del jueves estuvimos haciendo el parcial de Tanques analizando quién tiene la responsabilidad de resolver cada parte de la lógica y para la clase que viene (el jueves, porque el miércoles no hay clases) tienen que entregar el de Pepero incluyendo las pruebas además del file out del package donde tengan sus clases.

Clases 15 y 16 - Polimorfismo, bloques y colecciones

publicado a la‎(s)‎ 30 may. 2014 8:09 por Mariana Matos

Los temas vistos en estas clases incluyeron:
Para la próxima clase hay que hacer el siguiente TP usando Ozono para ejercitar todos los temas vistos hasta ahora.
TP de colecciones: Se dice Atómico

Clase 14 - Intro al paradigma orientado a objetos

publicado a la‎(s)‎ 23 may. 2014 16:02 por Mariana Matos   [ actualizado el 23 may. 2014 16:09 ]

Arrancamos con objetos, los temas de la clase fueron diferencia entre mensajes y métodos, referenciasself para que un objeto pueda mandarse mensajes a sí mismo, y dos de los tres pilares sobre los cuales se basa el paradigma:
El tercero (polimorfismo) es el tema principal de la clase que viene :)
Disclaimer: En la wiki van a ver cosas como AlgoQueEmpiezaEnMayuscula new, no le presten atención, eso no va a aparecer en nuestro código hasta dentro de algunas clases.

Para el miércoles que viene tienen que instalarse Pharo con Ozono, las instrucciones para esto lo pueden encontrar en la parte del software correspondiente. Además tienen que traer hecho en máquina el ejercicio 1 de la guía de objetos que es el ejemplo que estuvimos trabajando en clase, la onda para este TP es que se amiguen con el ambiente y puedan ver su código andando.

Desde la misma herramienta Ozono pueden exportar su trabajo (que incluye la definición de sus objetos y el workspace), eso lo imprimen tal cual sale, probablemente se vea bastante feo pero no se preocupen, viéndolo con cariño es entendible. No formateen eso a word o algo por el estilo porque se puede perder información importante.

Clase 10 - Findall

publicado a la‎(s)‎ 8 may. 2014 20:40 por Mariana Matos

Hoy vimos el último tema del paradigma lógico: findall, un predicado de orden superior para armar listas con individuos que cumplan una determinada condición.

Para el miércoles que viene hay un TP integrador para hacer en máquina (recuerden entregar las consultas para probar el programa, no sólo el código). Se espera que apliquen todos los conceptos vistos (no olvidarse del polimorfismo!). Sólo usen listas cuando realmente sean necesarias.

El miércoles que viene también tenemos el simulacro de parcial, así que practiquen en sus casas y no lleguen tarde así lo aprovechan más.

Clase 09 - Listas y functores. Forall. Polimorfismo

publicado a la‎(s)‎ 7 may. 2014 20:11 por Mariana Matos

Hoy vimos cómo trabajar con individuos compuestos (listas y functores) y sobre todo el predicado de orden superior forall y cuándo generar  valores para las variables involucradas de modo que el predicado que usa forall sea inversible.

El enunciado que usamos para la clase es el TEG.

También hablamos un poco de polimorfismo con functores, que se usa para determinar si un objetivo fue cumplido y así poder abstraerse al definir el predicado ganador/1. Con los predicados polimórficos también es importante hacer un análisis de inversibilidad para entender qué se puede o no hacer con ellos.

Otro tema que tocamos durante la resolución del ejercicio fue recursividad sobre listas. La solución planteada para resolver cuantosDeContinente/3 se caracteriza por tener dos casos recursivos para el mismo patrón de lista (cabeza y cola) que en la definición deben ser excluyentes entre sí para evitar una explosión combinatoria no deseada.

Al principio de la clase de mañana vamos a hacer un mini TP de forall, así que repasen lo visto hoy y pregunten por la lista en caso de tener dudas

Clase 08 - Introducción al paradigma Lógico

publicado a la‎(s)‎ 30 abr. 2014 19:54 por Mariana Matos

Hoy arrancamos con un nuevo paradigma: el paradigma Lógico que al igual que a Funcional lo podemos categorizar como declarativo.
También tienen disponible como material de lectura de estos temas los primeros 3 módulos de los apuntes de lógico que pueden encontrar acá

Para la clase que viene tienen que bajarse SWI Prolog y, además de probar lo que hicimos en clase y practicar libremente con las guías de ejercicios (ya pueden hacer las 2 primeras guías de ejercicios), hacer en máquina un TP de conjunción, disyunción y negación.

El enunciado lo pueden encontrar en la guía 2 de lógico, es el último ejercicio (Ej. 3, sobre quién asesinó a Tía Agatha).

La consulta principal que deben poder responder con este programa es:
?- asesino(Persona, tiaAgatha).

Clases 04 y 05 - Ejercitación, estrategias de evaluación y transparencia referencial

publicado a la‎(s)‎ 10 abr. 2014 5:36 por Mariana Matos   [ actualizado el 15 may. 2014 6:51 ]

Clase 4

En esta clase estuvimos trabajando con este enunciado como TP4: Parcial de Padrinos Mágicos
También se habló sobre Listas por comprensión y Listas infinitas, tema que se retomará la clase que viene desde el punto de vista de Estrategias de Evaluación.

El jueves 10 no va a haber clases por el paro general de transportes. La planificación fue modificada considerando esto, la fecha del parcial no se mueve.

Para la próxima clase (Miércoles 16/4) se entrega el hecho en máquina (con consultas) el siguiente enunciado de parcial como TP5 (Integrador):
Parcial de pociones

Clase 5

Cerramos la parte teórica del paradigma funcional. En esta clase se vio Estrategias de Evaluación y Transparencia Referencial

Clase 03 - Aplicación parcial, composición y expresiones lambda

publicado a la‎(s)‎ 6 abr. 2014 12:42 por Mariana Matos

Contenidos

Los temas nuevos que vimos fueron:

Tarea

Para la próxima clase resolver en máquina los siguientes problemas usando orden superior, composición y aplicación parcial siempre que sea posible.

1a) Definir sonTodosNombresDeVieja que recibe una lista de personas [(String,Int)] y una lista de nombres [String], y verifica que todos los nombres sean uno de los nombres de personas cuya edad sea al menos 80.
1b) Definir sonTodosComponentes que recibe una palabra y una lista de letras y verifica que todas las letras estén incluídas en la palabra recibida

2) Definir la función de orden superior sonTodos que pueda usarse para generalizar la lógica de las funciones del punto 1. Cuál es el tipo de esta función?

3) Reescribir las funciones del punto 1 para usar sonTodos.

4) Dar un ejemplo de uso de sonTodos para que pueda ser un parámetro de la función existeAlgun :: ([a] -> Bool) -> [[a]] -> Bool , que recibe un criterio y una lista de listas y dice si alguna de ellas lo cumple.

1-10 of 12