Guías Académicas

INFORMÁTICA TEÓRICA

INFORMÁTICA TEÓRICA

GRADO EN INGENIERÍA INFORMÁTICA

Curso 2022/2023

1. Datos de la asignatura

(Fecha última modificación: 27-05-22 10:54)
Código
101117
Plan
ECTS
6.00
Carácter
OBLIGATORIA
Curso
2
Periodicidad
Segundo Semestre
Idioma
ESPAÑOL
Área
INGENIERÍA DE SISTEMAS Y AUTOMÁTICA
Departamento
Informática y Automática
Plataforma Virtual

STUDIUM

Datos del profesorado

Coordinador/Coordinadora
María Belén Pérez Lancho
Grupo/s
A y B
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ingeniería de Sistemas y Automática
Despacho
F3001 Edificio Ciencias
Horario de tutorías
Solicitar cita por correo electrónico
URL Web
http://diaweb.usal.es/diaweb/personas/lancho
E-mail
lancho@usal.es
Teléfono
923 294500, ext. 6094
Profesor/Profesora
Vivian Félix López Batista
Grupo/s
A
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
F3014 - Edificio Ciencias -
Horario de tutorías
Solicitar cita por correo electrónico
URL Web
http://diaweb.usal.es/diaweb/personas/vivian
E-mail
vivian@usal.es
Teléfono
923 29 45 00 (Ext. 6085)
Profesor/Profesora
María Navarro Cáceres
Grupo/s
A
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
D4104 (ático módulo D)
Horario de tutorías
Solicitar cita por correo electrónico
URL Web
http://diaweb.usal.es/diaweb/personas/marianavarro
E-mail
maria90@usal.es
Teléfono
+34923294500 ext. 6070
Profesor/Profesora
Álvaro Lozano Murciego
Grupo/s
A
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Despacho
F2400 – Edificio Ciencias, frente a Aula Magna II
Horario de tutorías
Solicitar cita por correo electrónico
URL Web
https://produccioncientifica.usal.es/investigadores/148041/detalle
E-mail
loza@usal.es
Teléfono
923294500 Ext. 6072
Profesor/Profesora
Profesor/Profesora PENDIENTE de asignar
Grupo/s
B
Centro
-
Departamento
-
Área
-
Despacho
-
Horario de tutorías
-
URL Web
-
E-mail
-
Teléfono
-

2. Sentido de la materia en el plan de estudios

Bloque formativo al que pertenece la materia.

Materia Programación

Papel de la asignatura.

La asignatura presenta al estudiante los aspectos formales de la programación, en particular los procesos de análisis léxico y sintáctico comunes a todos los lenguajes de programación. Además analiza los modelos de máquinas abstractas que permiten la formalización de cualquier algoritmo, desde los autómatas finitos, que son herramientas muy útiles para resolver ciertos problemas de análisis o sistemas de eventos discretos, hasta la máquina de Turing, equivalente a cualquier otro sistema computacional y capaz de resolver cualquier función recursiva. El conocimiento de estos aspectos permite al estudiante conocer la esencia de los lenguajes de programación y la base de la construcción de compiladores e intérpretes. También es básico  para comprender conceptos tan importantes  como recursividad, computabilidad  o complejidad computacional.

Perfil profesional.

Es una asignatura de fundamentos de la programación y por tanto proporciona   una formación básica, útil para aplicarla al diseño de soluciones de problemas o al análisis de la idoneidad o complejidad de las soluciones propuestas. También ofrece competencias específicas de Computación.

3. Recomendaciones previas

Es connveniente haber cursado previamente las siguientes asignaturas: Programación I, Programación II y Estructura de datos y algoritmos I. Se recomienda cursarla a la vez que la asignatura Estructura de datos y algoritmos II.

4. Objetivo de la asignatura

Conocer los aspectos formales de los lenguajes de programación.

