Fichas de asignaturas 2008-09
CÓDIGO | NOMBRE | |
Asignatura | 1711044 | PROGRAMACIÓN LÓGICA |
Descriptor | LOGIC PROGRAMMING | |
Titulación | 1711 | INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS |
Departamento | C137 | LENGUAJES Y SISTEMAS INFORMATICOS |
Curso | ||
Duración (A: Anual, 1Q/2Q) | 2Q | |
Créditos ECTS | 4 |
Créditos Teóricos | 2,5 | Créditos Prácticos | 2,5 | Tipo | Optativa |
Para el curso | 2007-08: | Créditos superados frente a presentados | 100.0% | Créditos superados frente a matriculados | 33.3% |
Capacidad de análisis y síntesis. Capacidad de relacionar conocimientos teóricos con la práctica. Capacidad de comunicación oral y escrita. Autonomía en la resolución de problemas. Capacidad de trabajar en grupo.
Cognitivas(Saber):
Conocimientos de informática relativos al ámbito de estudio. Capacidad de organización y planificación. Manejo de manuales y documentación en inglés. Conceptos básicos de lógica clásica. Especificar problemas para solucionarlos en un lenguaje lógico. Conocer Teoría de Modelos y Teoría de la Demostración. Métodos de Demostración automática.
Procedimentales/Instrumentales(Saber hacer):
Expresar razonamientos de lenguaje natural en lenguaje lógico. Demostrar la corrección de un razonamiento lógico a través de diferentes métodos de demostración. Saber aplicar los diferentes métodos de Demostración lógica. Implementar programas en lenguaje de programación lógica que resuelvan problemas. Mejorar implementaciones de programas mediante predicados de control y otras técnicas. Saber representar las diferentes estructuras de datos en lenguaje de programación lógica.
Actitudinales:
Compromiso ético. Responsabilidad individual y de grupo. Toma de decisiones. Razonamiento crítico. Capacidad de iniciativa y participación. Creatividad.
* Conocer el paradigma declarativo de la programación, en general y la programación lógica en concreto, como alternativa a otros tipos de programación * Conocer los orígenes y la base teórica de la programación lógica. * Aprender el lenguaje de programación Prolog. * Ser capaces de solucionar diversos problemas realizando programas en Prolog que los resuelvan. * Manejar material relacionado con la asignatura en lengua inglesa. * Conocer aplicaciones prácticas de este tipo de programación
PROGRAMA TEÓRICO TEMA 1: INTRODUCCIÓN. (2 h.) 1.1 Objetivos e historia de la Lógica. 1.2.Tipos de Lógicas. 1.3.Limitaciones y posibilidades de la lógica en Computación. 1.4. Lenguaje, Semántica. 1.3. Teoría de la Demostración versus Teoría de Modelos. 1.4. La automatización de las Deduciones. TEMA 2: LÓGICA PROPOSICIONAL. (4 hrs) 2.1. Lenguaje. 2.2. Semántica. 2.2.1. Validez, Satisfacibilidad. 2.2.2. Equivalencia lógica. 2.2.3. Formas Normales 2.3. Sistemas de Demostración. 2.3.1 De razonamiento directo. 2.3.2. De Refutación. TEMA 3: LÓGICA DE PREDICADOS DE PRIMER ORDEN. (4 hrs.) 3.1. Lenguaje. 3.2. Semántica. 3.2.1. Validez, Satisfacibilidad. 3.2.2. Equivalencia lógica. TEMA 4: FORMA LÓGICA CLAUSAL. (2 hrs) 4.1. Forma Normal Prenexa. 4.2. Form Normal de Skolem. 4.3. Cláusulas. TEMA 5: MODELOS DE HERBRAND. (4 hrs) 5.1. Dominio y Base de Herbrand. 5.2. Interpretaciones de Herbrand. 5.3. Árboles Semánticos. 5.4. Teorema de Herbrand. TEMA 6: RESOLUCIÓN. UNIFICACIÖN (6 hrs.) 6.1. Resolución básica. 6.2. El Algoritmo de Unificación. 6.3. Resolución de átomos no básicos. TEMA 7: RESOLUCIÓN SLD. (3 hrs) 7.1. Cláusulas Horn. 7.2. Programa lógico. PROGRAMA DE PRÁCTICAS. TEMA 1: INTRODUCCIÓN AL PROLOG. (4 hrs.) Historia. Sintáxis y Semántica básicas.Backtracking. Manejo del entorno de programación. Programas simples. TEMA 2: PROGRAMACIÓN RECURSIVA. (6 hrs). Concepto de recursividad. Representación en Prolog. Recursividad directa. Recursividad final. Listas. Predicados relacionados con listas. TEMA 3: OTRAS ESTRUCTURAS DE DATOS. ENTRADA / SALIDA (6 hrs.) Representación de grafos y árboles. Bases de datos. Predicados de gestión de cadenas. Predicados de entrada/salida. TEMA 4: CONTROL DE EJECUCIÓN. ( 5 hrs) Control de ejecución natural. Predicados de control predefinidos.Usos. TEMA 5: APLICACIONES.(4 hrs)
Propuesta y resolución de ejercicios y problemas que, en ocasiones, deberán plantearse en grupo.
En las clases de teoría: explicación de los contenidos en pizarra o en cualquier otro medio audiovisual y realización y propuesta de ejercicios así como su corrección. Lectura y debate de documentos relacionados con la asignatura. Se utilizará el aula virtual para facilitar documentos que complementen las clases, comunicación con los alumnos (a través del correo y los foros), para realizar, ocasionalmente, tests de autoevaluación y para actividades que tengan como objetivo mejorar el aprendizaje del alumno y/o la docencia del profesor. En las practicas: explicación de las características propias del lenguaje lógico a utilizar y, propuesta y resolución de problemas en el ordenador. Algunos de estos problemas propuestos podrían resolverlos en grupos.
Nº de Horas (indicar total): 100
- Clases Teóricas: 22
- Clases Prácticas: 22
- Exposiciones y Seminarios: 4
- Tutorías Especializadas (presenciales o virtuales):
- Colectivas: 2
- Individules:
- Realización de Actividades Académicas Dirigidas:
- Con presencia del profesorado: 4
- Sin presencia del profesorado: 11,25
- Otro Trabajo Personal Autónomo:
- Horas de estudio: 29,75
- Preparación de Trabajo Personal:
- ...
- Realización de Exámenes:
- Examen escrito: 3
- Exámenes orales (control del Trabajo Personal):
|
1. Se evaluará la consecución de los objetivos mediante el examen final de la asignatura en la convocatoria oficial. Dicho examen consta de una parte teórica y otra práctica. 2. Por otro lado, el alumnado que asiste regularmente a clase (al menos al 80% de las sesiones) podrá optar por aprobar la asignatura mediante una evaluación continua, superando la realización de cada uno de los ejercicios, controles y/o trabajos(individuales y en grupo), propuestos durante el cuatrimestre. La nota final de esta modalidad de evaluación será: 95% de la calificación final. Es la media de las notas obtenidas en cada uno de los ejercicios, controles realizados o trabajos entregados. 5% de la calificación final: Asistencia como mínimo al 80% de las sesiones y participación activa en foros del Aula Virtual de la asignatura. En la modalidad de evaluación continua, si la calificación final obtenida es igual o mayor a 5, no será necesario realizar el examen final de la asignatura.
BIBLIOGRAFÍA BÁSICA: - C.J. Hogger. 'Essentials Of Logic Programming'. Clarendon Press. Oxford 1990. - M. Ojeda Aciego, I. Pérez De Guzman Lógica Para La Computación (Vol.1) Agora Universidad,1993. - G. Aguilera Venegas, I. Pérez De Guzman Lógica Para La Computación (Vol. 2) Agora Universidad, 1997 - J. Pizarro, J.A. Jimenez, M.C.De Castro. Introducción A La Programación Lógica Dto. Lenguajes Y Sistemas Informáticos, 1997 - Leon Sterling Y Ehud Shapiro. 'The Art Of Prolog' Second Edition The Mit Press. 1994 - W.F.Clocksin Y C.S. Mellish. 'Programación En Prolog'. Gustavo Gili S.A. Barcelona 1993. - William Clocksin, 'CLAUSE AND EFFECT: Prolog Programming for the working programers' Ed. Springer,1997. BIBLIOGRAFÍA COMPLEMENTARIA: -Arenas Alegría, L. 'Lógica formal para Informáticos', ed. Diaz de Santos, 1996. -Chang, C., Char-Tung-Lee, R. 'Symbolic Logic and Mechanical Theorem Proving', Academic Press, 1987. - R.Kowalsky. 'Lógica, Programación E Inteligencia Artificial'. Diaz De Santos. 1986. - T. Van Le. 'Técniques Of Prolog Programming'. John Wiley & Sons 1993 - Ivan Bratko. 'Prolog. Programming For Artificial Inteligence'. Addison Wesley 2001. - F. Pereira Y S.M. Shieber. 'Prolog And Natural-Language Analysis'. Clsi 1987.
Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.
El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.