Informática (2010-11)
El curso se estructura en tres partes. La primera ofrece una introducción a la programación funcional utilizando Haskell. En la segunda parte, se profundiza en el estudio de estructuras de datos y técnicas de diseño de algoritmos, también con Haskell. Finalmente, la tercera parte se centra en el cálculo simbólico mediante el sistema Maxima.
Esta asignatura constituye una materia troncal del primer curso del Grado en Matemáticas de la Universidad de Sevilla.
Temas
- 1ª parte: Programación funcional con Haskell
- Tema 1: Introducción a la programación funcional.
- Tema 2: Introducción a la programación con Haskell y código.
- Tema 3: Tipos y clases.
- Tema 4: Definición de funciones y código.
- Tema 5: Definiciones de listas por comprensión y código.
- Tema 6: Funciones recursivas y código.
- Tema 7: Funciones de orden superior y código.
- Tema 8: Razonamiento sobre programas.
- Tema 9: Declaraciones de tipos y clases.
- Tema 10: Evaluación perezosa.
- Tema 11: Aplicaciones de la programación funcional y código.
- Tema 12: Analizadores funcionales.
- -Tema 13: Programas interactivos.
- 2ª parte: Algorítmica con Haskell
- Tema 14: El TAD de las pilas.
- Tema 15: El TAD de las colas.
- Tema 16: El TAD de las colas de prioridad.
- Tema 17: El TAD de los conjuntos.
- Tema 18: El TAD de las tablas.
- Tema 19: El TAD de las árboles binarios de búsqueda.
- Tema 20: El TAD de los montículos.
- Tema 21: El TAD de los polinomios.
- Tema 22: Algoritmos sobre grafos.
- Tema 23: Técnicas de diseño descendente de algoritmos.
- Tema 24: Técnicas de diseño ascendente de algoritmos.
- 3ª parte: Cálculo simbólico con Maxima
- Tema CS1: Introducción a Maxima con wxMaxima y ejercicios.
- Tema CS2: Funciones de una variable y ejercicios.
- Tema CS3: Aritmética y ejercicios.
- Tema CS4: Sucesiones y recursión y ejercicios.
- Tema CS5: Programación y ejercicios.
- Tema CS6: Matrices en Maxima y ejercicios.
- Tema CS7: Gráficos y animaciones.
Libros con temas, ejercicios y exámenes
- En Temas de "Programación funcional" (2010-11) se encuentran las transparencias de la introducción a la programación funcional en forma de libro.
- En Ejercicios de "Informática de 1º de Matemáticas" (2010–11) se encuentran todas las relaciones de ejercicios con sus soluciones.
- En Exámenes de "Programación funcional con Haskell" Vol. 2 (Curso 2010–11) se encuentran todos los exámenes con sus soluciones.
- En Introducción al cálculo simbólico con Maxima se encuentran una introducción al cálculo simbólico mediante ejercicios con sus soluciones.
Códigos
- En Códigos de los temas de "Programación funcional" se encuentra los códigos los temas de la 2ª parte del curso.
- En Resumen de los tipos abstractos de datos se encuentra las especificaciones de los TAD estudiados desde el tema 14 al 21.
Referencias
Programación funcional con Haskell
Libros programación funcional con Haskell
- R. Bird. Introduction to functional programming using Haskell. (Prentice-Hall, 1998).
- H.C. Cunningham. Notes on functional programming with Haskell.
- Hal Daume III et al. Yet another Haskell tutorial.
- A.J.T. Davie. An introduction to functional programming systems using Haskell. (Cambridge University Press, 1992).
- K. Doets y J. van Eijck. The Haskell road to logic, maths and programming.
- J. Fokker. Programación funcional.
- J. Gallardo, P. Gutiérrez y B. Ruiz. Una introducción agradable a Haskell versión 98 (es una traducción de P. Hudak, J. Peterson y J. Fasel A Gentle Introduction to Haskell, Version 98).
- G. Hutton. Programming in Haskell. (Cambridge University Press, 2007).
- M. Lipovača. Learn you a Haskell for great good!
- B. O'Sullivan, J. Goerzen y D. Stewart. Real world Haskell. (O'Reilly Media, Inc., 2008).
- The Haskell wikibook.
Manuales de referencia de Haskell
- J.A. Alonso. Resumen de funciones de Haskell.
- J. Bailey. Haskell cheat sheet.
- Haskell. Reference card.
- B. Pope y A. van IJzendoorn. A tour of the Haskell prelude.
- A. van IJzendoorn. Tour of the Haskell syntax.
- M. Nic. Haskell reference.
- Prelude.
- Haskell Hierarchical Libraries.
Buscador de funciones de Haskell
Ejercicios de Haskell
Cursos sobre programación funcional con Haskell
- J.A. Alonso. Programación declarativa (2008-09).
- J.E. Gallardo. Programación declarativa - Haskell.
- G. Hutton. Functional programming.
- P. Wadler. Informatics 1 – Functional programming.
Cálculo simbólico
- J.A. Alonso. Resumen de funciones de Maxima.
- J. Arántegui. Introducción a Maxima.
- R. Rodríguez. Maxima con wxMaxima: software libre en el aula de matemáticas.
- M. Rodríguez. Primeros pasos en Maxima.
Sistemas
En esta sección se encuentran enlaces a los sistemas utilizados en la asignatura "Informática" y a los procedimientos de instalación.
Instalación de los sistemas en Windows
Los ficheros para instalar los sistemas en Windows son los siguientes
Instalación de los sistemas en Ubuntu
Se pueden instalar los sistemas en Ubuntu con el gestor de paquetes Synaptic, buscando los paquetes ghc6, emacs23, haskell-mode, quickcheck2, maxima y wxmaxima .
Además, copiar en el directorio del usuario el fichero de configuración de emacs.