tecnolÓgico nacional de mÉxico isc/pdf/plan... · ©tecnm mayo 2016 página | 2 tecnolÓgico...

16
©TecNM mayo 2016 Página | 1 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección de Docencia e Innovación Educativa 1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: SATCA 1 : Carrera: Lenguajes y Autómatas II. SCD - 1016 2 - 3 - 5 Ingeniería en Sistemas Computacionales. 2. Presentación Caracterización de la asignatura En ésta asignatura se debe desarrollar el análisis semántico, la generación de código, la optimización y la generación del código objeto para obtener el funcionamiento de un compilador. También se busca proveer al estudiante de herramientas, conocimientos y habilidades necesarias para desarrollar un compilador con base en los conocimientos previos de la asignatura Lenguajes y Autómatas I. La aportación de ésta asignatura es relevante en el ámbito del desarrollo de software de sistemas. Es indispensable distinguir que la carrera de Ingeniería en Sistemas Computacionales se basa, no sólo en el desarrollo de software comercial y administrativo, sino también en el desarrollo de software científico y para el desarrollo tecnológico. Ésta asignatura se ubica en la segunda categoría y es indispensable desarrollar software en estos campos para preparar a los egresados y tengan la posibilidad de cursar posgrados de alto nivel. La asignatura trata de concretar un traductor iniciado en la asignatura previa para que el estudiante comprenda que es capaz, mediante técnicas bien definidas, de crear su propio lenguaje de programación. La aportación de la asignatura al perfil del egresado será específicamente la siguiente: Implementa aplicaciones computacionales para solucionar problemas de diversos contextos, integrando diferentes tecnologías, plataformas o dispositivos. Diseña, desarrolla y aplica modelos computacionales para solucionar problemas, mediante la selección y uso de herramientas matemáticas. Diseña e implementa interfaces para la automatización de sistemas de hardware y desarrollo del software asociado. Intención didáctica La asignatura consta de cuatro bloques estructurados y definidos que abarcan la última etapa de la fase de análisis y síntesis. Al término del semestre se debe obtener un compilador o traductor completo, funcionando de acuerdo a ciertas restricciones y requisitos. La primera unidad se centra totalmente en el analizador semántico, por lo que el analizador sintáctico debió ser concluido en la asignatura de lenguajes y autómatas I, ya que servirá de base en esta unidad. 1 Sistema de Asignación y Transferencia de Créditos Académicos

Upload: others

Post on 29-Dec-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 1  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

1. Datos Generales de la asignatura Nombre de la asignatura:

Clave de la asignatura:

SATCA1:

Carrera:

Lenguajes y Autómatas II. SCD - 1016 2 - 3 - 5 Ingeniería en Sistemas Computacionales.

2. Presentación Caracterización de la asignatura En ésta asignatura se debe desarrollar el análisis semántico, la generación de código, la optimización y la generación del código objeto para obtener el funcionamiento de un compilador. También se busca proveer al estudiante de herramientas, conocimientos y habilidades necesarias para desarrollar un compilador con base en los conocimientos previos de la asignatura Lenguajes y Autómatas I. La aportación de ésta asignatura es relevante en el ámbito del desarrollo de software de sistemas. Es indispensable distinguir que la carrera de Ingeniería en Sistemas Computacionales se basa, no sólo en el desarrollo de software comercial y administrativo, sino también en el desarrollo de software científico y para el desarrollo tecnológico. Ésta asignatura se ubica en la segunda categoría y es indispensable desarrollar software en estos campos para preparar a los egresados y tengan la posibilidad de cursar posgrados de alto nivel. La asignatura trata de concretar un traductor iniciado en la asignatura previa para que el estudiante comprenda que es capaz, mediante técnicas bien definidas, de crear su propio lenguaje de programación. La aportación de la asignatura al perfil del egresado será específicamente la siguiente: Implementa aplicaciones computacionales para solucionar problemas de diversos contextos,

integrando diferentes tecnologías, plataformas o dispositivos. Diseña, desarrolla y aplica modelos computacionales para solucionar problemas, mediante la

selección y uso de herramientas matemáticas. Diseña e implementa interfaces para la automatización de sistemas de hardware y desarrollo del

