Plan de contenidos:Teorìa de Automatas y Compiladores
De Computacion
Escuela de Ciencias de la Computación
MODALIDAD PRESENCIAL
PLAN DOCENTE DE
TEORÍA DE AUTOMATAS Y COMPILADORES
- DATOS BÁSICOS DEL PROFESOR
Juan Carlos Espinoza Ojeda
| Nombres y Apellidos: | Juan Carlos Espinoza Ojeda | ||
| Correo electrónico: | jcespinozax@utpl.edu.ec | ||
| CITTES / Departamento: | UPSI/Desarrollo de Software | ||
| Horario de tutoría personalizada: | (se dispondrá previo conocimiento de horario). | ||
Información de Contacto:
| Teléfono: | 2570275 | ||
| Extensión: | 3110, 2931 | ||
| Cuenta SKYPE: | jcsolver | ||
| Cuenta GMAIL: | jcsolver@gmail.com | ||
| Cuenta MSN: | jcsolver@hotmail.com | ||
| Cuenta del.icio.us: | http://del.icio.us/jcsolver | ||
| Dirección Blog/web: | http://jcsolver.wordpress.com/ | ||
María Eugenia Enríquez M.
| Nombres y Apellidos: | María Eugenia Enríquez M. | |||
| Correo electrónico: | meenriquez@utpl.edu.ec | |||
| CITTES / Departamento: | UPSI / GDS | |||
| Horario de tutoría personalizada: | (se dispondrá previo conocimiento de horario). | |||
Información de Contacto
| Teléfono: | 2570275 | ||
| Extensión: | 2931 | ||
| Cuenta SKYPE: | meenriquez | ||
| Cuenta GMAIL: | marieu.enriquez@gmail.com | ||
| Cuenta MSN: | eugin@hotmail.com | ||
| Cuenta del.icio.us: | http://del.icio.us/marieu.enriquez | ||
B. DATOS BÁSICOS DE LA MATERIA
Área Académica: Técnica
Escuela: Ciencias de la Computación
| Nombre de la Materia: | Teoría de Autómatas y Compiladores. | |||
| Semestre en el que se imparte: | Octubre 2009 – Febrero 2010. | |||
| Tipo de materia: | TRONCAL de carrera. | |||
| Número de créditos UTPL - ECTS: | 4. | |||
Conocimientos previos recomendados:
Para el presente curso se recomienda al alumno aprobar las materias de:
Estructuras de Datos, Fundamentos de la Programación, Programación de Algoritmos, Programación Avanzada.
- COMPETENCIAS A DESARROLLAR
DE LA UTPL
1. Capacidad de abstracción, análisis y síntesis.
2. Capacidad de investigación.
3. Habilidades para buscar, procesar y analizar información procedente de fuentes diversas.
4. Capacidad de aprender a aprender como política de formación contínua.
5. Capacidad para identificar, plantear y resolver problemas.
6. Capacidad creativa e innovadora.
7. Capacidad de trabajo en equipo.
8. Habilidad para trabajar en forma autónoma.
DE LA CARRERA
1. Habilidad para solucionar y optimizar problemas de programación
2. Habilidad para realizar Integraciones de soluciones software
3. Capacidad de análisis y síntesis suficiente para resolver problemas relacionados con la Ingeniería.
4. Habilidad para realizar investigaciones en tecnologías de la computación
DE LA MATERIA
1. Capacidad de definir los conceptos principales sobre el diseño e implementación de compiladores para lenguajes modernos.
2. Capacidad de aplicar la teoría de lenguajes formales en la construcción de compiladores para lenguajes de programación.
3. Capacidad de construir un compilador para un lenguaje estructurado sencillo.
- CONTENIDOS Y PLANIFICACIÓN GENERAL DE LA MATERIA
| CAPÍTULO | CONTENIDOS | SEMANA | ACTIVIDADES PRESENCIALES (con profesor) | ACTIVIDADES EXTRACLASE | ||
| Actividad | Nro. de horas | Actividad | Nro. de horas | |||
| PRIMER ALCANCE | ||||||
| CAPITULO 1. Rastreo o Análisis Léxico. | 1.1 El proceso del análisis léxico. | 1, 2, 3 | Como primera actividad se realizará una revisión de los temas introductorios. De aquí quedará planteada la idea de desarrollo de un proyecto de curso, acerca de la aplicación de los contenidos obteniendo como producto final un analizador léxico y sintáctico. El formato de presentación y desarrollo de proyecto está sujeto a las indicaciones que se darán en clases posteriores. Seguidamente se revisaran los temas del capítulo, para ello es importante que tenga el libro básico ya que el trabajo se desarrolla en base a este. En cada clase se revisaran y realizaran ejercicios; la interacción que Ud. tenga en clase será registrada como evaluación; esto indica que la evaluación será continua. Se realizarán dos evaluaciones: a) de los temas 1.1 y 1.2 b) de los temas 1.3 y 1.4; la clase siguiente al término de los temas. | 15 | Para empezar los estudios de esta asignatura Sr. Estudiante Ud. debe leer y analizar los contenidos y realizar los ejercicios del capítulo 1 del libro básico, para su posterior comprensión el día de la tutoría presencial. En los posteriores temas Ud. debe revisar los temas y desarrollar los ejercicios del capítulo. Respecto de Lex, es responsabilidad vuestra investigar sobre la herramienta. Prepare los temas 1.5 y 1.6, estos serán calificados como Realización trabajos o casos y Aportaciones libres del alumno. Avance con del desarrollo propuesto del proyecto de curso y presente avances continuos; cada revisión será calificada y registrada como aportes a la nota. | 30 |
| 1.2 Expresiones regulares. | ||||||
| 1.3 Autómatas finitos. | ||||||
| 1.4 Desde las expresiones regulares hasta los DFA. | ||||||
| 1.5 Implementación de un analizador léxico TINY ("Diminuto"). | ||||||
| 1.6 Uso de Lex para generar automáticamente un analizador léxico. | ||||||
| CAPITULO 2. Gramáticas libres de contexto y análisis sintáctico. | 2.1 El proceso del análisis sintáctico. | 4, 5, 6 | Luego de terminar el análisis léxico, en este capítulo se desarrollaran temas propios del análisis sintáctico como otros complementarios. Los temas se desarrollaran con un sentido intenso tomando en cuenta la continuidad de las sesiones de clase y la preparación propia por parte de Ud. Sr. Estudiante. Se realizarán dos evaluaciones: a) de los temas 2.1 a 2.4 b) de los temas 2.5 a 2.6; la clase siguiente al término de los temas. | 15 | Ud. debe revisar los temas y desarrollar los ejercicios del capítulo; en las tres sesiones de clase para este capítulo exponga y aporte con comentarios, dudas, sugerencias, nuevas ideas, conceptos. Prepare el tema 2.7, este será calificado como Realización trabajos o casos y Aportaciones libres del alumno. Avance con del desarrollo propuesto del proyecto de curso y presente avances continuos; cada revisión será calificada y registrada como aportes a la nota.$$DeleteCell$$$$DeleteCell$$$$DeleteCell$$$$DeleteCell$$rowspan = "7"|30 | |
| 2.2 Gramáticas libres de contexto. | ||||||
| 2.3 Árboles de análisis gramatical y árboles sintácticos abstractos. | ||||||
| 2.4 Ambigüedad, | ||||||
| 2.5 Notaciones extendidas: EBNF y diagramas de sintaxis. | ||||||
| 2.6 Propiedades formales de los lenguajes libres de contextos. | ||||||
| 2.7 Sintaxis del lenguaje TINY. | ||||||
| CAPITULO 3. Análisis sintáctico descendente. | 3.1 Análisis sintáctico descendente mediante método descendente recursivo. | 7, 8 | Continuación del capítulo anterior son los temas 3.1 a 3.3 con la aplicación de estos conocimientos terminara el proyecto de curso. En la primera semana se resolverán todas las dudas respecto de este tema (Ud. debe ir a las sesiones de clase revisando previamente los temas), dejando asía la última para revisiones de los trabajos de curso. | 10 | Prepare los temas 3.4 y 3.5, estos serán calificados como Realización trabajos o casos y Aportaciones libres del alumno. Finalmente en la última semana, presente el proyecto que desarrollo durante el curso. Los parámetros de entrega final se darán en estas últimas sesiones. | 20 |
| 3.2 Análisis sintáctico LL(1). | ||||||
| 3.3 Conjuntos primero y siguiente. | ||||||
| 3.4 Un analizador sintáctico descendente recursivo para el lenguaje TINY. | ||||||
| 3.5 Recuperación de errores en analizadores sintácticos descendentes. | ||||||
| TOTAL (horas) | 40 | 80 | ||||
Nota:
Las actividades extra clase que no especifican que ejercicios realizar serán indicados en la clase previa al tema.
Las semanas 14 al 16 se expondrán y revisaran la conclusión de los proyectos de fin de ciclo.
Revise constantemente las publicaciones del EVA, aquí se detallará por semana la planificación, recursos adicionales y tareas complementarias.
EVENTOS IMPORTANTES:
- Al término del capítulo 1 debe entregarse un avance del proyecto que consistirá en la parte del analizador léxico.
- EVALUACIÓN DE LA MATERIA
| ACTIVIDAD | CRITERIOS | INSTRUMENTO | Peso | Puntos | Recuperable? |
| Asistencia y participación | -Participación activa en clase. -Participación en debates. -Participación en trabajo grupal. | Observación y notas del profesor. EVA | 5% | 1 | NO |
| Conceptos de la materia | -Dominio de los conocimientos teóricos y operativos de la materia | Examen teórico (prueba objetiva, ejercicios.) | 40% | 8 | SI |
| Realización trabajos o casos | -Entrega de casos-problemas bien resueltos En cada trabajo se analizará: - Estructura - Calidad de la documentación - Originalidad -Ortografía y presentación. | 2 Trabajos (1 individual; 1 en grupo) | 20% | 4 | NO |
| Aportaciones libres del alumno. | - Pertinencia de la actuación al contenido de la materia. - Calidad de la actividad presentada. | Valoración del producto o actividad. | 5% | 1 | NO |
| Proyecto bimestral de curso. | Aplicación de conceptos. Presentación. Técnicas de programación. Originalidad. | Valoración del producto. | 30% | 6 | SI |
| TOTAL | 100% | 20 puntos |
- Nota: La evaluación general se desarrollará de acuerdo a las fechas establecidas en el calendario académico
- RECUPERACIÓN
| ACTIVIDAD A RECUPERAR | INSTRUMENTO | Puntos |
| Conceptos de la materia. | Examen teórico (prueba objetiva, ejercicios.) | 8 |
| Proyecto bimestral de curso. | Valoración del producto. | 4 |
- RECURSOS A UTILIZAR PARA EL DESARROLLO DE LA MATERIA:
- Bibliografía Básica
| 1. | KENNETH C. LOUDEN, CONSTRUCCION DE COMPILADORES PRINCIPIOS Y PRACTICA, ISBN-10: 9706862994 ISBN-13: 9789706862990. |
- Bibliografía Complementaria
| 2. | ALFRED V. AHO, RAVI SETHI, JEFFREY D. ULLMAN, COMPILADORES, Principios Técnicas y Herramientas, ADDISON-WESLEY IBEROAMERICANA, 1990. |
| 3. | DEAN KELLEY, TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES, PRENTICE HALL Internacional, 1995. |
- Enlaces Web
| 5. | Web Site: eBook "Autómatas y Lenguajes" |
URL: http://homepages.mty.itesm.mx/rbrena/
Descripción: Aquí encontrara información de apoyo para la comprensión de la materia.
