Apuntes

La cursada por sí sola puede ser suficiente para entender los temas de la materia, pero nunca está de más reforzarla con apuntes, y la buena noticia es que tenés muchas variantes, con distintos estilos de redacción y orden. Para no marearse, están organizados de esta manera:

  • Wiki: material de referencia que cubre todos los contenidos de la materia (y más). Cada tema está presentado en forma independiente, como para poder entenderlo en su totalidad sin depender de un determinado orden o secuenciación. Se encuentra en constante construcción, si encontrás algo faltante o que podría mejorarse comentáselo a tu docente.

  • Mumuki: es una plataforma de aprendizaje con guías teórico-práctica interactivas, que brindan feedback conceptual a las soluciones y permiten hacer un seguimiento de los temas de la materia. Para ver el contenido tenés que asociarte a un aula de Mumuki previamente. Contactá a tu docente para más información.

  • Guía de lenguajes: es un material breve y práctico sobre la sintaxis básica y funciones/predicados/métodos de uso frecuente en los lenguajes de programación utilizados. Puede usarse tanto en los parciales como en el final.

Apuntes clásicos

Desarrollan los temas en una determinada secuencia pedagógica, combinando ejemplos y explicaciones teóricas. El orden interno, el estilo de redacción y la selección de ejemplos, se corresponden con la forma que los respectivos autores (docentes de la materia) van desarrollando sus clases. También hay algunos sobre temas específicos de la materia y otros que abordan temas que van un poco más allá. Se presentan a continuación, organizados por paradigma.

Funcional

Compendio muy completo que recorre todos los temas y más. Se corresponde históricamente con el curso de los sábados a la mañana. Por Fernando Dodino, Matías Freyre y otros.

Para los curiosos, material extra:

  • Módulo 9: Tipos de datos avanzados. Kinds.

  • Módulo 10: Functores. Entrada/Salida. Trabajo con bindings.

Otros apuntes

Libros:

Lógico

Compendio muy completo que recorre todos los temas y más. Se corresponde históricamente con el curso de los sábados a la mañana. Por Fernando Dodino, Matías Freyre y otros.

  • Módulo 1: Predicados. Individuos. Consultas. Universo Cerrado.

  • Módulo 2: Variables. Consultas Existenciales. Reglas simples y compuestas. Inversibilidad.

  • Módulo 3: Estructuras de datos. Individuos simples y compuestos.

  • Módulo 4: Predicados de orden superior.

  • Módulo 5: Recursividad.

  • Módulo 6: Elementos de Diseño. Delegación. Acoplamiento. Code smells.

Para los curiosos, material extra:

  • Módulo 7: Explosión combinatoria. Orden superior (definición). Efecto.

  • Anexo A: Testeo con PlUnit

Otros apuntes

  • Forall: por Carlos Lombardi

  • Paradigma Lógico. Abarca todos los conceptos del paradigma. Anteriormente publicado impreso en el CEIT (2008). Por Lucas Spigariol.

Objetos

Compendio muy completo que recorre todos los temas y más. Se corresponde históricamente con el curso de los sábados a la mañana. Por Fernando Dodino, Matías Freyre y otros.

Anexos de Wollok

  • Anexo 1: Guía de shortcuts del entorno Wollok

  • Anexo 2: Tutorial de Git en Wollok.

  • Anexo 3: Diagrama estático de Wollok

Anexos de la materia

  • Anexo A: Guías para comunicar un diseño: Elementos para realizar diagramas de clase y de objetos

  • Anexo B: Resolución de un ejercicio de examen.

Otros apuntes

  • (sacar?) Introducción a objetos. Presentación de elementos centrales del paradigma, con ejemplos en Smalltalk. Por Nicolás Passerini y Carlos Lombardi.

  • (sacar? Excepciones. Conceptos y criterios para manejar excepciones, con ejemplos en Smalltalk. Por Matías Freyre y Leonardo Cesario.

  • Paradigma de objetos. Abarca varios de los conceptos del paradigma, en Smalltalk. Anteriormente publicado impreso en el CEIT (2008). Por Lucas Spigariol.

Integración de conceptos

Herramienta de versionado de código

  • Guía rápida de Git: En algunos cursos estamos usando esta herramienta para el versionado del código de los trabajos prácticos. Esta es una guía con un glosario, los comandos más usados, y una breve descripción del "workflow" básico.

  • Otra guía rápida de Git: Idem anterior

  • Guía de Git y Github Classroom: Explica las nociones básicas de versionado de código con Git y un paso a paso sobre la plataforma Github Classroom.