software asociado. Intención didáctica La asignatura consta de cuatro bloques estructurados y definidos que abarcan la última etapa de la fase de análisis y síntesis. Al término del semestre se debe obtener un compilador o traductor completo, funcionando de acuerdo a ciertas restricciones y requisitos. La primera unidad se centra totalmente en el analizador semántico, por lo que el analizador sintáctico debió ser concluido en la asignatura de lenguajes y autómatas I, ya que servirá de base en esta unidad.

                                                            1 Sistema de Asignación y Transferencia de Créditos Académicos

Page 2: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 2  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

En la segunda unidad se analizan las técnicas para generar código intermedio, para incluirse en su proyecto. La tercera unidad se centra en la optimización del código. Es importante hacer notar que de ésta fase depende la buena y eficiente ejecución del código objeto. En el último bloque se aborda el tema de la generación de código objeto. Como paso final, es importante que el código resultante sea eficiente y pueda correr directamente sobre la computadora en lenguaje ensamblador o basándose en microinstrucciones.

3. Participantes en el diseño y seguimiento curricular del programa

Lugar y fecha de elaboración o revisión

Participantes Evento

Instituto Tecnológico de Saltillo del 5 al 9 de octubre

de 2009.

Representantes de los Institutos Tecnológicos de:

Alvarado, Arandas, Campeche, Celaya, Centla, Cerro Azul, Champotón, Ciudad Acuña, Ciudad Cuauhtémoc, Ciudad Juárez, Ciudad Madero, Ciudad Valles, Coatzacoalcos, Cocula, Colima, Comitán, Durango, El Istmo, Huetamo, La Laguna, La Paz, Lázaro Cárdenas, Lerdo, Libres, Linares, Macuspana, Matamoros, Mérida, Mexicali, Morelia, Nuevo Laredo, Nuevo León, Occidente del Estado de Hidalgo, Ocotlán, Orizaba, Oriente del Estado de Hidalgo, Parral, Piedras Negras, Pinotepa, Saltillo, San Luis Potosí, Sur de Guanajuato, Sur del Estado de Yucatán, Tapachula, Tepexi de Rodríguez, Teziutlán, Tijuana, Toluca, Tuxtepec, Veracruz, Villahermosa, Xalapa, Zacatecas y Zacatepec.

Reunión Nacional de Diseño e Innovación Curricular para el Desarrollo y Formación de Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería en Geociencias.

Page 3: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 3  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

Instituto Tecnológico Superior de Poza Rica del 22

al 26 de febrero de 2010.

Representantes de los Institutos Tecnológicos de:

Alvarado, Arandas, Campeche, Celaya, Centla, Cerro Azul, Champotón, Ciudad Acuña, Ciudad Cuauhtémoc, Ciudad Juárez, Ciudad Madero, Ciudad Valles, Coatzacoalcos, Cocula, Colima, Comitán, Durango, El Istmo, Huetamo, La Laguna, La Paz, Lázaro Cárdenas, Lerdo, Libres, Macuspana, Matamoros, Mérida, Mexicali, Morelia, Nuevo Laredo, Nuevo León, Occidente del Estado de Hidalgo, Orizaba, Oriente del Estado de Hidalgo, Parral, Piedras Negras, Pinotepa, Saltillo, San Luis Potosí, Sur de Guanajuato, Sur del Estado de Yucatán, Tapachula, Tepexi de Rodríguez, Teziutlán, Tijuana, Toluca, Tuxtepec, Veracruz, Villahermosa, Xalapa, Zacatecas y Zacatepec.

Reunión Nacional de Consolidación de los Programas en Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería Petrolera del SNEST.

Instituto Tecnológico de Querétaro del 22 al 25 de

octubre de 2012.

Representantes de los Institutos Tecnológicos de:

Acayucan, Altamira, Cajeme, Campeche, Cananea, Cd. Acuña, Cd. Cuauhtémoc, Cd. Juárez, Cd. Madero, Cd. Valles, Celaya, Centla, Cerro Azul, Chetumal, Chihuahua II, Chilpancingo, Coalcomán, Coatzacoalcos, Cocula, Colima, Comalcalco, Delicias, Durango, Ébano, Escárcega, Huixquilucan, La Paz, León, Lerdo, Los Ríos, Macuspana, Mante, Milpa Alta, Minatitlán, Morelia, Nuevo Laredo, Nuevo León, Oaxaca, Oriente del Estado de México, Oriente del Estado de Hidalgo, Pachuca, Piedras Negras, Progreso, Puerto Vallarta, Purhepecha, Tacámbaro, Tehuacán,

