Guías Académicas

INFORMÁTICA TEÓRICA

INFORMÁTICA TEÓRICA

GRADO EN INGENIERÍA INFORMÁTICA

Curso 2021/2022

1. Datos de la asignatura

(Fecha última modificación: 23-07-21 13:42)
Código
101117
Plan
ECTS
6.00
Carácter
OBLIGATORIA
Curso
2
Periodicidad
Segundo Semestre
Área
INGENIERÍA DE SISTEMAS Y AUTOMÁTICA
Departamento
Informática y Automática
Plataforma Virtual

Campus Virtual de la Universidad de Salamanca

Datos del profesorado

Profesor/Profesora
María Belén Pérez Lancho
Grupo/s
A y B
Departamento
Informática y Automática
Área
Ingeniería de Sistemas y Automática
Centro
Fac. Ciencias
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
Sara Rodríguez González
Grupo/s
A
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Centro
Fac. Ciencias
Despacho
Despacho D1514 – Edificio Ciencias
Horario de tutorías
Solicitar cita por correo electrónico
URL Web
http://diaweb.usal.es/personas/srg
E-mail
srg@usal.es
Teléfono
923 29 45 00 (Ext. 6096)
Profesor/Profesora
Vivian Félix López Batista
Grupo/s
A
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Centro
Fac. Ciencias
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
B
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Centro
Fac. Ciencias
Despacho
D4104 (ático módulo D)
Horario de tutorías
Solicitar por correo electrónico
URL Web
http://diaweb.usal.es/diaweb/personas/marianavarro
E-mail
maria90@usal.es
Teléfono
+34923294500 ext. 6070

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 c omprender 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

nveniente 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 ysemá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.

Expresiones regulares: grep, sed, awk

Autómatas y gramáticas: JFLAP.

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 yaplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones aproblemas, 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 ycumplir 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 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 problemasy 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 grande (80-100 estudiantes) y la otra mitad en grupos más pequeños (sobre 30 estudiantes).

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.

Herramientas de prácticas: JFLAP( http://www.cs.duke.edu/csed/jflap/  ), Lex-Yacc y Visual Turing 1.0

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 (teoría+problemas):70%

Criterios de evaluación.

La evaluación continua tendrá en cuenta la participación activa en clase y la resolución y/o entrega de las prácticas y 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 de los dos primeros temas de la asignatura y no require 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 del examen deberá ser igual o superior a 4 puntos para hacer media con la continua.

Al principio de curso se realizará una descripción detallada de estos criterios y se harán públicos 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 que realicen en el examen de un ejercicio escrito adicional específico. En cualquier caso para superar la asignatura deberá obtenerse en esa parte la calificación minima establecida.