Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area I: Datos
(Programa del año 2024)
(Programa en trámite de aprobación)
(Programa presentado el 21/03/2024 12:32:19)
I - Oferta Académica
Materia Carrera Plan Año Periodo
LÓGICA PARA COMPUTACIÓN LIC.CS.COMP. RD-3-1/2023 2024 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
LUDUEÑA, VERONICA DEL ROSARIO Prof. Responsable P.Asoc Exc 40 Hs
SOSA TORANZO, CECILIA LORENA Responsable de Práctico JTP Exc 40 Hs
JOFRE, ANA MARIA Auxiliar de Práctico A.1ra Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
 Hs. 2 Hs. 2 Hs. 1 Hs. 5 Hs. 1º Cuatrimestre 11/03/2024 21/06/2024 15 75
IV - Fundamentación
La lógica juega un papel básico en la informática, brinda una herramienta teórica para especificaciones formales en diferentes áreas: lenguajes de programación, diseño y verificación de sistemas hardware y software, bases de datos, complejidad computacional, inteligencia artificial, etc., y es sin duda uno de los fundamentos que proporcionan la madurez y agilidad necesarias para asimilar los conceptos, lenguajes, técnicas y herramientas informáticas que surjan en el futuro. Los informáticos necesitan analizar las propiedades lógicas de sus sistemas mientras los diseñan, desarrollan, verifican y mantienen.

El objeto de estudio de la lógica son las formas de razonamiento; es decir, el proceso por el cual se derivan conclusiones a partir de premisas, apoyándose en verdades supuestas. La lógica investiga los principios por los cuales algunos razonamientos son correctos y otros no. Su base formal permite no sólo abordar nuevas problemáticas, sino también desarrollar sistemas informáticos mejor estructurados, más flexibles y potentes, y de mayor calidad profesional.

Esta asignatura proporciona una base sólida en lógica para los informáticos mediante el estudio de dos lógicas muy importantes, la Proposicional y la de Primer Orden. A partir de ellas, se explica cómo usar pruebas formales y razonamientos lógicos para solucionar problemas. La problemática del desarrollo de programas de computadora correctos es un tema de interés cada vez más amplio. Muchas de las técnicas y herramientas para asegurar la correctitud de sistemas críticos están basados en conceptos lógicos matemáticos y la realización de un análisis adecuado puede contribuir a la fiabilidad y robustez de un diseño.

Otro enfoque de la lógica tiene que ver con su aplicación como base para lenguajes de programación. La lógica, empleada como un lenguaje, está orientada más a la persona por lo que se ha convertido en el pilar de una nueva generación de lenguajes de programación: la “Programación Lógica”.

Con lo expuesto, se pretende integrar y afianzar conocimientos mostrando una correcta aplicación del método científico y/o una adecuada metodología para el desempeño profesional, e introducir al futuro egresado en el campo de su posible orientación: académico, profesional o de investigación.
V - Objetivos / Resultados de Aprendizaje
El objetivo principal de esta asignatura es brindar los conocimientos y habilidades necesarios para la aplicación de métodos formales en diversas áreas de la informática. Por ello, se abordan, primeramente, temas de índole puramente teóricos para luego tratar de establecer el puente con aplicaciones concretas.
Así, en una primera aproximación, la materia estudia los aspectos formales del Cálculo Proposicional y de la Lógica de Primer Orden. Se tratan los aspectos sintácticos y semánticos de estos lenguajes, introduciendo la teoría de pruebas y la teoría de modelos respectivamente.
Se pretende que el estudiante sea capaz de realizar la formalización de conceptos expresados en lenguaje natural en cada una de las lógicas presentadas, y analizar la validez de los razonamientos planteados a través de diferentes metodologías (métodos de demostración de teoremas, deducción, interpretación de las fórmulas).
Una vez adquirida la base formal, la materia se centra en formalismos lógicos aplicables a problemas de computación mediante el estudio de los fundamentos de la programación lógica y el formalismo para la verificación (especificación) de programas secuenciales.
Además, se introducen conceptos referidos al origen de la Lógica como disciplina, su vinculación a áreas humanísticas y matemáticas a fin de promover en el estudiante su capacidad crítica, reflexiva, de demostración y justificación tanto en la carrera como en su vida cotidiana.

Como objetivos generales se espera que los estudiantes sean capaces de:
- Formar una mente ordenada, capaz de representar formalmente información abstracta y resolver problemas logrando un razonamiento crítico y de evaluación.
- Integrar y afianzar conocimientos mostrando una correcta aplicación del método científico y/o una adecuada metodología para el desempeño profesional, distinguiendo los diferentes tipos de razonamiento usados en las ciencias.