Reunión Nacional de Seguimiento Curricular de los Programas en Competencias Profesionales de las Carreras de Ingeniería en Sistemas Computacionales, Ingeniería Informática e Ingeniería en Tecnologías de la Información y Comunicaciones.

Page 4: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 4  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

Tepexi de Rodríguez, Tepic, Teposcolula, Teziutlán, Tierra Blanca, Tijuana, Tlaxiaco, Toluca, Tuxtepec, Uruapan, Valladolid, Veracruz, Villahermosa, Zacatecas, Zacatecas Norte, Zacatepec, Zapopan, Zitácuaro y Zongólica.

Instituto Tecnológico de Toluca, del 10 al 13 de

febrero de 2014.

Representantes de los Institutos Tecnológicos de:

Cerro Azul, Colima, Lerdo, Toluca y Veracruz.

Reunión de Seguimiento Curricular de los Programas Educativos de Ingenierías, Licenciaturas y Asignaturas Comunes del SNIT.

4. Competencia(s) a desarrollar

Competencia(s) específica(s) de la asignatura Implementa un compilador para un lenguaje específico considerando las etapas del mismo.

5. Competencias previas Define, diseña y programa las fases del analizador léxico y sintáctico de un traductor o compilador para preámbulo de la construcción de un compilador.

6. Temario

No. Temas Subtemas

1 Análisis semántico. 1.1 Árboles de expresiones. 1.2 Acciones semánticas de un analizador sintáctico. 1.3 Comprobaciones de tipos en expresiones. 1.4 Pila semántica en un analizador sintáctico. 1.5 Esquema de traducción. 1.6 Generación de la tabla de símbolo y tabla

de direcciones. 1.7 Manejo de errores semánticos.

2 Generación de código intermedio.

2.1 Notaciones. 2.1.1 Prefija.

Page 5: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 5  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

2.1.2 Infija. 2.2.3 Postfija.

2.2 Representaciones de código.Intermedio. 2.2.1 Notación Polaca. 2.2.2 Código P. 2.2.3 Triplos. 2.2.4 Cuádruplos.

2.3 Esquema de generación. 2.3.1 Variables y constantes. 2.3.2 Expresiones. 2.3.3 Instrucción de asignación. 2.3.4 Instrucciones de control. 2.3.5 Funciones. 2.3.6 Estructuras.

3 Optimización. 3.1 Tipos de optimización. 3.1.1 Locales. 3.1.2 Ciclos. 3.1.3 Globales. 3.1.4 De mirilla.

3.2 Costos. 3.2.1 Costo de ejecución. (memoria,

registros, pilas). 3.2.2 Criterios para mejorar el código. 3.2.3 Herramientas para el análisis del flujo

de datos. Generación de código objeto.

4.1 Registros. 4.2 Lenguaje ensamblador. 4.3 Lenguaje máquina. 4.4 Administración de memoria.

Page 6: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 6  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

7. Actividades de aprendizaje de los temas

1. Análisis semántico.

Competencias Actividades de aprendizaje

Específica(s):

Diseña mediante el uso de reglas semánticas dirigidas por sintaxis, un analizador semántico para un compilador.

Genéricas:

Capacidad de análisis y síntesis.

Capacidad de organizar y planificar.

Habilidad para buscar y analizar información proveniente de fuentes diversas.

Solución de problemas.

Toma de decisiones.

Trabajo en equipo.

Capacidad de aplicar los conocimientos.

Habilidades de investigación.

Capacidad de generar nuevas ideas.

Liderazgo.

Habilidad para trabajar en forma. Autónoma.

Búsqueda del logro.

Detectar errores semánticos. Diseñar y seleccionar información sobre la

construcción de un analizador semántico. Reconocer el manejo de tipos en las

expresiones y el uso de operadores. Establecer las reglas para la conversión de

tipos (casting) en expresiones. Agregar acciones semánticas a la estructura

de la gramática. Manipular la tabla de conversión de símbolos

y de errores y direcciones. Integrar equipos de trabajo para la

construcción de un analizador semántico.

2. Generación de código intermedio.

Competencias Actividades de aprendizaje

Específica(s):

