José A. Alonso Jiménez
Grupo de Lógica Computacional
Dpto. de Ciencias de la Computación e Inteligencia Artificial
Facultad de Matemáticas y E.T.S. de Ingeniería Informática
Universidad de Sevilla
Materias impartidas
Asignaturas impartidas
En este enlace se encuentra disponible el listado cronológico de las asignaturas que he impartido, incluyendo todos los materiales docentes correspondientes: apuntes, ejercicios y exámenes. A continuación, se presenta una organización temática de dicha información.
Programación funcional y lógica
Informática (1º del Grado en Matemáticas)
Introducción a la programación funcional con Haskell y su aplicación a la algorítmica y a la resolución de problemas matemáticos. Incluye también el estudio de cálculo simbólico con Maxima. Cursos impartidos: 2009-10, 2010-11, 2011-12, 2012-13, 2013-14, 2014-14, 2015-16, 2016-17, 2017-18, 2018-19 y 2019-20.
Programación declarativa (3º de Ingeniería Informática)
Estudio de la programación declarativa, abordando tanto la programación funcional con Haskell como la programación lógica con Prolog. Evolución del contenido: inicialmente centrado en Prolog (en los cursos 1999-00, 2000-01, 2001-02, 2002-03, 2003-04, 2004-05, 2005-06 y 2006-07) con posterior incorporación de Haskell (en los cursos 2007-08, 2008-09 y 2009-10).
Programación lógica (Doctorado)
Estudio de la programación lógica desde una perspectiva aplicada, incluyendo Prolog como sistema deductivo y lenguaje de programación, aplicaciones en inteligencia artificial y extensiones de la programación lógica. Cursos impartidos: 2002-03, 2003-04, 2004-05 y 2008-09.
Informática (1º de Diplomatura en Estadística)
Introducción a la programación mediante el lenguaje Scheme. Curso impartido: 1997-98.
Lógica computacional
Lógica informática (2º del Grado en Ingeniería Informática)
Introducción a los conceptos fundamentales de la lógica proposicional y de primer orden, incluyendo distintos cálculos y procedimientos de decisión. Cursos impartidos: 2003-04, 2004-05, 2005-06, 2006-07, 2007-08, 2008-09, 2009-10, 2010-11, 2011-12, 2012-13, 2013-14, 2014-15 y 2015-16.
Lógica y programación (3º de Ingeniería Informática).
Estudio e implementación en Lisp de procedimientos lógicos, incluyendo sintaxis y semántica proposicional, formas normales, cláusulas, procedimiento de Davis-Putnam, resolución proposicional e intérpretes de Prolog. También se aborda la resolución de problemas con el demostrador de teoremas Otter. Curso impartido: 1999-00.
Lógica matemática y fundamentos (3º del Grado en Matemáticas)
Estudio de la sintaxis y semántica de la lógica proposicional y de primer orden, utilizando deducción natural y construcción de demostraciones con Isabelle/HOL. Incluye la implementación de conceptos lógicos en Haskell. Cursos impartidos: 2011-12, 2012-13, 2013-14, 2014-15, 2015-16, 2016-17, 2017-18, 2018-19 y 2019-20.
Seminario de lógica computacional (Doctorado).
Estudio de los fundamentos lógicos de la programación lógica. Cursos impartidos: 1991-92, 1995-96 y 1996-97.
Razonamiento automático
Razonamiento automático (Máster Universitario en Lógica, Computación e Inteligencia Artificial)
Introducción al razonamiento automático asistido por ordenador mediante Isabelle/HOL y Coq. Cursos impartidos: 2010-11, 2011-12, 2012-13, 2013-14, 2014-15, 2016-17, 2017-18, 2018-19 y 2019-20.
Demostración automática de teoremas
Estudio de la demostración automática de teoremas mediante Otter. Cursos impartidos: 2002-03, 2003-04 y 2004-05.
Razonamiento automático (5º de Ingeniería Informática).
Estudio del razonamiento automático por resolución en Otter e implementación de sistemas de razonamiento con Prolog. Evolución de los sistemas utilizados: Lisp y Nqthm (1998-99) y Otter y Prolog (1999-00, 2000-01, 2001-02 y 2002-03).
Métodos formales en computación e I.A (Doctorado).
Estudio de métodos formales mediante el sistema de razonamiento PVS. Cursos impartidos: 2001-02 y 2002-03.
Inteligencia artificial
Inteligencia artificial I (4º de Ingeniería Informática).
Representación de problemas mediante espacios de estados y su resolución mediante búsquedas, heurísticas en juegos y representación lógica del conocimiento. Implementaciones realizadas con Lisp y Prolog. Cursos impartidos: 1997-98, 1998-99 y 1999-00.
Inteligencia artificial II (4º de Ingeniería Informática).
Estudio de la programación basada en reglas con CLIPS y Prolog, incluyendo metaintérpretes, procesamiento de lenguaje natural, razonamiento con redes semánticas y marcos, razonamiento por defecto y aprendizaje automático. Cursos impartidos: 1997-98, 1998-99, 1999-00, 2000-01, 2001-02 y 2002-03.
Heurística y sistemas expertos (3º de Licenciatura en Estadística).
Programación con reglas mediante CLIPS y su aplicación en la construcción de sistemas expertos, incluyendo el uso de Maxima como sistema experto en Matemáticas. Curso impartido: 1996-97.
Producción científica y académica
- Publicaciones: Listado de artículos, libros y comunicaciones en congresos.
- Recursos docentes: Materiales completos de cursos publicados en abierto.
- Dirección de investigación: Tesis doctorales y trabajos de investigación dirigidos.
- Repositorios en GitHub: Proyectos y contribuciones en GitHub.
Blogs académicos
Calculemus (Ejercicios de demostración con Lean4 e Isabelle/HOL).
Contiene los ejercicios desde el 2024. Los anteriores están disponibles aquí.
Exercitium (Ejercicios de programación con Haskell y Python).
Contiene los ejercicios desde el 2024. Los anteriores están disponibles aquí.
Vestigium (Cuaderno de investigación en lógica computacional).
Contiene los artículos desde el 2024. Las anteriores están disponibles aquí.