Lógica en la Informática

Usted está aquí

Créditos
6
Tipos
Obligatoria de especialidad (Computación)
Requisitos
  • Prerrequisito: EDA
  • Correquisito: PROP
Departamento
CS
La lógica juega un papel básico en la informática (bases de datos, complejidad computacional, lenguajes de programación, inteligencia artificial, diseño y verificación de sistemas hard y soft, 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. Al igual que los arquitectos e ingenieros, que analizan matemáticamente sus construcciones, los informáticos necesitan analizar las propiedades lógicas de sus sistemas mientras los diseñan, desarrollan, verifican y mantienen, especialmente cuando se trata de sistemas críticos (económicamente, o en seguridad, privacidad o eficiencia). Esta asignatura proporciona una base sólida de lógica para informáticos. Se estudian en profundidad las dos lógicas más importantes, la proposicional y la de primer orden. En el laboratorio se resuelven eficazmente diversos tipos de problemas prácticos mediante técnicas lógicas, tales como SAT y la programación lógica con y sin restricciones.

Profesorado

Responsable

  • Jose Miguel Rivero Almeida ( )

Otros

  • Antoni Lozano Boixadors ( )
  • Enric Rodriguez Carbonell ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6

Competencias

Competencias Técnicas

Competencias técnicas comunes

  • CT1 - Demostrar conocimiento y comprensión de hechos esenciales, conceptos, principios y teorías relativas a la informática y a sus disciplinas de referencia.
    • CT1.1A - Demostrar conocimiento y comprensión de los conceptos fundamentales de la programación y de la estructura básica de un computador. CEFB4. Conocimiento de los fundamentos del uso y programación de los computadores, los sistemas operativos, las bases de datos y, en general, los programas informáticos con aplicación en ingeniería.
    • CT1.2C - Interpretar, seleccionar y valorar conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación a partir de los fundamentos matemáticos, estadísticos y físicos necesarios. CEFB1: Capacidad para la resolución de los problemas matemáticos que puedan plantarse en la ingeniería. Aptitud para aplicar los conocimientos sobre: algebra, cálculo diferencial e integral i métodos numéricos; estadística y optimización.
  • CT2 - Utilizar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, despliegue -implantación- y evaluación de productos) de manera que se demuestre la comprensión de los compromisos adoptados en las decisiones de diseño.
    • CT2.3 - Diseñar, desarrollar, seleccionar y evaluar aplicaciones, sistemas y servicios informáticos, y al mismo tiempo asegurar su fiabilidad, su seguridad y su calidad, conforme a principios éticos y a la legislación y la normativa vigente.
  • CT4 - Demostrar conocimiento y capacidad de aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y la complejidad de los algoritmos
    • CT4.1 - Identificar las soluciones algorítmicas más adecuadas para resolver problemas de dificultad mediana.
    • CT4.2 - Razonar sobre la corrección y la eficiencia de una solución algorítmica.
    • CT4.3 - Demostrar conocimiento y capacidad de aplicación de los principios fundamentales y las técnicas básicas de los sistemas inteligentes y su aplicación práctica.
  • CT5 - Analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, escogiendo el paradigma y los lenguajes de programación más adecuados.
    • CT5.1 - Escoger, combinar y explotar diferentes paradigmas de programación, en el momento de construir software, atendiendo a criterios como la facilidad de desarrollo, la eficiencia, la portabilidad y la mantenibilidad.
    • CT5.2 - Conocer, diseñar y utilizar de forma eficiente los tipos y las estructuras de datos más adecuados para la resolución de un problema.
    • CT5.3 - Diseñar, escribir, probar, depurar, documentar y mantener código en un lenguaje de alto nivel para resolver problemas de programación aplicando esquemas algorítmicos y usando estructuras de datos.
    • CT5.4 - Diseñar la arquitectura de los programas utilizando técnicas de orientación a objetos, de modularización y de especificación e implementación de tipos abstractos de datos.

Competencias Transversales

Razonamiento

  • G9 [Avaluable] - Capacidad de razonamiento crítico, lógico y matemático. Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos, y analizar e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.
    • G9.3 - Capacidad crítica, capacidad de evaluación.

