©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
©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.
©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.
©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.
©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.
©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.
©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
©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.
©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.
©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
©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
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
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
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:
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
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