En particular se procura que los estudiantes consigan:
- Conocer e interpretar los conceptos, teorías y métodos lógicos para su aplicación en problemas concretos de la disciplina.
- Representar información abstracta utilizando las herramientas formales provistas por la lógica. Organizar y analizar la información, razonando de manera crítica.
- Desarrollar habilidades de razonamiento deductivo y propiciar la aplicación consciente de esta forma de pensamiento en la identificación e implementación de posibles soluciones.
- Distinguir entre razonamientos válidos y razonamientos inválidos, cómo también los tipos de demostraciones utilizadas en las matemáticas.
- Automatizar soluciones haciendo uso de algoritmos.
- Utilizar formalismos lógicos aplicables a problemas de computación, mediante el paradigma de la programación lógica y la verificación formal de programas.
- Abordar todas las etapas de solución de un problema (análisis, algoritmo y verificación) por medio de métodos formales de la lógica.


Durante el dictado de la asignatura se abordan los siguientes ejes transversales:

- Identificación, formulación y resolución de problemas de informática.
- Concepción, diseño y desarrollo de proyectos de informática.
- Gestión, planificación, ejecución y control de proyectos de informática
- Utilización de técnicas y herramientas de aplicación en la informática
- Fundamentos para el desempeño en equipos de trabajo.
- Fundamentos para la comunicación efectiva.
- Fundamentos para la acción ética y responsable.
- Fundamentos para el aprendizaje continuo.
VI - Contenidos
Se deja disponible el material correspondiente a los contenidos de la asignatura (apuntes teóricos, trabajos prácticos correspondientes, enlaces de interés, etc.) en el repositorio digital de la misma. También se encuentra en este sitio un cronograma con la descripción de las actividades que se realizan cada día de clase; esto permitirá una mejor organización de las mismas.


Contenidos mínimos de acuerdo al Plan de Estudios:
Cálculo Proposicional: Aspectos Sintácticos. Deducción. Aspectos Semánticos. Consecuencia Lógica. Cálculo de Predicados: Aspectos Sintácticos. Aspectos Semánticos. Deducción. Consecuencia Lógica. Utilización de técnicas lógicas en la informática. Programación Lógica. Lenguaje representativo del paradigma lógico.

Contenidos por unidad temática:


1. Introducción a la Asignatura
Introducción. Breve historia. Aplicaciones.
Definición de Lógica. Comprensión de un concepto.

2. Logica Proposicional
Aspectos Sintácticos: Alfabeto. Variables proposicionales. Lenguaje. Enfoque habitual y su relación con la teoría formal de lenguajes. Propiedades.
Aspectos Semánticos: Modelos de la Lógica Proposicional. Satisfacibilidad.Tautología, Contradicción y Contingencia.
Tablas de Verdad. Formas Normales.
Consecuencia Lógica. Equivalencia.
Árboles de Refutación

3. Sistema Deductivo para la Logica Proposicional
Sistema Deductivo. Deducción Natural basada en Gentzen.
Relación entre aspectos sintácticos y semánticos.
Correspondencia entre Consecuencia y Deducción.

4. Cálculo de Predicados
Aspectos Sintácticos: Alfabeto. Vocabulario. Términos. Lenguaje: fórmulas atómicas y fórmulas bien formadas. Variables Libres. Rango Cuantificacional. Deducción.
Aspectos Semánticos: Dominio. Asignación. Estructura. Interpretación. Satisfacibilidad. Modelo. Aspectos semántico de los cuantificadores Existencial y Universal.
Fórmulas Válidas. Fórmulas lógicamente equivalentes.Fórmulas Universalmente Válidas.
Consecuencia Lógica.
Árboles de Refutación. Reglas. Propiedades.
Relación entre aspectos sintácticos y semánticos.
Correspondencia entre Consecuencia y Deducción.

5. Métodos de demostración Matemática
Método directo.
Reducción al absurdo.
Contrarrecíproco.
Bicondicionales (doble implicación). Equivalencias múltiples.
Método de inducción.
Contraejemplos.

6. Programación Lógica
Fundamentos de la Programación Lógica.
Prolog y su relación con la Lógica de Primer Orden.
Estructura de programa.
Sintaxis.
Estructuras de Datos.
Estructuras de Control.
Programación en Prolog.