Realizar operaciones básicas con cadenas y lenguajes.

Representar lenguajes formales usando gramáticas y expresiones regulares.

Conocer los modelos de autómatas y máquinas

Formalizar algoritmos usando dichos modelos para analizar lenguajes y para resolver otros tipos de problemas.

Relacionar y aplicar la teoría de autómatas a los procesos de análisis léxico, sintáctico y semántico presentes en compiladores, intérpretes, buscadores, editores, analizadores, generadores automáticos de código, etc.

Conocer herramientas estándar para la construcción automática de analizadores léxicos y sintácticos y para la representación de autómatas y máquinas.

Comprender los conceptos de computabilidad y complejidad computacional.

5. Contenidos

Teoría.

TEMA 1: Fundamentos teóricos de la computación

TEMA 2: Lenguajes regulares, expresiones regulares y autómatas finitos. Análisis léxico

TEMA 3: Lenguajes y gramáticas independientes del contexto. Autómatas de pila. Análisis sintáctico

TEMA 4: Lenguajes recursivos funciones recursivas y máquinas de Turing

TEMA 5: Introducción a la computabilidad y complejidad

Práctica.

Autómatas y gramáticas: JFLAP

Expresiones regulares: grep, regex,...

Análisis léxico y sintáctico: lex-yacc

Máquinas de Turing: Visual Turing

6. Competencias a adquirir

Básicas / Generales.

CG3: Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución de problemas propios de la ingeniería.

CG5: Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación y su aplicación para la resolución de problemas propios de la ingeniería.

Específicas.

CE6: Conocimiento y 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 complejidad de los algoritmos propuestos.

CE8: Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

CECO2: Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la  creación, diseño  y procesamiento  de   lenguajes.

CECO3: Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.

CECO5: Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en 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.

Transversales.

CT3: Capacidad de análisis y síntesis

CT4: Capacidad de organizar y planificar

CT5: Comunicación oral y escrita en la lengua propia

CT9: Resolución de problemas

CT10: Toma de decisiones

CT12: Trabajo en equipo

CT16: Capacidad de aplicar los conocimientos en la práctica

CT17: Habilidades de investigación

CT18: Capacidad de aprender

CT21: Habilidad para trabajar de forma autónoma y cumplir plazos.

7. Metodologías

Las actividades formativas que se proponen para esta asignatura son las siguientes:

Actividades presenciales:

  • Lección magistral: teoría y resolución de problemas.
  • Realización de seminarios de resolución de  problemas
  • Realización de prácticas guiadas en aula de informática
  • Sesiones de tutorías, seguimiento y evaluación, individuales o en grupo.
  • Defensa de prácticas y pruebas de evaluación.

Actividades no presenciales:

  • Estudio autónomo. 
  • Revisión bibliográfica y búsqueda de información.
  • Realización de problemas y de prácticas libres.
  • Realización de informes de prácticas.

En las clases magistrales se presentará el contenido teórico y el profesor realizará problemas tipo y ejemplos de aplicación. En los seminarios de problemas y en  las prácticas guiadas la participación del estudiante será más activa y estará dirigida por los profesores. En las tutorías se resolverán dudas y el trabajo personal permitirá afianzar las competencias.

La actividad presencial supone el 40% de los créditos (60 horas), de las cuales la mitad se desarrolla en grupo completo (unos 80 estudiantes) y la otra mitad en grupos subgrupos más pequeños (no más de 25-30 estidoantes por subgrupo).

8. Previsión de Técnicas (Estrategias) Docentes

9. Recursos