Diseña las reglas para traducir el código fuente a un código intermedio.

Genéricas:

Capacidad de análisis y síntesis.

Capacidad de organizar y planificar.

Habilidad para buscar y analizar información proveniente de fuentes diversas.

Aplicar los tipos de notación para la conversión de expresiones: Infija, prefija y posfija.

Representar expresiones mediante el código intermedio.

Reconocer el manejo de tipos en las expresiones y el uso de operadores.

Desarrollar las acciones que representen la estructura de un lenguaje de programación de alto nivel en un código intermedio.

Page 7: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 7  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

Solución de problemas.

Toma de decisiones.

Trabajo en equipo.

Capacidad de aplicar los conocimientos.

Habilidades de investigación.

Capacidad de generar nuevas ideas.

Liderazgo.

Habilidad para trabajar en forma. Autónoma.

Búsqueda del logro.

Aplicar las acciones construidas a la gramática del lenguaje prototipo.

Integrar equipos de trabajo para la generación de un código intermedio.

3. Optimización.

Competencias Actividades de aprendizaje

Específica(s):

Conoce e identifica los diferentes tipos de optimización que permita eficientar el código intermedio.

Genéricas:

Capacidad de análisis y síntesis.

Capacidad de organizar y planificar.

Habilidad para buscar y analizar información proveniente de fuentes diversas.

Solución de problemas.

Toma de decisiones.

Trabajo en equipo.

Capacidad de aplicar los conocimientos.

Habilidades de investigación.

Capacidad de generar nuevas ideas.

Liderazgo.

Habilidad para trabajar en forma. Autónoma.

Búsqueda del logro.

Aplicar las técnicas para la optimización del código intermedio generado.

Tener nociones algebraicas para estimar el número de veces que se realiza una instrucción dentro de un ciclo o ciclos anidadas.

Conocer que recursos se consumen en invocación a funciones y expresiones simples.

Estudiar nuevas técnicas para la optimización de código, sobre todo para aquellos lenguajes que requieren de una máquina virtual para su ejecución sobre multiplataformas.

Escribir un ensayo que establezca las tendencias y técnicas empleadas para este propósito.

Conocer los criterios de tiempo de ejecución o extensión de código generado.

Integrar equipos, para analizar códigos intermedios existentes y proponer algunas mejoras.

4. Generación de código objeto.

Competencias Actividades de aprendizaje

Page 8: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 8  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

Específica(s):

Utiliza un lenguaje de bajo nivel para traducir el código construido a lenguaje máquina para su ejecución.

Genéricas:

Capacidad de análisis y síntesis.

Capacidad de organizar y planificar.

Habilidad para buscar y analizar información proveniente de fuentes diversas.

Solución de problemas.

Toma de decisiones.

Trabajo en equipo.

Capacidad de aplicar los conocimientos.

Habilidades de investigación.

Capacidad de generar nuevas ideas.

Liderazgo.

Habilidad para trabajar en forma. Autónoma.

Búsqueda del logro.

Conocer la arquitectura de los microprocesadores intel y compatibles.

Conocer la estructura y funcionamiento del lenguaje ensamblador.

Conocer las características principales del lenguaje maquina a fin de llevar un código intermedio y este pueda ser reconocido por el hardware.

Conocer las técnicas de administración de memoria para el almacenamiento de un programa en momento de ejecución.

Experimentar con simuladores de arquitectura de microprocesadores.

Page 9: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 9  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

8. Práctica(s) Diseñar y construir el generador de código semántico para el lenguaje del caso de estudio. Realizar arboles de expresiones en casos de estudio. Realizar conversiones de tipos en expresiones. Construir la tabla de símbolos y de direcciones para la gramática propuesta. Detectar errores de semántica en expresiones dadas. Modificar la GLC agregando las acciones semánticas correspondientes. Convertir expresiones mediante el uso de notaciones prefijas, infijas y postfijas. Definir e implementar la notación que más se ajuste a las estructuras de evaluación de expresiones

de lenguaje. Proponer una estructura de código intermedio en base a las características propias de cada lenguaje. Desarrollar esquemas de generación de código intermedio. Definir y construir el generador de código intermedio para su caso de estudio. Agregar acciones de representación intermedia al lenguaje de programación propuesto. Saber cuántos recursos y cuánto tiempo consume cada instrucción de código intermedio. Evaluar el código intermedio generado para los programas escritos en el lenguaje de su caso de

