Créditos ECTS Créditos ECTS: 4.5
Horas ECTS Criterios/Memorias Traballo do Alumno/a ECTS: 74.2 Horas de Titorías: 2.25 Clase Expositiva: 18 Clase Interactiva: 18 Total: 112.45
Linguas de uso Castelán, Galego
Tipo: Materia Ordinaria Grao RD 1393/2007 - 822/2021
Departamentos: Electrónica e Computación
Áreas: Arquitectura e Tecnoloxía de Computadores, Ciencia da Computación e Intelixencia Artificial
Centro Escola Técnica Superior de Enxeñaría
Convocatoria: Primeiro semestre
Docencia: Sen docencia (Extinguida)
Matrícula: Non matriculable
O obxectivo desta materia é introducir os conceptos, etapas e elementos fundamentais da compilación das linguaxes imperativas. Estes coñecementos han de servir para: 1) Mellorar a comprensión dos compiladores (eficiencia, límites da linguaxe, etc.) e das linguaxes de programación. 2) Realizar unha implementación práctica de analizadores sinxelos e eficientes.
Contidos teóricos
1. Introducción á compilación.
2. Análise léxica.
3. Análise sintáctica.
4. Análise semántica.
5. Xeración e optimización de código.
Contidos prácticos
Se deseñarán e implementarán aplicacións de análise e xeración de código nas distintas fases da compilación abordadas na teoría.
BIBLIOGRAFÍA BÁSICA
A.V. Aho, R. Sethi, J.D. Ullman. Compiladores. Principios, técnicas y herramientas. 1ª Edición. Addison Wesley Longman, 1990. ISBN: 9684443331
BIBLIOGRAFÍA COMPLEMENTARIA
A.V. Aho, M.S. Lam, R. Sethi, J.D. Ullman. Compiladores. Principios, técnicas y herramientas. 2ª Edición. Pearson Educación, 2008. ISBN: 8588639246
D. Grune, H. E. Bal, C.J.H. Jacobs, K.Langendoen. Diseño de Compiladores Modernos. McGraw-Hill/Interamericana de España, S.A.U, 2007. ISBN: 8448156560
J. Levine. lex & yacc. O’Reilly, 1992. ASIN: B009THDEBC
M. Alfonseca, M. de la Cruz, A. Ortega, E. Pulido. Compiladores e Intérpretes: teoría y práctica. Pearson Educación, 2006. ISBN: 8483226928
D. Galles. Modern Compiler Design. Scott/Jones Inc. 2005. ASIN: B01JXQI90O
K.D. Cooper, L. Torczon. Engineering a compiler. Morgan Kaufmann, 2004. ISBN: 012088478X
J.E. Hopcroft, R. Motwani, J.D. Ullman. Introdución a la teoría de autómatas, lenguajes y educación. Pearson Educación, 2007. ISBN: 8478290885
Con carácter xeral contribuír a acadar as competencias recollidas na memoria do título de Grao en Enxeñaría Informática da USC (CG1, CG4, CG5, CG6, CG8, CG9, TR1, TR2, TR3, FB3, FB4, FB5, RI1, RI5, RI6, RI7, RI9, RI10, TI2). En particular, coñecer as técnicas de implementación de traductores de linguaxes de programación.
Con carácter específico, a materia debe permitir acadar as seguintes competencias:
1. Capacidade para deseñar e implementar un analizador léxico e sintáctico.
2. Capacidade para deseñar e implementar a solución máis axeitada dun problema de tradución.
3. Capacidade para usar ferramentas xeradoras de analizadores léxicos e sintácticos en diferentes linguaxes de programación.
4. Capacidade para entender os principales problemas da xeración de código máquina e a sua influencia no rendemento.
Clases expositivas: os contidos teóricos da materia explicaranse en aulas nas que se fará uso da pizarra e de materiais audiovisuais, e se apoiarán na realización de exercicios e na análise de casos prácticos. Asemade realizarase un traballo orientado a desenvolver as competencias CG4, CG8, CG9 (mediante unha discusión crítica arredor dos problemas propostos que xustifique o desenvolvemento da ciencia e a tecnoloxía, e xustifique a toma de decisións); TR1 e TR2 (na capacidade de análise e síntese e na toma de decisións a partires dos problemas propostos, e no razoamento crítico e compromiso ético); FB3, FB4, FB5 (no tipo de contidos que recolle o programa da materia); e as competencias RI1, RI5, RI6, RI9, RI10, TI2 (como capacidades atribuíbles a unha materia que desenvolve os tópicos de "Compiladores e Intérpretes").
Clases interactivas: durante as clases expositivas se exporá un conxunto de problemas cuxa resolución realizarase no laboratorio de informática, coa axuda dunha computadora. Realizarase neste contexto un traballo orientado a desenvolver as competencias CG1 (en tanto que os traballos a desenvolver se propoñen como proxectos que involucran ás fases de análise, deseño, planificación, documentación e implementación); CG5 e CG6 (en tanto que involucramos decisións de enxeñaría do software e integración de tecnoloxías); CG8, CG9 e TR3 (en particular no que atinxe ao estímulo á iniciativa, creatividade, e toma de decisións autónoma); RI7 (na utilización daquelas estruturas de datos e algoritmos máis axeitadas para os problemas propostos), e as outras competencias RI e TI que resultan de trasladar á práctica os conceptos discutidos nas clases expositivas.
No apartado Observacións inclúese un “Plan de Continxencia” coas adaptacións correspondentes previstas para os escenarios onde se impoñan medidas de distanciamento ou se produza o peche das instalacións como consecuencia de unha posible crise sanitaria.
OPORTUNIDADE ORDINARIA
A avaliación da materia realizarase mediante un exame escrito, xunto coa entrega de exercicios resoltos, propostos ao longo do curso, esta parte suporá o 50% da nota final. A avaliación comprende ás competencias CG8, CG9, TR1, TR2, FB3, FB4, FB5, RI6, RI9, RI10.
Será un requisito imprescindible para a superación da materia tanto a asistencia como a avaliación positiva de todas as prácticas propostas, que suporán o 50% da nota final. Esta avaliación será realizada de xeito contínuo no laboratorio. O control da asistencia ás actividades de prácticas se realizará mediante control de sinaturas. De non superar as prácticas o alumno deberá presentarse a un exame práctico. A avaliación comprende ás competencias CG1, CG4, CG8, CG9, TR1, TR2, TR3, FB3, FB4, FB5, RI1, RI5, RI6, RI7, RI9, RI10, TI2.
A condición de "NON PRESENTADO" na avaliación da materia se define pola ausencia do alumno no exame escrito.
OPORTUNIDADE DE RECUPERACIÓN
A avaliación da materia realizarase mediante un exame escrito (50% da nota final) e a avaliación positiva das prácticas realizadas na oportunidade ordinaria (50% da nota final). É obrigatorio ter superada a avaliación das prácticas propostas durante o cuadrimestre no que están programadas. A condición de "NON PRESENTADO" na avaliación da materia se define pola ausencia no exame escrito.
AVALIACIÓN DOS REPETIDORES
Será a mesma que a dos non repetidores salvo que se poderán manter as calificacións da parte práctica.
Para os casos de realización fraudulenta de exercicios ou probas será de aplicación o recollido na normativa de avaliación do rendemento académico dos estudantes e de revisión de cualificacións.
No apartado Observacións inclúese un “Plan de Continxencia” coas adaptacións correspondentes previstas para os escenarios onde se impoñan medidas de distanciamento ou se produza o peche das instalacións como consecuencia de unha posible crise sanitaria.
- Estudo autónomo: 28 horas
- Escritura de exercicios, conclusións u outros traballos: 10 horas
- Programación e outros traballos en ordenador: 25 horas
- Preparación de traballos, proxectos, exámenes: 7.5 horas
Recoméndase levar o estudo teórico e a realización de prácticas e problemas ao día. Igualmente, consideramos importante facer un bo aproveitamento das titorías para a resolución máis inmediata das dúbidas.
A lingua de impartición desta materia é o castelán. Para cursar esta materia aconséllase ter superadas as de Programación I, Programación II, Fundamentos de Computadores, Arquitectura de Computadores e Teoría de Autómatas e Linguaxes Formais.
PLAN DE CONTINXENCIA ANTE UNHA POSIBLE CRISE SANITARIA:
* ESCENARIO 2: distanciamento.
- A docencia expositiva será non presencial e os seminarios e prácticas principalmente presenciais. Con todo, as medidas de distanciamento impostas poderán supoñer que sexa necesario reducir o tamaño dos grupos de prácticas e con iso o número de horas presenciais que haberán de complementarse con actividades non presenciais, mediante o uso do MS Teams.
- As titorías serán preferentemente virtuais.
- As probas finais serán preferentemente de carácter telemático.
* ESCENARIO 3: peche das instalacións.
- A docencia será completamente de carácter virtual, con mecanismos maseados no uso de MS Teams e o Campus Virtual.
- As titorías serán exclusivamente virtuais.
- As probas finais serán exclusivamente de carácter telemático.
Paulo Manuel Felix Lamas
Coordinador/a- Departamento
- Electrónica e Computación
- Área
- Ciencia da Computación e Intelixencia Artificial
- Teléfono
- 881816422
- Correo electrónico
- paulo.felix [at] usc.es
- Categoría
- Profesor/a: Titular de Universidade
Francisco Fernández Rivera
- Departamento
- Electrónica e Computación
- Área
- Arquitectura e Tecnoloxía de Computadores
- Teléfono
- 881816470
- Correo electrónico
- ff.rivera [at] usc.es
- Categoría
- Profesor/a: Catedrático/a de Universidade
Luns | |||
---|---|---|---|
17:00-18:00 | Grupo /CLE_01 | Castelán | Aula A4 |
Martes | |||
17:00-18:00 | Grupo /CLE_01 | Castelán | Aula A4 |
Mércores | |||
12:00-14:00 | Grupo /CLIL_02 | Castelán | Aula de Informática I4 |
Xoves | |||
10:00-12:00 | Grupo /CLIL_03 | Castelán | Aula de Informática I4 |
Venres | |||
16:00-18:00 | Grupo /CLIL_01 | Castelán | Aula de Informática I7 |
25.01.2021 16:00-20:45 | Grupo /CLE_01 | Aula A1 |
25.01.2021 16:00-20:45 | Grupo /CLIL_01 | Aula A1 |
25.01.2021 16:00-20:45 | Grupo /CLIL_02 | Aula A1 |
25.01.2021 16:00-20:45 | Grupo /CLIL_03 | Aula A1 |
25.01.2021 16:00-20:45 | Grupo /CLE_01 | Aula A2 |
25.01.2021 16:00-20:45 | Grupo /CLIL_01 | Aula A2 |
25.01.2021 16:00-20:45 | Grupo /CLIL_02 | Aula A2 |
25.01.2021 16:00-20:45 | Grupo /CLIL_03 | Aula A2 |
23.06.2021 09:15-14:00 | Grupo /CLE_01 | Aula A2 |
23.06.2021 09:15-14:00 | Grupo /CLIL_01 | Aula A2 |
23.06.2021 09:15-14:00 | Grupo /CLIL_02 | Aula A2 |
23.06.2021 09:15-14:00 | Grupo /CLIL_03 | Aula A2 |