Libros de consulta para el alumno.

  • E. Jurado Málaga; TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES; Servicio de Publicaciones Universidad de Extremadura;   2008    
  • E. Alfonseca, M. Alfonseca y R. Moriyón. TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES, McGraw Hill, 2007.
  • Hopcroft, Motwani, Ullman INTRODUCCIÓN A LA TEORÍA DE AUTÓMATAS, LENGUAJES Y COMPUTACIÓN, Addison-Wesley, 2001.
  • P. Linz; AN INTRODUCTION TO FORMAL LANGUAGES AND AUTOMATA; Fifth Ed.; Jones & Bartlett Learning, 2011.
  • J. G. Brookshear; TEORÍA DE LA COMPUTACIÓN Addison-Wesley iberoamericana, 1993.
  • García Saiz, T. y Gaudioso Vázquez, E.; AUTÓMATAS, GRAMÁTICAS Y LENGUAJES FORMALES; Ed. Sanz y Torres, 2010.

Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.

Enlaces de herramientas de prácticas

10. Evaluación

Consideraciones generales.

De forma general la calificación final se calculará con la media ponderada de las notas conseguidas en los apartados siguientes:

  • Evaluación continua: 30% (Prácticas y seminarios: 15% + Ejercicio escrito: 15%)
  • Examen final: 70% (preguntas teórico/prácticas + resolución de problemas)

Criterios de evaluación.

La evaluación continua de las prácticas y seminarios tendrá en cuenta la participación activa en clase y la resolución y/o entrega de las tareas o ejercicios propuestos a lo largo del curso. En caso de errores importantes o de duda sobre la autoría de las entregas se podrá citar al estudiante para que realice la defensa (oral o escrita) del trabajo entregado. Esta parte práctica es obligatoria y requiere una calificación mínima de 3 puntos sobre 10.

La prueba escrita de continua evaluará contenidos teóricos y prácticos de los dos primeros temas de la asignatura y no requiere nota mínima.

El examen final tendrá dos partes y se exigirá en cada una de ellas una calificación mínima de 3,5 sobre 10. La calificación global del examen deberá ser igual o superior a 4 puntos para poder hacer la media ponderada con la nota de continua.

Los estudiantes que no asistan al examen final tendrán en acta la calificación de No presentado independientemente de su participación en las actividades de evaluación continua.

Al principio de curso se realizará una descripción detallada de estos criterios y se hará pública a través de la web de la asignatura.

Instrumentos de evaluación.

Ejercicios:   En cada tema se incluirán hojas de enunciados con ejercicios propuestos para que el estudiante los realice en las horas de trabajo no presencial. Estos ejercicios podrán ser revisados y evaluados a lo largo del curso.

 Entregas de prácticas:  en algunas sesiones de prácticas se propondrán tareas para entregar a través de la plataforma Studium.

 Preguntas y debates: se realizarán principalmente durante los seminarios y las sesiones de prácticas guiadas y permitirán la evaluación de la participación, de la capacidad de trabajo en grupo y de las destrezas adquiridas.

Examen teórico-práctico, que podrá incluir:

  • Preguntas de tipo test.
  • Preguntas de respuesta corta para razonar y relacionar conceptos.
  • Resolución de problemas y ejercicios prácticos.

Recomendaciones para la evaluación.

Se recomienda realizar un estudio continuado de la asignatura, puesto que la complejidad de los contenidos es creciente y cada nuevo tema incluye y amplía los conceptos y técnicas de los anteriores.

Se destaca la gran importancia de la realización del ejercicio tipo examen de la primera parte: a pesar de que el peso numérico en la nota final es pequeño resulta muy valioso para que el estudiante aborde y asiente las bases de la asignatura, sea consciente de las dificultades que la materia entraña,de los errores que ha cometido y de los criterios con los que va a  ser evaluado en el examen final.

Recomendaciones para la recuperación.

Para los estudiantes que durante el curso no hayan realizado las entregas de prácticas por causas justificadas se podrá establecer un nuevo plazo de entrega/defensa o bien requerir en el examen la realización de algún ejercicio adicional específico de la parte que no se haya superado. En cualquier caso, para aprobar la asignatura deberá obtenerse en la parte práctica la calificación mínima establecida en los criterios generales.