El tipo abstracto de datos de los polinomios en Haskell

Como comenté en la entrada anterior, estoy elaborando los apuntes de los temas del curso Informática del Grado en Matemáticas (2010-11) no incluidos aún en el libro Temas de programación funcional (2010-11).

Uno de los temas en los que he estado trabajando últimamente es en el de los tipos abstractos de datos (TAD). Además de los habituales (pilas, colas, colas de prioridad, conjuntos, tablas, árboles binarios de búsqueda, montículos y árboles AVL), un TAD especialmente adecuado para los estudiantes de matemáticas es el de polinomios. A continuación muestro la implementación que estoy diseñando en Haskell para incluirla en el tema.

Del código deseo resaltar las siguientes características:

  • Independización de los resultados de las implementaciones mediante las funciones de escritura.
  • Comprobación de las implementaciones con QuickCheck mediante las funciones generadoras de polinomios.

A continuación muestro los ficheros con los códigos desarrollados.
Read More “El tipo abstracto de datos de los polinomios en Haskell”

Curso de Informática (del Grado en Matemáticas)

Como he comentado en otras entradas, uno de los objetivos de este blog es servir de diario de las publicaciones docentes que realizo en mi página personal.

Esta semana he publicado el curso Informática del Grado en Matemáticas (2010-11) que se impartirá desde el 4 de Octubre al 10 de Junio de 2011.

El material del curso publicado hasta ahora está englobado en los siguientes libros:

A lo largo del curso se irán ampliando con los ejercicios, los exámenes y los apuntes de los temas restantes.

Competición de IA de Google 2010

Se ha anunciado la Google AI Challenge del 2010. Este año el objetivo es crear un programa para el juego de la Guerra de los Planetas que juege tan inteligentemente como sea posible.

El juego de la guerra de los planetas es un juego de estrategia inspirado en el Galcon.

Se puede participar en la competición programando la estrategia del juego en distintos lenguajes de programación a los que en breve se añadirán Haskell y Common Lisp.

Esta competición puede utilizarse en distintas asignaturas que impartimos:

Competición de IA de Google

La Google AI Challenge de este año es sobre un juego con dos jugadores, el Tron, que es parecido al Snake.

Se puede participar en la competición programando la estrategia del juego en distintos lenguajes de programación, entre los que se encuentran Haskell y Common Lisp.

Esta competición puede utilizarse en distintas asignaturas que impartimos:

Congreso de Haskell

El Haskell Symposium 2010 se celebrará en Baltimore el 30 de Septiembre de 2010.

Entre los temas del congreso se incluyen:

  • experiencias en la enseñanza con Haskell,
  • aplicaciones usando Haskell y
  • ejemplos elegantes de programación en Haskell (“Functional Pearls”).

En nuestro grupo usamos Haskell en los cursos de

La fecha de envío de artículos finaliza el 14 de Junio.