Materiales para el estudio de la programación funcional con Haskell

He publicado en GitHub la página Informática con materiales para el estudio de la programación funcional con Haskell cuyo contenido se ha ido creando a lo largo de los 11 años que he impartido la asignatura de Informática en primero del Grado en Matemáticas.

Voy a comentar su contenido siguiendo los apartados de la página y en la última sección comentaré su desarrollo histórico.

1. Temas y códigos

El primer apartado la página es Temas y códigos que contiene los apuntes y códigos de los temas. Los temas están en las siguientes versiones:

Respecto a los códigos de los temas:

  • En el repositorio de Códigos de los temas están los códigos de los temas como un proyecto. Está escrito como un proyecto de forma que basta ejecutar stack test para instalar Haskell, las librerías necesarias y verificar todos los ejemplos.
  • En I1M: Code for the Haskell course taught at the University of Seville, de Hackage, está el código y la documentación de las librerías desarrolladas en el curso.
  • En la página codigosDeTemas están los enlaces a los códigos de los temas usados en los apuntes de los temas.

2. Manuales de funciones Haskell

El segundo apartado es Manuales que contiene las manuales, con ejemplos, de las funciones de las librerías que se usan en el curso.

3. Relaciones de ejercicios

El tercer apartado es Ejercicios que contiene:

  • El repositorio Ejercicios de I1M con las relaciones de ejercicios y sus soluciones. Está escrito como un proyecto de forma que basta ejecutar stack
    test
    para instalar Haskell, las librerías necesarias y verificar todos los ejemplos.
  • El libro Ejercicios de programación funcional con Haskell con los ejercicios del repositorio anterior. Este libro es una compilación de los que he ido publicando cada año, desde el curso 2009-10, con las relaciones del curso como se explica más detalladamente en la última sección. El libro consta de tres partes: introducción a la programación funcional (PF), matemática mediante PF y algorítmica mediante PF. La segunda parte, aunque se plantean como relaciones de ejercicios, en realidad se deben de ver como temas desarrollados por los alumnos.
  • El libro Piensa en Haskell tiene una colección de ejercicios de programación funcional con Haskell. Publicado en el 2012, es una versión preliminar del anterior.
  • El blog Exercitium con los problemas propuestos diariamente desde el curso 2013-14 hasta el 2019-20.

4. Colección de exámenes

El cuarto apartado es Exámenes que contiene:

5. Sistemas utilizados

El quinto apartado es Sistemas donde se indica la forma de instalar Haskell y las librerías usadas en el curso.

6. Enlaces a los cursos que han usado el material.

El sexto apartado es Cursos con los enlaces a los cursos que han usado el material desde el 2009-10 al 2019-20.

7. Enlaces con documentación.

El séptimo apartado es Documentación con enlaces a vídeos, libros y otros recursos sobre Haskell. Su última sección es una colección de enlaces a sitios con ejercicios de programación, algunos de los cuales (como Kattis) se han usado algunos años.

8. Evolución del contenido

Las páginas de los cursos, en las que se puede ver la evolución del contenido, son Curso 2009-10, Curso 2010-11, Curso 2011-12, Curso 2012-11, Curso 2013-11, Curso 2014-15, Curso 2015-16, Curso 2016-17, Curso 2017-18, Curso 2018-19 y Curso 2019-20.

El desarrollo histórico de los temas es el siguiente:

Respecto de los ejercicios, al final de cada curso he publicado un libro con las soluciones de sus ejercicios. Los libros son: Ejercicios del 2009-10, Ejercicios del 2010-11, Ejercicios del 2011-12, Ejercicios del 2012-13, Ejercicios del 2013-14, Ejercicios del 2014-15, Ejercicios del 2015-16, Ejercicios del 2016-17, Ejercicios del 2017-18, Ejercicios del 2018-19 y Ejercicios del 2019-20.

Además, en el verano del 2012 publiqué el libro Piensa en Haskell que contiene una colección de ejercicios de programación funcional en Haskell que incluye ejercicios de los tres primeros cursos.

De igual forma, a lo largo de cada curso he ido publicado las soluciones de sus exámenes. Los libros son Exámenes del 2009-10, Exámenes del 2010-11, Exámenes del 2011-12, Exámenes del 2012-13, Exámenes del 2013-14, Exámenes del 2014-15, Exámenes del 2015-16, Exámenes del 2016-17, Exámenes del 2017-18, Exámenes del 2018-19 y Exámenes del 2019-20.

El desarrollo histórico de los manuales es el siguiente:

Por último, desde el curso 2010-11 he publicado en el blog Vestigium los diarios de clases (con un breve resumen de su contenido) que se iban publicando al final de cada clase. Los diarios (cuyas entradas están en orden cronológico inverso) son: Diario del 2010-11, Diario del 2011-12, Diario del 2012-13, Diario del 2013-14, Diario del 2014-15, Diario del 2015-16, Diario del 2016-17, Diario del 2017-18, Diario del 2018-19 y Diario del 2019-20.