Planificación de Laboratorio de Ingeniería de Software (2019)

     IMPRIMIR PLANIFICACIÓN

    Información básica

    Carrera
    Ingeniería en Informática
    Departamento
    Informática
    Sitio Web
    http://infofich.unl.edu.ar/admin/ensenanza/planificaciones/planificaciones-editar-planificacion.php?id=1440
    Plan de Estudios
    Plan 2006
    Carácter Período
    Cuatrimestral No especificado
    Docente Responsable
    Gabriela Mannarino

    Equipo docente

    Nombre y Apellido
    Mannarino, Gabriela

    Carga horaria

    Carga horaria total 60 hs
    Teoría 16 hs
    Resolución de ejercicios 20 hs
    Proyecto y diseño 0 hs
    Evaluaciones 6 hs
    Formación experimental 0 hs
    Resolución de problemas de ingeniería 18 hs
    Otras actividades 0 hs

    Contenidos mínimos

    Sistemas computacionales. Compilación y enlazado. Representación de la información y del código en la computadora.

    Objetivos

    Esta asignatura se focaliza en el front-end de los compiladores; es decir, en el análisis léxico y sintáctico. Se espera que el alumno:

    1. Conozca las etapas fundamentales de un compilador

    2. Comprenda el proceso que permite generar una representación de los programas que puede ser procesada por las computadoras

    3. Conozca los diferentes lenguajes y gramáticas formales

    4. Logre un conocimiento básico de los modelos computacionales formales subyacentes (autómatas), sus capacidades y limitaciones. En particular, los autómatas de estado finito y push-down. 

    5. Conozca el modelo de Turing y los conceptos básicos de la teoría de la computabilidad: problemas decidibles, no decidibles y tratables e intratables 

    6. aprenda a desarrollar analizadores léxicos y sintácticos

    7. Enriquezca su capacidad de análisis y de resolución de problemas

    8. Aprenda a i. presentar y exponer públicamente sus propuestas, ii. desarrollar un espíritu crítico, iii. analizar bibliografía por sí solo

    9. Estimule su curiosidad, ganas de aprender y crecimiento personal continuo

    Conocimientos específicos previos para cursar la asignatura

    Los alumnos deberán ser capaces de comprender bibliografía en inglés y tener 4 año aprobado.

    Metodología de enseñanza

    La asignatura se dictará a través de clases teórico-prácticas. Se discutirán grupalmente los conceptos teóricos que permitan plantear soluciones a problemas concretos.

    Programa Analítico

    1. Introducción

    Introducción a los compiladores, máquinas abstractas, gramáticas y lenguajes formales. Jerarquía de Chomsky

     

    2. Análisis léxico

    Autómatas de estado finito. Autómatas determinísticos y no determinísticos. Expresiones regulares. Analizadores léxicos. Herramienta lex/flex. Conversión de autómatas a expresiones regulares y de expresiones regulares a autómatas

    3. Análisis sintáctico

    Gramáticas libres de contexto. Representación gramatical BNF y EBNF.  Analizadores sintácticos. Derivaciones. Análisis top-down y bottom-up. Ambigüedad. Introducción a los autómatas push-down. Lenguaje aceptado por un autómata push-down. Herramienta yacc.

    Introducción a la teoría de la computabilidad (opcional)

    4. Modelo de Turing.

    Máquina de Turing. Problemas decidibles, no decidibles, trabables e intratables

    Bibliografía

    Bibliografía básica

    Aho, A., Lam M., Sehi R, and Ullman J.
    Compilers. Principles, Techniques, & Tools (2nd. edition)
    Addison Wesley

    Hopcroft J.E., Motwani R., Ullman, J.
    Introduction to Automata Theory, Languages, and Computation. 3rd. edition
    Pearson, Addison Wesley

    Kernighan B., Ritchie D.
    The C programming language, 2nd. edition
    Prentice Hall

    Cronograma de actividades

    Unidad 1 Semana 1 Tipo: TP Duración: 2 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:
    Observaciones:
    Ejercicios prácticos y exposiciones Semana 2 Tipo: EP Duración: 20 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:

    Los alumnos deberán realizar las prácticas propuestas así como preparar sus exposiciones sobre conceptos teóricos específicos durante todo el curso. Ambas actividades serán apoyadas por el docente

    Observaciones:
    Unidad 2 Semana 2 Tipo: T Duración: 4 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:
    Observaciones:

    La unidad 2 se desarrollará durante 4 semanas

    TP1 Semana 4 Tipo: PI Duración: 7 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:

    Práctico integrador sobre análisis léxico

    Observaciones:
    Evaluación TP1 Semana 6 Tipo: E Duración: 3 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:
    Observaciones:

    Coloquio de presentación del primer trabajo práctico. Éste se acompañará por una evaluación teórica sobre los temas conceptuales subyacentes.

    Unidad 3 Semana 9 Tipo: TP Duración: 8 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:
    Observaciones:

    La unidad 3 se desarrollará durante 7 semanas

    TP2 Semana 13 Tipo: PI Duración: 11 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:

    Práctico integrador sobre análisis sintáctico

    Observaciones:
    Unidad 4 Semana 14 Tipo: T Duración: 2 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:
    Observaciones:
    Evaluación TP2 Semana 15 Tipo: E Duración: 3 hs
    Docente/s responsable/s: Gabriela Mannarino
    Descripción:

    La exposición del segundo trabajo práctico estará acompañado por un conjunto de preguntas teóricas conceptuales. 

    Observaciones:

    Requerimientos para regularizar

    Haber logrado un 40% en las evaluaciones 1 y 2. Asistencia a un 80% de la materia

    Requerimientos para promover

    Haber aprobado en un 70% respectivamente, de las evaluaciones  1 y 2. Asistencia de un 80%. 

    Examen final

    Alumnos regulares

    Examen teórico

    Alumnos libres

    No corresponde

    Evaluaciones

    Fecha Tipo Modalidad Descripción
    24-11-2017 Trabajo Práctico Oral/Escrita Evaluación integradora 2.

    Coloquio integrador

    27-09-2019 Trabajo Práctico Oral/Escrita Evaluación integradora 1.

    Coloquio integrador

    Información complementaria

    En la presentación de los prácticos se establece que no se reutilizará código de internet. En cuanto a la bibliografía adicional a consultar por el alumno, la misma deberá ser aprobada por el docente.