Guías Académicas

INFORMÁTICA TEÓRICA

INFORMÁTICA TEÓRICA

GRADO EN INGENIERÍA INFORMÁTICA

Curso 2017/2018

1. Datos de la asignatura

(Fecha última modificación: 20-06-18 12:09)
Código
101117
Plan
ECTS
6.00
Carácter
OBLIGATORIA
Curso
2
Periodicidad
Segundo Semestre
Áreas
CIENCIA DE LA COMPUTACIÓN E INTELIGENCIA ARTIFICIAL
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
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
Vivian López Batista: Consultar en la web Daniel López Sánchez: Solicitar 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
Daniel López Sánchez
Grupo/s
A
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Sin Determinar
Despacho
Edificio I+D+i (C/ Espejo 2) Planta 2, Sala 24.2
Horario de tutorías
-
URL Web
http://diaweb.usal.es y http://studium.usal.es
E-mail
Lope@usal.es
Teléfono
923 29 45 00 (Ext. 5477)
Profesor/Profesora
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
Consultar en la web o solicitar 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
B
Centro
Fac. Ciencias
Departamento
Informática y Automática
Área
Ciencia de la Computación e Inteligencia Artific.
Despacho
Despacho D1514 – Edificio Ciencias
Horario de tutorías
Consultar en la web o solicitar 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)

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  ocomplejidad 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 conveniente haber cursado previamente las siguientes asignaturas: Programación I, Programación II y Estructuras de datos y algoritmos I. Se recomienda cursarla a la vez que la asignatura Estructuras 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 y autómatas finitos. Análisis léxico

TEMA 3: Lenguajes independientes del contexto. 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 y

…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     (http://campusvirtual.unex.es/ebooks/files/file/TeoriaAutomatas.pdf )
  • 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:
  • Examen de teoría y de problemas: 70%
  • Defensa de prácticas o trabajos: entre el 15% y 20%
  • Evaluación continua: entre 10% y 15%

Criterios de evaluación.

El examen final tendrá dos partes y se exigirá que cada una de ellas haya sido superada con una calificación mínima de 3,5 sobre 10. Las prácticas se evaluarán mediante la entrega de informes de las tareas o actividades propuestas en las correspondientes sesiones. En caso de errores importantes o de duda sobre la autoría se podrá citar al estudiante para que realice la defensa oral del trabajo entregado. Esta parte es obligatoria y será precisa una calificación mínima de 3 sobre 10.

La evaluación continua tendrá en cuenta la participación activa en clase y la resolución y/o entrega de los problemas propuestos a lo largo del curso. También incluirá la realización de un escrito de la primera parte de la asignatura, similar al examen.

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.

  • 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.
  • Hojas de enunciados: incluirán ejercicios propuestos para que el estudiante los realice en las horas de trabajo no presencial. Podrán ser recogidos a lo largo del curso para su corrección y evaluación.
  • Informes 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.

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 no hayan realizado las entregas de prácticas por causas justificadas se podrá establecer un nuevo plazo de entrega y defensa de las mismas. Para superar la asignatura deberá obtenerse en cada parte una calificación mínima de 3.