Cursos‎ > ‎Cursadas Anteriores‎ > ‎2020‎ > ‎Mañ-Viernes‎ > ‎

Bitácora Viernes Mañana 2020




Clase 6 - Composición y aplicación parcial

publicado a la‎(s)‎ 22 may. 2020 8:39 por Juan Fernandes   [ actualizado el 23 may. 2020 20:09 ]

Hola!,https://images-cdn.9gag.com/photo/aoeByAX_460s.jpg

¿Qué temas vimos?

Hablamos del sistema de tipos de haskell, y vimos typeclases, que son categorías que agrupan tipos que pueden usarse para ciertas funciones.
Aplicación parcial, que signfica que puedo pasarle menos funciones de los que necesita a una función y obtener otra función!
Composición, y como nos permite combinar funciones.

¿Dónde está el material?

Código de la clase:

En esta clase el código que escribimos es el mismo del TP-5, que se encuentra acá: https://classroom.github.com/g/hmLFdLCQ

¿Qué más se puede leer al respecto?
Hay apuntes super detallados de la cátedra sobre los temas que vimos en clase:

También, está el laboratorio de funciones donde se pueden probar los tipos de las funciones de manera gráfica:

Hay un vídeo de Mumuki en el que se explica como inferir el tipo de una función (parecido a como hicimos en clase) :

¿Qué se puede seguir prácticando?

Aparte del TP-5 que está acá: https://classroom.github.com/g/hmLFdLCQ

Pueden hacer ejercicios de estas guía de Mumuki

Desafío de café con leche


¡Zurihac, conferencia/hackaton gratis de Haskell!

Del 12 al 14 de junio se va a hacer remota una conferencia/hackaton de Haskell en todo el mundo con gente muy muy capa dando charlas y talleres, si les interesa seguir aprendiendo de Haskell les recomiendo fuerte anotarse: https://zfoh.ch/zurihac2020/
Las charlas van a estar online y va a haber un taller de un par de días para principiantes :D


Próxima clase, práctica de parcial con el tp integrador

Estamos cerca del parcial, así que la siguiente clase va a ser puramente práctica. La idea es que vengan y practiquen en clase un TP del nivel de un parcial, y lo corrijamos como para saber como les iría en el parcial y se saquen dudas al respecto.

Clase 5 - Orden superior y funciones lambda

publicado a la‎(s)‎ 15 may. 2020 16:59 por Juan Fernandes   [ actualizado el 16 may. 2020 16:01 ]

Hola!,

¿Qué temas vimos?

Orden superior, y como nos sirve para definir funciones más declarativas y más cohesivas.
Funciones lambda o anónimas, que nos son útiles para crear funciones "on the fly" sin necesidad de definirlas previamente.

¿Dónde está el material?

Código de la clase:
En esta clase no escribimos mucho código más allá de un poco por consola, pero la mayoría de los ejemplos ya están en las slides. Lo que sí hay, es un repositorio que se pueden clonar para visualizar mejor cómo evalúan las funciones de la familia fold: https://github.com/pdepviernestm/funcional-evaluacion-fold

¿Qué más se puede leer sobre orden superior y funciones lambda?
Hay apuntes super detallados de la cátedra sobre ambos temas:
- Orden superior (puede ser que encuentren que acá también se habla de composición y aplicación parcial, esos temas los vamos a estar viendo la clase que viene)
También, hay un vídeo de un profesor de la cátedra explicando como funciona el fold que está muy bueno: https://www.youtube.com/watch?v=veiQkxz59NE

¿Qué se puede seguir prácticando?

Aparte del TP-4 que está acá: https://classroom.github.com/g/IAVrCnGt

Pueden hacer ejercicios de estas guía de Mumuki:
Nota: al igual que el apunte de orden superior de antes, puede que se nombren temas que vamos a ver en la clase del viernes 22, si algo no está super claro pueden preguntarnos pero tranqui que eso lo vamos a ver pronto.



Recursividad. Tipos compuestos II: Listas.

publicado a la‎(s)‎ 9 may. 2020 11:54 por Juan Fernandes

Hola!,

¿Que temas vimos?
winnie pooh eating recursion

Esta clase vimos qué es la recursividad y como nos es útil para definir algunas funciones.
También presentamos un tipo de dato, las listas, que veníamos usando desde la primer clase pero solo como listas de chars (Strings).

¿Dónde está el material?


¿Qué más se puede leer sobre recursividad y listas?
¿Qué se puede practicar?

Aparte del TP-3 que está subido acá y hay que entregarlo el viernes que viene: https://classroom.github.com/g/IAVrCnGt
Hay práctica en Mumuki de ambos temas que pueden hacer si quieren:

¡̣̉Desafío de café con leche! x 2

Los desafíos de café con leche son ejercicios opcionales más complicados de los de los TPs, y la primera persona que mande una solución para los mismos tiene un premio (que en tiempos pre-cuarentena solía ser un café con leche del buffet pero ahora puede ser la satisfacción de haber resuelto un ejercicio muy difícil, o algo más si nos las ingeniamos).
Los 2 desafíos de cafe con leche que liberamos ahora están acá:

