Departamento de Ingeniería en Sistemas de Información Sintaxis y Semántica de los Lenguajes 2017 Contenido Contenido... 1 Programa Sintético de SSL, según Ordenanza 1050.... 2 Resultados de aprendizaje... 2 Programa Analítico... 3 Programación detallada... 4 Bibliografía... 4 Régimen de Aprobación Directa (Basado en Ord. 1549)... 5 Plantel Docente... 10
Programa Sintético de SSL, según Ordenanza 1050. Objetivos Conocer los elementos propios de la sintaxis y semántica de los lenguajes de programación. Conocer los lenguajes formales y autómatas. Comprender conceptos y procedimientos de las gramáticas libres de contexto y gramáticas regulares para especificar la sintaxis de los lenguajes de programación. Utilizar distintos tipos de autómatas y distintos tipos de notaciones gramaticales. Comprender el procesamiento de lenguajes y en particular, el proceso de compilación. Contenidos Mínimos Gramática y Lenguajes Formales. Jerarquía de Chomsky. Autómatas Finitos. Expresiones Regulares y su aplicación al Análisis Léxico. Gramáticas Independientes del Contexto. Autómatas PushDown y su Aplicación al Análisis Sintáctico. Otros Tipos de Analizadores Sintácticos. Máquinas Turing. Introducción a las Semánticas. Resultados de aprendizaje Propuesta Sintaxis y Semántica de los Lenguajes DISI UTN.BA 2017. Al finalizar con éxito la cursada de la asignatura Sintaxis y Semántica de los lenguajes del DISI UTN.BA en los estudiantes serán capaces de: 1. Desarrollar un pensamiento creativo, abstracto y computacional que permita el diseño e implementación formal de lenguajes de programación. 2. Aplicar los elementos propios de la sintaxis y la semántica de los Lenguajes mediante gramáticas Formales y rutinas semánticas. 3. Diseñar, describir y construir Lenguaje Formales mediante expresiones y gramáticas formales. 4. Evaluar y reconocer los lenguajes formales (regulares e independientes de contexto) mediante la utilización de maquinas abstractas. 5. Implementar los Conceptos y Procedimientos de las Gramáticas Independientes del Contexto y de las Gramáticas Regulares para especificar la sintaxis de los Lenguajes de Programación.
6. Utilizar distintos tipos de autómatas y distintos tipos de notaciones gramaticales para el análisis lexicográfico y sintáctico de los lenguajes de programación. 7. Diseñar un lenguaje simple de programación comprendiendo el procesamiento de lenguajes y, en particular, el proceso de compilación. 8. Adquirir habilidades prácticas y experiencia en la escritura de programas en distintos lenguajes formales de programación. Programa Analítico I Fundamentos de Lenguajes Formales a. Lenguajes formales. b. Tipos de autómatas. - Autómatas Finitos. - Autómatas PushDown. - Máquinas Turing. c. Expresiones Regulares. d. Gramática. - Gramáticas regulares. - Gramáticas Independientes del Contexto o Libres de Contexto - Jerarquía de Chomsky. II Lenguajes de Programación a. Elementos propios - Elementos propios del léxico de los lenguajes de programación. - Elementos propios de la sintaxis de los lenguajes de programación. - Elementos propios de la semántica de los lenguajes de programación. b. Especificación - Especificación del léxico de los lenguajes de programación - Especificación de la sintaxis de los lenguajes de programación. - Especificación de la semántica de los lenguajes de programación. c. Casos de estudio - Caso de estudio 1. - Caso de estudio 2. III Proceso de Compilación a. Contexto de la compilación b. Ambiente de ejecución c. Proceso de compilación - Análisis Léxico - Análisis Sintáctico - Otros Tipos de Analizadores Sintácticos. - Análisis Semántico. d. Casos de estudio - Caso de estudio 3. - Caso de estudio 4.
Programación detallada Clase Contenido 01 Presentación inicial, Ia 02 Ia Ib 03 Ib 04 Ib 05 Ic 06 Id 07 Id 08 IIa 09 IIa 10 IIa 11 IIa 12 IIb 13 IIb 14 IIb 15 IIb 16 Primera evaluación parcial. Entrega Tp Integrador parte 1 17 IIc 18 IIc 19 IIIab 20 IIIc 21 IIIc 22 IIIc 23 IIIc 24 IIIc 25 IIIc 26 IIId 27 IIId 28 Repaso general 29 Segunda evaluación Parcial. Entrega Tp integrador final 30 Devolución y discusión 31 A criterio del profesor abordando temas que a su juicio 32 requieran reforzarse. Bibliografía [K&R1988] [MUCH2012]
Régimen de Aprobación Directa (Basado en Ord. 1549) REQUISITOS: 1.1 ADMINISTRATIVAS 1.1.1 Haberse inscripto a la asignatura cumpliendo con el régimen de correlatividades para el cursado. 1.1.2 Cumplir con el régimen de asistencia establecido en el Reglamento de Estudios para el cursado de las asignaturas. En caso de ser reincorporado por inasistencias, queda inhabilitado para promocionar. 1.2 ACADÉMICAS 1.2.1 Aprobar las evaluaciones, de carácter formativo, que disponga el equipo docente siguiendo los lineamientos del Director de Cátedra (se refiere a parciales, trabajos prácticos y/o de investigación, simulaciones y otros). Nota N 1: No todas las evaluaciones pueden derivar en una calificación numérica. Según disponga la Cátedra, algunas de ellas pueden representarse por un cumplió/no cumplió o un aprobó/no aprobó o un hizo/no hizo. 1.2.2 Obtener individualmente en cada uno de los exámenes parciales o evaluaciones globalizadoras sumativas, una calificación numérica mayor o igual a 8(ocho) puntos, equivalente cualitativamente a muy bueno (Ord.1549 8.2.3). 1.2.2.1 El estudiante podrá acceder a la Aprobación Directa inclusive si ha accedido a la calificación numérica mayor o igual a 8 (ocho) puntos en la primera instancia de recuperación de 1 (uno) y sólo 1(uno) de los exámenes parciales. Nota N 2: Habiendo reprobado sólo 1 (uno) de los exámenes parciales, y alcanzado en el recuperatorio del mismo una calificación numérica mayor o igual a 8(ocho) puntos -teniendo el resto de los exámenes cumpliendo con la condición de Aprobación Directa (nota mayor o igual a 8)- el estudiante podrá acceder a la Aprobación Directa (Ord.1549 7.2.1) 1.2.2.2 El estudiante que haya aprobado un examen parcial por debajo de la calificación de Aprobación Directa (obteniendo una calificación mayor o igual a 6 y menor a 8) podrá presentarse a la instancia de
recuperación del mismo asumiendo que la calificación definitiva será la que obtenga en dicha instancia recuperatoria. Nota N 3: Habiendo aprobado el examen parcial y en vistas de aspirar a la Aprobación Directa (Calificación en recuperatorio mayor o igual a 8), el estudiante tiene el derecho a presentarse a la primera instancia de recuperación, al igual que todos los estudiantes contemplados en el ítem 1.2.2.1, con la condición de que la calificación definitiva será la que se obtenga en dicho recuperatorio. Nota N 4: modalidad adoptada: 2 parciales con un trabajo práctico propio de cada curso para la regularización y el agregado de un trabajo práctico común a toda la cátedra para la aprobación directa PARCIAL A PARCIAL B Recup. PARCIAL A Recup. PARCIAL B TP 1 Del Curso TP 2 De Catedra CONCLUSIÓN >=8 >=8 N/A N/A Ap Ap APROBACIÓN DIRECTA 3 >=8 >=6 & <8 N/A Opta por no recuperar Ap N/A REGULARIZA LA MATERIA >=8 <8 N/A >=8 Ap Ap APROBACIÓN DIRECTA >=8 >=6 & <8 N/A >=6 & <8 Ap N/A REGULARIZA LA MATERIA >=8 >=6 & <8 N/A <6 Ap N/A RINDE 2DO. RECUPERATORIO PARA REGULARIZAR LA MATERIA >=6 & <8 >=6 & <8 N/A N/A Ap N/A REGULARIZA LA MATERIA <6 >=6 & <8 >=6 N/A Ap N/A REGULARIZA LA MATERIA <6 >=6 & <8 <6 N/A Ap N/A <6 <6 INDIST. INDIST. Ap. N/A RINDE 2DO. RECUPERATORIO PARA REGULARIZAR LA MATERIA CONTINÚA EN PROCESO PARA REGULARIZAR LA ASIGNATURA, CON OBLIGACIÒN DE APROBAR MEDIANTE EXAMEN FINAL. 1 El trabajo práctico de cada curso será propuesto y evaluado por el docente a cargo del curso. 2 El trabajo práctico de la cátedra será consensuado entre los profesores de la cátedra, evaluado por cada profesor en su curso. Será anual con presentaciones parciales, Julio y Noviembre de cada ciclo lectivo, las que deberán cumplirse estrictamente para alcanzar la aprobación directa. 3 Para acceder a la aprobación directa, las instancias de evaluación deberán ser aprobadas, en presentaciones parciales en los meses de Julio y Noviembre del ciclo lectivo de inscripción a la materia. Los parciales serán desarrollados por cada profesor a cargo del curso..
1.2.2.3 El estudiante que obtenga una calificación de 7 (siete) puntos en uno de los exámenes parciales y, teniendo el resto de los exámenes cumpliendo con la condición de Aprobación Directa (nota mayor o igual a 8), podrá acceder a una instancia de recuperación de dicho examen, siempre que la evaluación en las tres rubricas de desempeño (presentación de trabajos, laboratorio y desempeño en clase) sean al menos satisfactorias. Esta evaluación será oral ante un tribunal evaluador a designar por el director de la cátedra. La evaluación será en un día común para todos los estudiantes comprendidos en esta situación. Las fechas para estas evaluaciones coincidirán con las fechas correspondientes a las fechas del llamado a examen final del mes de diciembre del ciclo lectivo en curso. Nota N 6: Quien finalice la cursada de la asignatura con solamente 1 (uno) de los exámenes parciales donde le falte 1 (uno) punto en la calificación para acceder a la Aprobación Directa, tendrá el derecho a una instancia de recuperación de dicho examen siguiendo los lineamientos establecidos por el Jefe de Cátedra. Nota N 7: Ejemplo ilustrativo: PARCIAL A PARCIAL B Recup. PARCIAL A Recup. PARCIAL B CONCLUSIÓN >=8 7 N/A CUMPLE CON EVALUACIÓN REQUERIDA POR LA CÁTEDRA >=8 7 N/A NO CUMPLE CON EVALUACIÓN REQUERIDA POR LA CÁTEDRA APROBACIÓN DIRECTA REGULARIZA LA MATERIA Rúbricas Para presentación de trabajos Criterio Excelente Satisfactorio Regular No aceptable Presentación general Profundización del tema Claridad en la exposición Integración al equipo Desempeño individual
Desempeño en el laboratorio Criterio Excelente Satisfactorio Regular No Aceptable Presentación de la practica Aspectos de seguridad Conocimiento de la practica Integración al equipo Desempeño en la practica Desempeño en clase Criterio Excelente Satisfactorio Regular No Aceptable Aspectos formales Participación en clase Compromiso individual Procedimientos y métodos Desempeño grupal
RÚBRICA PARA EVALUAR LA TEORIA DE LOS LENGUAJES INDICADOR De los lenguajes formales De las gramáticas Léxicas y sintácticas De las maquinas abstractas Del proceso de compilación De las implementaciones TRABAJO COLABORATIVO PROPÓSITO: Que el estudiante sea capaz de desarrollar un pensamiento creativo, abstracto y computacional que permita el diseño e implementación formal de lenguajes de programación. EXCELENTE 100-75 Identifica e interpreta todos los aspectos vinculados con los lenguajes formales. Muestra habilidad para la especificación de los elementos léxicos, sintácticos y semánticos de los LP. Puede representar y describir formalmente los lenguajes formales mediante la utilización de la gramática y expresión más adecuada según el proceso de análisis de que se trate. Sabe discernir con precisión la máquina abstracta que permite la solución de problemas particulares. Aplica y resuelve correctamente todos y cada uno de los algoritmos vinculados con las cada uno de los autómatas. Es preciso en la definición formal de cada autómata. Determina con precisión el contexto de la compilación, comprendiendo la totalidad del proceso de compilación, en sus Análisis Léxico, Sintáctico y semántico. Puede diferenciar y comprender otros tipos de Analizadores Sintácticos. Puede aplicar los aspectos teóricos a los casos de estudio que se presentan. La implementación tiene muchos detalles y es clara. El análisis del resultado se confronta con la teoría y la lógica El trabajo es revisado por otros compañeros y fue correctamente defendido. El estudiante da sus comentarios para ayudar a los compañeros. Escucha las sugerencias de otros y trabaja con todos los miembros de su grupo. SATISFACTORIO 60-74 Identifica e interpreta parcialmente los lenguajes formales. Presenta leves ambigüedades en las especificaciones y las definiciones formales. Representa parcialmente, define formalmente con precisión y utiliza correctamente los algoritmos que relaciona gramática con autómata. Si bien muestra habilidad para vincular la gramática formal con los diferentes autómatas o maquinas abstractas no es muy preciso en su diseño y/o presenta dificultades en la aplicación de los algoritmos vinculados y/o la definición formal de cada uno de los autómatas. Si bien manifiesta comprensión de aspectos del contexto y los análisis, presenta dificultades para llevarlo a situaciones reales planteadas en los casos de estudio. La explicación es clara pero poco detallada, estableciendo análisis parcial del resultado Si bien el estudiante trata de dar comentarios para ayudar, tiene dificultades para entender las sugerencias de otros NO ACEPTABLE MENOR A 60 No identifica ni interpreta y/o las ambigüedades son multiples y no puede vincular totalmente los aspectos teóricos con las particularidades de los LP. No puede representar, definir formalmente y/ vincular las gramáticas con los procesos o desarrollar los algoritmos propios de los autómmatas. No vincula adecuadamente el autómata con la gramática y/o no muestra conocimiento para definirlos formalmente y/o desconoce y/o aplica incorrectamente los algoritmos propios de cada máquina abstracta. No alcanza a comprender los aspectos teóricos, se observa confusión en los procesos de análisis con dificultad para definir, interpretar y llevar a la práctica los conceptos particulares del proceso de compilación. La explicación es difícil de entender y no alcanzan a relacionar los datos con la teoría. No presenta rasgos colaborativos.
Plantel Docente Profesores Dr. Mgs. Oscar Ricardo Bruno: Jefe de Cátedra oscarrbruno@yahoo.com Esp. Ing. Jose Maria Sola: Ing. Silvina Ortega: Lic. Ricardo Barca: Mgs. Ing. Gabriela Sanroman: sanroman_gabiela@speedy.com.ar Lic. Hugo Cuello: Ing. Pablo Mendez: Lic. Eduardo Zuñiga: Eduardo.p.zuñiga@gmail.com Ing. Santiago Ferreiros: Ing. Adrian Bender: Auxiliares Srta Elizabeth Sosa.