estudio y si aplica realizar la optimización correspondiente. Poder establecer una equivalencia entre las instrucciones del lenguaje intermedio y las

instrucciones en ensamblador. Diseñar y construir el generador de código máquina u objeto para el lenguaje del caso de estudio.

9. Proyecto de asignatura El objetivo del proyecto que planteé el docente que imparta esta asignatura, es demostrar el desarrollo y alcance de la(s) competencia(s) de la asignatura, considerando las siguientes fases: Fundamentación: marco referencial (teórico, conceptual, contextual, legal) en el cual se

fundamenta el proyecto de acuerdo con un diagnóstico realizado, mismo que permite a los estudiantes lograr la comprensión de la realidad o situación objeto de estudio para definir un proceso de intervención o hacer el diseño de un modelo.

Planeación: con base en el diagnóstico en esta fase se realiza el diseño del proyecto por parte de los estudiantes con asesoría del docente; implica planificar un proceso: de intervención empresarial, social o comunitario, el diseño de un modelo, entre otros, según el tipo de proyecto, las actividades a realizar los recursos requeridos y el cronograma de trabajo.

Ejecución: consiste en el desarrollo de la planeación del proyecto realizada por parte de los estudiantes con asesoría del docente, es decir en la intervención (social, empresarial), o construcción del modelo propuesto según el tipo de proyecto, es la fase de mayor duración que implica el desempeño de las competencias genéricas y especificas a desarrollar.

Evaluación: es la fase final que aplica un juicio de valor en el contexto laboral-profesión, social e investigativo, ésta se debe realizar a través del reconocimiento de logros y aspectos a mejorar se estará promoviendo el concepto de “evaluación para la mejora continua”, la metacognición, el desarrollo del pensamiento crítico y reflexivo en los estudiantes.

Page 10: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 10  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

10. Evaluación por competencias Para evaluar las actividades de aprendizaje se recomienda solicitar: mapas conceptuales, reportes de prácticas, estudios de casos, exposiciones en clase, ensayos, problemarios, reportes de visitas, portafolio de evidencias y cuestionarios, cuadro sinóptico. Para verificar el nivel del logro de las competencias del estudiante se recomienda utilizar: listas de cotejo, listas de verificación, matrices de valoración, guías de observación, coevaluación y autoevaluación.

11. Fuentes de información Impresas:

1. Aho Alfred V., U. J. (2007). Compiladores. Principios, técnicas y herramientas (2da. ed.). México: Pearson Educación.

2. Alfonseca Moreno, M. (2006). Compiladores e intérpretes: teoría y práctica (1ra ed.). España: Pearson/Prentice Hall.

3. Carrión Viramontes, J. E. (2008). Teoría de la computación. México: Limusa. 4. Hopcroft John E., M. R. (2002). Introducción a la Teoría de Autómatas, Lenguajes y

Computación (2da. ed.). Madrid: Addison-Wesley. 5. Isasi Pedro, M. P. (1997). Lenguajes, gramáticas y autómatas. Un enfoque Práctico. Addison-

Wesley. 6. Kelley, D. (1995). Teoría de Autómatas y Lenguajes Formales, (1ra. ed.). Madrid: Prentice Hall. 7. Lemone, K. A. (1996). Fundamentos de compiladores: cómo traducir al lenguaje de

computadora. México D.F.: Compañía Editorial Continental. 8. Martin, J. (2004). Lenguajes formales y teoría de la computación. México: McGraw-Hill /

Interamericana de México. 9. Ruíz, J. (2009). Compiladores-Teoría e implementación. México: Alfaomega. 10. Grune, Dick. (2007). Diseño de compiladores modernos. McGraw-Hill. Electrónicas: 11. Sacristán Donoso, Juan Marcos. Desarrollo de compiladores. Obtenido de

http://megazar.tripod.com/compil.pdf 12. COFETEL (Comisión Federal de Telecomunicaciones). (2014). Industria. Obtenido de

http://www.cft.gob.mx:8080/portal/industria-2/industria-intermedia-nv/ 13. Corning Incorporated. (2014). Corning Telecommunications. Obtenido de

http://www.corning.com/products_services/telecommunications/index.aspx

Page 11: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

 