Clase 3 - Tipos compuestos: tuplas y datas.

publicado a la‎(s)‎ 26 abr. 2020 20:40 por Juan Fernandes

Hola!,

Esta clase fue la primera vez que dimos toda la clase se dio en el horario de cursada en vez de mandar video.
El código de la clase lo subimos a este repositorio: https://github.com/pdepviernestm/clase-tuplas-datas-pattern-matching

También, está disponible el TP-3 acá.

Los temas de los que hablamos fueron:
- Pensar los programas como modelos de dominios.
- Tuplas, como una forma básica de crear valores compuestos.
- Datas, que nos permiten crear nuestros propios tipos de datos y son una herramienta clave para modelar en Haskell.
- Pattern matching, que nos sirve para definir funciones que trabajen con nuestras tuplas y datas deconstruyendo su estructura.

Pueden leer más sobre estos temas en los siguientes apuntes:

Modelado:
Pattern Matching:
Tuplas y Datas:

Finalmente, también mandamos una encuesta para censar un poco cómo vienen las clases hasta ahora, la podes contestar acá :).

Saludos!

Clase 2 - Tipos y funciones

publicado a la‎(s)‎ 19 abr. 2020 19:56 por Juan Fernandes   [ actualizado el 19 abr. 2020 20:00 ]

Para esta clase habíamos mandado dos vídeos, uno de intro a funcional sobre valores y funciones, y otro de funciones por partes. Ambos videos, junto con la clase grabada están en la carpeta de la materia https://drive.google.com/drive/folders/1eE87Rj24AvdpqvRZ0f4MF080yV4xFzyG?usp=sharing, en clase 2.

Si quieren leer más al respecto, acá hay links a apuntes:

Al principio de la clase estabamos hablando con Lucas de Uqbar, que es un grupo de docentes de la UTN y otras universidades que enseñamos sobre desarrollo de software. Uqbar tiene una wiki con mucho contenido que aplica a la materia, como la página que pase arriba de funciones por partes. Esta es la wiki completa: https://wiki.uqbar.org/

En la clase usamos Mentimeter para tratar de medir un poco la opinión respecto a esta situación rara de estar en cuarentena estudiando y el resultado fue:

Luego, contamos cuál es la motivación para usar Git (está en la clase grabada) y un poco nos falló la herramienta para grabar así que los colores que esas slides quedaron cambiados en el video :P.




Finalmente, empezamos el TP-1, que se entrega para la clase que viene, y que si aun no lo empezaron pueden arrancarlo haciendo click acá: https://classroom.github.com/g/uLhSD7S8

Para la clase que viene no va a haber videos para ver, vamos a probar presentando los temas teóricos directamente en la clase a ver que tal sale.

¡Nos vemos!

Clase 1 - Intro a la materia

publicado a la‎(s)‎ 3 abr. 2020 7:28 por Juan Fernandes   [ actualizado el 3 abr. 2020 7:34 ]

Buenas,

primero que nada, acá esta el video grabado de la primer clase: https://drive.google.com/open?id=1wz8rFgGZH9EodJuQfmgIej8RbkokaURG

En esta clase nos presentamos y hablamos un poco de cómo vamos a ir llevando la materia. Dejo acá resumido:
  • Las clases van a ser de 9:15 a 12:30. Generalmente van a empezar con un meet para contestar dudas y explicar conceptos que no hayan quedado claros si hace falta. Luego vamos a manejarnos por discord para hacer ejercicios prácticos y seguir contestando dudas.
  • Vamos a mandar material para ver y/o leer de una semana para la otra con los temas que vamos a trabajar en la siguiente clase.
  • Va a haber TPs casi todas las clases, que van a empezarse en clase y se tienen que terminar para la clase siguiente.
    • Si un tp no se hace, el alumno suma 1 strike, para poder promocionar hay que tener menos de 3 strikes.
  • Los TPs son en grupos de a 2, si todavía no tenés grupo, busca a alguien para armar grupo (podés hacerlo por discord en el channel #buscando-grupo https://discord.gg/zvqSQu) y mandanos el grupo por acá: https://forms.gle/favhjnuHN7Wuu1s87)
  • Van a haber 3 parciales (1 por paradigma).

Tarea para la siguiente clase:
  • Armar grupos de a 2 personas como se mencionó arriba.
  • Entre hoy y mañana vamos a mandar material sobre el tema de la siguiente clase, verlo que vamos a estar trabajando con esos temas!
  • Si tenés feedback sobre la clase, mandarlo acá: https://forms.gle/gv7DT11EiBxp4wJ28

Para la clase 1

publicado a la‎(s)‎ 2 abr. 2020 19:46 por Juan Fernandes   [ actualizado el 2 abr. 2020 19:46 ]

¡Hola!

Este es el primer post de la bitácora.

Todas las grabaciones y contenido de las clases van a aparecer en esta carpeta. Recuerden que sólo quienes estén en el grupo de mails pueden accederlo.

1-7 of 7