7. Verificación de programas secuenciales
Introducción.
Sintaxis.
Semántica de los programas.
Sistema deductivo de Hoare.
Verificación parcial de programas.
Verificación total de programas.

VII - Plan de Trabajos Prácticos
Mediante diferentes propuestas prácticas, tanto en papel como sobre la computadora, se promueve la integración de conceptos teóricos, su afianzamiento y la capacidad de aplicarlos en la resolución de los diferentes problemas planteados. Se proponen diferentes situaciones que permiten al estudiante identificar problemas y abordar su posible solución, aplicando técnicas presentadas en teoría. Estas propuestas también promueven la aplicación, de las herramientas estudiadas, en diferentes aspectos de la informática. Los planteos presentados incrementan su complejidad, de manera que el estudiante afiance conceptos más simples, antes de abordar situaciones más complejas.
Este proceso se evalúa de manera formativa, mediante la entrega, por parte del estudiante, de ejercicios representativos e integradores que son corregidos y comentados posteriormente en clase, permitiendo una devolución general y otra personal a los estudiantes. Al comienzo del curso la cátedra provee un cronograma que permite al alumno organizarse y planificar las entregas requeridas. Verificando que cada estudiante cumpla la asistencia a sus clases y con las entregas estipuladas en tiempo y forma, se  fomenta una forma de trabajo ética y responsable.

Prácticas de aula:

En cada clase práctica se realizarán ejercicios que permitan afianzar los conceptos teóricos vistos. Los prácticos presentan consignas que gradualmente incrementan su complejidad, comenzando con ejercicios sencillos que los estudiantes pueden resolver de manera autónoma y posteriormente consultar su resolución. Otras consignas se preparan para que los estudiantes resuelvan en clase, con apoyo docente, trabajando de manera individual, en algún caso y en otros buscando las soluciones de manera grupal y con discusión en clase de los resultados obtenidos.
Al finalizar cada una de las propuestas prácticas, se pide la entrega de ejercicios representativos y se discute en clase posibles soluciones.
Se pretende que el estudiante comience cada trabajo práctico habiendo participado de la clase teórica y/o habiendo leído el apunte teórico donde se explican los contenidos teóricos a tratar en el mismo.

Práctico 1: Cálculo proposicional: Sintaxis y Semántica
Objetivos: Adquirir la habilidad de leer y escribir en el lenguaje del Cálculo Proposicional. Pensar de forma analítica y estructurada y así, argumentar, o inferir correctamente en dicha lógica.

Práctico 2: Cálculo proposicional: Consecuencia lógica, deducción.
Objetivos: Utilizar técnicas y herramientas de la lógica proposicional. Afianzar los mecanismos de demostración, deducción y de validación de argumentos.

Práctico 3: Cálculo de predicados: Sintaxis y Semántica
Objetivos: Adquirir la habilidad de leer y escribir en el lenguaje de Lógica de Primer Orden. Pensar de forma analítica y estructurada y así, argumentar, o inferir correctamente en dicha lógica.

Práctico 4: Cálculo de Predicados: Consecuencia lógica, deducción.
Objetivos: Utilizar técnicas y herramientas del Cálculo de predicados. Afianzar los mecanismos de deducción y de validación de argumentos.

Metodología: Para los prácticos 1, 2, 3 y 4 se planifican ejercicios en papel, de complejidad gradual, que permitan afianzar los conceptos teóricos tratados en cada uno para lograr un aprendizaje progresivo y continuo; se solicita la entrega de ejercicios representativos y se discute en clase sus posibles soluciones, para verificar este progreso.

Práctico 5: Demostración Matemática
Objetivo: Saber aplicar la lógica en las demostraciones matemáticas, permitiendo un razonamiento ordenado que posibilitará generar respuestas generar respuestas correctas y adecuadamente justificadas, en cualquier ámbito.
Metodología: Se resuelven demostraciones matemáticas representativas; se realiza un intercambio con y entre los alumnos acerca de los métodos utilizados por cada uno y se corroboran.

Práctico 6: Prolog (aula y formación experimental).
Objetivos: Comprender las características de un lenguaje correspondiente al Paradigma Lógico, aprender los aspectos claves del lenguaje Prolog, reglas de matching, recursión y estructuras.
Metodología: Se proponen situaciones problemáticas de diferentes niveles dificultad que se deben resolver en lápiz y papel, para luego verificar sus soluciones ejecutando las mismas en computadora.