©TecNM mayo 2016 Página | 11  

TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación

Dirección de Docencia e Innovación Educativa 

14. Corning Incorporated. (2014). CorningIncorporated. Obtenido de http://www.youtube.com/user/CorningIncorporated

15. IEEE. (2014). IEEE Standards Association. Obtenido de http://www.youtube.com/user/IEEESA 16. IEEE. (2014). Technology Standards & Resources. Obtenido de

http://standards.ieee.org/findstds/index.html 17. Panduit Corp. (2014). Panduit videos. Obtenido de http://www.youtube.com/user/PanduitVideos 18. Panduit Corp. (2014). Panduit. Obtenido de

http://www.panduit.com/wcs/Satellite?pagename=PG_Wrapper&friendlyurl=/es/home 19. TED. (2014). TED Topics Internet. Obtenido de http://www.ted.cnom/topics/Internet 20. The Siemon Company. (2014). Siemon Company Videos. Obtenido de

http://www.youtube.com/user/SiemonNetworkCabling 21. The Siemon Company. (2014). Siemon Network Cabling Solutions. Obtenido de

http://www.siemon.com/la/ http://megazar.tripod.com/compil.pdf http://www.youtube.com/watch?v=YyAhap8HJmc http://www.youtube.com/watch?v=tV-lgtT2IjY

Page 12: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

ANEXO ITESI

ELEMENTOS DESCRIPTIVOS DE LA ASIGNATURA

<LENGUAJES AUTÓMATAS II> Ingeniería en Sistemas Computacionales

Materia(s) Prerrequisito(s) la(s) cual(es) preferentemente se deben desarrollar las

Competencias Previas

Lenguajes Autómatas II

Recursos Necesarios

Laboratorio con Computadoras

Cañón

Laboratorio con pantalla