Lengua extranjera

  • G3 [Avaluable] - Conocer el idioma inglés con un nivel adecuado de forma oral y por escrito, y con consonancia con las necesidades que tendrán los graduados y graduadas en ingeniería informática. Capacidad de trabajar en un grupo multidisciplinar y en un entorno multilingüe, y de comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas relacionadas con la profesión de ingeniero técnico en informática.
    • G3.2 - Estudiar con materiales escritos en inglés. Redactar un informe o trabajo de tipo técnico en inglés. Participar en una reunión técnica llevada a cabo en inglés.

Competencias Técnicas de cada especialidad

Especialidad de computación

  • CCO1 - Tener un conocimiento profundo de los principios fundamentales y de los modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática.
    • CCO1.1 - Evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución, y recomendar, desarrollar e implementar la que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.
  • CCO2 - Desarrollar de forma efectiva y eficiente los algoritmos y el software apropiados para resolver problemas complejos de computación.
    • CCO2.1 - Demostrar conocimiento de los fundamentos, los paradigmas y las técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen estas técnicas en cualquier ámbito de aplicación.
    • CCO2.2 - Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano de una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
  • CCO3 - Desarrollar las soluciones informáticas que, considerando el entorno de ejecución y la arquitectura del computador sobre el cual se ejecutan, consigan el mejor rendimiento.
    • CCO3.1 - Implementar código crítico siguiendo criterios de tiempo de ejecución, eficiencia y seguridad.
    • CCO3.2 - Programar considerando la arquitectura hardware, tanto en ensamblador como en alto nivel.

Objetivos

  1. ...
    Competencias relacionadas: G9.3, CCO2.1, CCO2.2,
  2. ...
    Competencias relacionadas: G9.3, CCO2.1, CT4.1, CT4.2, CCO2.2, CT4.3,
  3. ...
    Competencias relacionadas: G9.3, G3.2, CCO1.1, CCO2.1, CT4.1, CT4.2, CCO2.2, CT2.3,
  4. ...
    Competencias relacionadas: G9.3, G3.2, CCO1.1, CCO2.1, CT4.1, CT4.2, CCO2.2, CT2.3,
  5. ...
    Competencias relacionadas: G9.3, CT1.2C, G3.2, CCO1.1, CCO2.1, CT4.1, CT4.2, CT5.2, CT5.4, CCO2.2, CCO3.1, CCO3.2, CT4.3, CT5.1, CT5.3, CT1.1A, CT2.3,
  6. ...
    Competencias relacionadas: G9.3, G3.2, CCO2.1, CT4.1, CT4.2, CT5.2, CCO2.2, CCO3.1, CT4.3, CT5.1,

Contenidos

  1. ...
    ...
  2. ...
    ...
  3. ...
    ...
  4. ...
    ...
  5. ...
    ...
  6. ...
    ...
  7. ...
    ...

Actividades

Actividad Acto evaluativo


...

...
Objetivos: 1
Contenidos:
Teoría
1h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

...

...
Objetivos: 1 2
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

...

...
Objetivos: 1 2 3 4 5
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h

...

...
Objetivos: 1 2 3 4 5
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

...

...
Objetivos: 1 2 3 4 5
Semana: 9
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

...

...
Objetivos: 1 2 3 4 5
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

...

...
Objetivos: 4 5 6
Contenidos:
Teoría
3h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

...

...
Objetivos: 5 6
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

...

...
Objetivos: 1 2 3 4 5 6
Semana: 15 (Fuera de horario lectivo)
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
14h

Metodología docente

...

Método de evaluación

...

Bibliografía

Básica:

Complementaria:

Web links

Capacidades previas

Coneixements bàsics de matemátiques (conjunts, funcions, relacions, conteig, combinatòria molt bàsica i técniques de demostració: inducció, reducció a l'absurd, contrarrecíproc...).
Coneixements d'algorismica, programació (C++) i estructures de dades.
Coneixements de circuits digitals i funcions Booleanes.
Capacitats de treball autònom.