Práctico 7: Verificación de programas.
Objetivos: Aplicar herramientas lógicas en la informática; afianzar el aprendizaje de las herramientas estudiadas (lógica de Hoare) en la verificación de programas secuenciales afianzando su aprendizaje.
Metodología: Se realiza ejercitación sobre la aplicación de herramientas lógicas en la informática a través de la verificación de programas escritos en un lenguaje acotado definido en la materia para este fin. Los mismos son resueltos en lápiz y papel y se pide, la entrega de ejercicios representativos cuya solución se discute en clase.

Prácticas de laboratorio:

Práctico de Formación Experimental Grupal/Individual:
Realización de un proyecto en lenguaje Prolog que involucre el análisis y el desarrollo de una solución sobre alguna situación real de interés para la materia. Además, el pasaje de dicha solución a un programa imperativo y su posterior verificación.
Objetivos: Aplicación de los formalismos lógicos en un problema de computación particular: Realizar la correcta abstracción de la información de una situación real, para luego aplicar la lógica en el desarrollo y la verificación de la solución al problema planteado.
Metodología: En esta propuesta práctica se promueve la identificación, formulación y resolución de problemas de informática, tanto como la concepción, diseño y desarrollo de proyectos de informática mediante la presentación de una problemática. La misma se resolverá en computadora de escritorio, desarrollada en grupos de 2 estudiantes y con entrega de un informe escrito individual, donde se explique: el proceso llevado en las etapas involucradas en la solución del problema (análisis, desarrollo y verificación) y además se respondan preguntas afines al trabajo. Esto permitirá trabajar en la capacidad de comunicación de los estudiantes, como también en su desempeño en equipos de trabajo, y su aptitud para planificar un desarrollo y llevar a cabo ese plan. Estas capacidades se evaluarán mediante la corrección de los trabajos entregados.
VIII - Regimen de Aprobación
ACERCA DE LAS CONDICIONES DE REGULARIZACIÓN DE LA MATERIA
1.- Debe tener como mínimo un 70% de asistencia tanto a las clases prácticas como a las teóricas.
2.- Periódicamente la cátedra pedirá al alumno la entrega de algún trabajo práctico desarrollado o de investigación, previa asignación del mismo, la cual será evaluada.
3.- Se debe aprobar el práctico de máquina solicitado por la cátedra.
4.- Se tomará una evaluación escrita para determinar la asimilación de las nociones vistas en la práctica. Esta deberá aprobarse, o alguna de sus dos recuperaciones, con nota de al menos siete (7) puntos, para lograr la regularización.


ACERCA DE LA APROBACIÓN DE LA MATERIA
Existen dos formas de aprobación de la materia:

1. Por Promoción
1.1- Regularizar, con nota no menor que siete (7) en la evaluación escrita que evalúa la práctica, y con asistencia al 80% de las clases teóricas y prácticas.
1.2- Aprobar el teórico integrador con nota no menor que siete (7) (en caso de no aprobar esta evaluación el estudiante queda regular).


2. Regularizar la asignatura (según las condiciones de regularización) más Examen Final.

ACERCA DEL EXAMEN FINAL
El examen podrá ser oral y/o escrito, teórico y/o práctico.