Software especializado (C#, C++,Java)

Horas de utilización de infraestructura de Cómputo

Para las Actividades de aprendizaje de los temas Tiempo estimado

Realizar un programa en el que utilice el analizador sintáctico y genere su tabla de símbolos

8 horas

Realizar un programa en el que aplique las notaciones prefija, infija, posfija, tripos y cuadruplos

8 horas

Realizar un programa en el que se tengan instrucciones de asignación, control, funciones y estructuras

8 horas

Realizar un programa en el que utilice algún tipo de optimización 8 horas

Realizar un programa en el que utilice lenguaje ensamblador para ver la utilidad de registros y como se administra la memoria

8 horas

Para las prácticas Tiempo estimado

Diseñar y construir el generador de código semántico para el lenguaje del caso de estudio.

3

Realizar arboles de expresiones en casos de estudio. 2

Realizar conversiones de tipos en expresiones. 2

Construir la tabla de símbolos y de direcciones para la gramática propuesta 2

Detectar errores de semántica en expresiones dadas. 2

Modificar la GLC agregando las acciones semánticas correspondientes 3

Convertir expresiones mediante el uso de notaciones prefijas, infijas y postfijas. 2

Definir e implementar la notación que más se ajuste a las estructuras de evaluación de expresiones de lenguaje 3

Page 13: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

Proponer una estructura de código intermedio en base a las características propias de cada lenguaje 3

Desarrollar esquemas de generación de código intermedio 3

Definir y construir el generador de código intermedio para su caso de estudio. 2

Agregar acciones de representación intermedia al lenguaje de programación propuesto 2

Saber cuántos recursos y cuánto tiempo consume cada instrucción de código intermedio 2

Evaluar el código intermedio generado para los programas escritos en el lenguaje de su caso de estudio y si aplica realizar la optimización correspondiente 3

Poder establecer una equivalencia entre las instrucciones del lenguaje intermedio y las instrucciones en ensamblador 3

Diseñar y construir el generador de código máquina u objeto para el lenguaje del caso de estudio 3

Page 14: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

Excelente:100 Muy bueno: 80 Bueno:60 Regular:40 No cumple:20

# Criterios Excelente Muy bueno Bueno Regular No cumple

Puntaje

obtenido

1

Elementos a

comparar

Se presentan todos

los elementos que

deber ser

comparados

Se presentan la

mayoria de los

elementos que

deben ser

comparados

Se presentan los

elementos

necesarios para

ejecutar la

comparción

Se presentan el

mínimo de los

elementos

necesarios para

realizar la

No se

presentan los

elementos

que deben

considerarse

2

Identifica

diferencias

Identifica de

manera clara y

concisa todas las

diferencias

representativas

existentes

Muestra de

manera clara la

mayoría de las

diferencias

representativas

a señalar

Identifica algunas

diferencias entre

los elementos

Se presentan

diferencias

mínimas entre

los elementos a

comparar

No se muestra

diferencia

alguna entre

los elementos

3

Presentación

esquemática

Los elementos

muestran de

manera organizada

y clara,

permitiendo así,

realizar una

comparación de

manera inmediata

Los elementos

se muestran de

manera

organizada pero

con falta de

claridad

La mayoría de los

elementos se

encuentran

representados pero

existe confusión

entre los mismos,

de tal manera que

impide realizar

comparación alguna

Se presentan los

elementos a

comparar, pero

sin mostrar las

diferencias

existentes entre

los mismos

No se

muestran

elementos

suficientes y

carecen de

características

par poder

llevar a cabo

dicha

comparación

4 Referencias

Menciona 5

referencias y las

presenta en

formato APA

Menciona 3

referencias y las

presenta en

formato APA

Menciona 3

referencias sin

presentarlas en

formato APA

Menciona una

referencia y la

presenta en

formato APA

Menciona una

referencia sin

presentarla

en formato

APA

Rúbricas para evaluar tabla comparativa

Puntaje final promedio obtenido:

Page 15: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

No realizado: 0

Criterio Definición Lista de cotejo

1. Presenta una investigación previa a

situaciones similares

2. Presenta de forma clara el análisis de la

situación específicada, aclará términos y

define conceptos

Definición del problema

3. Detecta qué se está planteando, cualés

son los retos a enfrentar

4. De forma indivudual, elabora una lista de

la información sobre lo existente al tema

5. De forma colectiva, clasifican la

información de lo que se conoce

6.De forma individual, enlista todo aquello

que no se conoce.

7. De forma colectiva, clasifica la

información de lo que no se conoce

Formulación de los

objetivos de

aprendizaje

8. De forma colectiva, fijar los objetivos que

servirián para el desarrollo del proyecto

Investigación

/Elaboración del

producto

9. De forma colectiva, revisar el producto y

realizar una lista de tareas a realizar,

haciendo uso de lenguaje de programación

Presentación y

discusión de

resultados

10. Participa en la exposición del producto

con los argumentos para la solución

presentada

Rúbricas para evaluar ejercicios, prácticas, reportes

Ralizado:1

Investigación y

presentación del

escenario de una

situación o

problema real

Realizar una lista

del Estado del arte

de lo que se

conoce

Puntaje obtenido:

Hacer una lista de

lo que se

desconoce para la

solución del

problema

Page 16: TECNOLÓGICO NACIONAL DE MÉXICO ISC/pdf/plan... · ©TecNM mayo 2016 Página | 2 TECNOLÓGICO NACIONAL DE MÉXICO Secretaría Académica, de Investigación e Innovación Dirección

Perfil Deseable del Profesor

Ingeniero en Sistemas Computacionales Con experiencia en solución de problemas y en programación

Fuentes de Información Locales

Theory of computation, Wayne Goddard, Jones and Bartlett publishers, ISBN:13:978-0-7637-4125-9

Teoría de la computación, lenguajes formales, autómatas y complejidad, J. Glenn Brookshear, Addison-wesley iberoamericana, ISBN: 0-201-60119-2

Teoría de autómatas, lenguajes y computación, Rajcev Motwan, Jeffrey D. Ullman, Addison-wesley iberoamericana, ISBN: 978-84-7829-088-8

Matemáticas discretas, Prentice Hall, Johnsonbough Matemáticas discretas, Richard Johnson Matemáticas para la computación, José Alfredo Jiménez Murillo, Alfaomega, ISBN: 978-

607-707-719-0 Lenguajes, gramáticas y autómatas, Rafael Cases Muñoz/ Lluis Márquez Uillodre,

alfaomega, ISBN: 970-15-0775-4 Compiladores, principios, técnicas y herramientas, Addison Wesley, Alfred v. aho/rau

Sethi Discrete Structures and Automata Theory, Rakesh Dubel Adesh Pandey/Rito Gupta,

Alpha Science, ISBN: 978-1-84265-256-5