Source: http://guias.usal.es/node/17088
Timestamp: 2018-02-19 15:57:28+00:00

Document:
INFORMÁTICA TEÓRICA | guias.usal.es
(Fecha última modificación: 26-07-17 15:22)
Vivian López Batista: Consultar en la web
Daniel López Sánchez: Solicitar por correo electrónico
Edificio I+D+i (C/ Espejo 2) Planta 2, Sala 24.2
923 29 45 00 (Ext. 5477)
Consultar en la web o solicitar por correo electrónico
Materia Programación
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.
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.
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.
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.
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
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
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.
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.
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.
CT21: Habilidad para trabajar de forma autónoma ycumplir plazos.
Las actividades formativas que se proponen para esta asignatura son las siguientes:
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.
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).
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.
Herramientas de prácticas: JFLAP( http://www.cs.duke.edu/csed/jflap/ ), Lex-Yacc y Visual Turing 1.0
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%
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.
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.
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.
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.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 

Resolución