ACERCA DE EXAMEN LIBRE
En estos casos, el alumno tendrá una evaluación dividida en partes. En una se pedirá un trabajo escrito; en otra se evaluará la práctica mediante la entrega de un proyecto de laboratorio y una evaluación escrita; y finalmente, una parte teórica escrita u oral. Para su aprobación, se requiere la aprobación de las tres partes.
IX - Bibliografía Básica
[1] - Introduction To Mathematical Logic - Mendelson, Elliot - Chapman & Hall Book, CRC Press, Taylor & Francis Group, Boca Raton - 6ta. edición - ISBN: 978-1-4822-3778-8 - 2015. (https://sistemas.fciencias.unam.mx/~lokylog/images/Notas/la_aldea_de_la_logica/Libros_notas_varios/L_02_MENDELSON, E - Introduction to Mathematical Logic, 6th Ed - CRC Press (2015).pdf)
[2] - Lógica para informática - Claudia Pons, Ricardo Rosenfeld y Clara Smith - EDULP, Facultad de Informática (UNLP) - ISBN: 978-950-34-1510-8 - 2017.(https://libros.unlp.edu.ar/index.php/unlp/catalog/book/759).
[3] - Lógica Computacional - José Luis Fernández Vindel, Ángeles Manjarrés Riesco, Francisco Javier Díez Vegas - Dpto. Inteligencia Artificial, E.T.S.I. Informática - UNED - 2003.(https://www.studocu.com/ec/document/universidad-laica-eloy-alfaro-de-manabi/matematicas-discretas/logica-computacional-matematica/8772227)
[4] - Prolog, programming for artificial intelligence - Bratko, Ivan. Addison-Wesley - 3ra. Edición, 2001 - ISBN: 0201416069. (Ubicación en biblioteca:depósito)
[5] - Foundations Of Databases - Abiteboul; Hull; Vianu - Addison Wesley Publishing Company - ISBN: 0201537710 -1995.
[6] - Finite Model Theory - Ebbinghaus, H.D.; Flum, J.- Springer Verlag - ISBN: 3540212027 - 1991.
[7] - Mathematical Logic - Ebbinghaus, H.D; Flum, J.; Thomas, W.- Springer Verlag, - ISBN: 0387942580 - 1994.
[8] - Lógica Para Matemáticos - Hamilton, A.G. - Paraninfo - ISBN: 8428311013 - 1981.
[9] - Lógica Matemática - Alessandra Gallinari - Apuntes Ingeniería en Informática, ESCET, Universidad Rey Juan Carlos - Madrid- 2007. (https://www.studocu.com/es-ar/u/32901818?sid=01709734179)
[10] - Apuntes de la Cátedra sobre los siguientes temas: Cálculo proposicional: el lenguaje del cálculo proposicional, Cálculo proposicional: semántica del cálculo proposicional, Cálculo proposicional: la consecuencia lógica y la deducción. Cálculo proposicional: un sistema deductivo para el cálculo proposicional. Cálculo Cálculo de Predicados, Árboles de Refutación para el Cálculo de Predicados y Reseña histórica acerca del Teorema de Incompletitud de Gödel. Lenguaje Prolog.(http://logica.dirinfo.unsl.edu.ar/teorias.html)
X - Bibliografia Complementaria
[1] Puede encontrarse información de interés en las siguientes direcciones electrónicas:
[2] http://www-history.mcs.st-andrews.ac.uk
[3] http://www.cibernous.com/autores/kgodel/index.html
[4] http://www.matematica.ciens.ucv.ve/ (Matemáticos Famosos)
[5] https://www.youtube.com/watch?v=lBfkzCU9wFM
[6] https://www.youtube.com/watch?v=IJOjs-rpsVE
[7] https://www.youtube.com/watch?v=25WZZK2eBow
XI - Resumen de Objetivos
El principal objetivo de esta asignatura es brindar los conocimientos y habilidades necesarios para la aplicación de métodos formales en diversas áreas de la informática. A través del estudio del Cálculo Proposicional y de la Lógica de Primer Orden se pretende que el estudiante sea capaz de adquirir conocimientos formales sobre los constituyentes, la expresividad y diferentes propiedades de los lenguajes formales; de realizar la formalización de información abstracta utilizando herramientas de cada una de las lógicas presentadas, y de analizar la validez de los razonamientos planteados a través de las diferentes metodologías estudiadas. Además, debe poder aplicar las herramientas lógicas estudiadas en soluciones a problemáticas de la informática
XII - Resumen del Programa
Esta asignatura proporciona una base sólida en lógica mediante el estudio del Cálculo Proposicional (Lógica Proposicional) y el Cálculo de Predicados (Lógica de Primer Orden). Se tratan los aspectos sintácticos y semánticos de cada uno de estos lenguajes y se explica cómo usar pruebas formales y razonamientos lógicos para solucionar problemas informáticos.
Se estudia la formalización de conceptos expresados en lenguaje natural mediante cada una de las lógicas presentadas, y se analiza la validez de los razonamientos planteados a través de diferentes metodologías como métodos de demostración de teoremas, deducción, interpretación de las fórmulas, etc. Se analizan diferentes propiedades de los lenguajes lógicos definidos (completitud, decidibilidad, consistencia).
A partir de esta base formal, se estudian los fundamentos de la programación lógica a través de un lenguaje de ese paradigma y se analizan los beneficios potenciales de usar métodos formales de especificación y verificación de programas a través de un formalismo para tal fin.

Temario: Cálculo Proposicional - Cálculo de Predicados - Métodos de demostración - Paradigma de programación Lógica - Lenguaje lógico - Verificación de programas.

XIII - Imprevistos
 
XIV - Otros
Contactos con la cátedra, material disponible e información auxiliar:
Correo de la asignatura: logicapc@unsl.edu.ar.
Sitio de la asignatura: http://logica.dirinfo.unsl.edu.ar/.