Subido por Esdras Asael Orellana Cabrera

3. Lenguajes Formales y Automatas

Anuncio
Comentado [MLAS1]:
FACULTAD DE CIENCIAS APLICADAS
Programa del Curso
Lenguajes Formales y Autómatas
I Parte Informativa
Carrera: ____________Ingeniería de Sistemas y Tecnologías de la Información y la Comunicación _____________________
Nombre del Curso:
Pre-requisito:
Plan:
Lenguajes Formales y Autómatas
Código: AP-E3056
AP-E3004
Código: AP-E3053
Matemática de Computo I – Programación II
Semestral _X__
Trimestral ______
Jornada: Vespertina________
Horario: ______________
Nombre del Docente: _________________Ing. Erik Santizo_______________________________________________________
Sede Académica :_________________________Campus Central Zona 16___________________________________________
Fecha de recepción
Día:
Mes:
Año:
Sello Registro y
Control Académico
Firma del Docente
Vo. Bo. Coordinador
Comentado [MLAS2]: Ape3058 Código de este curso
II. DESCRIPCIÓN DEL CURSO
Este curso es un contacto importante con las nociones y conceptos del proceso computacional o proceso algorítmico. Forma
las bases para los cursos de complejidad y compiladores. Incluye el estudio de técnicas de reconocimiento de patrones, procesos
básicos computacionales, análisis léxico y sintáctico.
III. COMPETENCIAS A DESARROLLAR
GENERALES:
• Emplea criterios adecuados para la solución de problemas y diseña soluciones efectivas y creativas basadas en Ciencias
de la Computación y Tecnologías de la Información CCTI.
• Procura alcanzar la excelencia en el ejercicio de la práctica en Ciencias de la Computación y Tecnologías de la
Información CCTI.
• Ejerce su profesión relacionando temas sociales, culturales, profesionales, legales y éticos con el uso de la tecnología
computacional.
• Demuestra un pensamiento crítico e independiente en la solución de problemas de Ciencias de la Computación y
Tecnologías de la Información CCTI.
ESPECÍFICAS
1. El estudiante comprenderá el análisis léxico, como método de solución en problemas de reconocimiento de patrones.
2. El estudiante aplicara conocimientos con una idea básica de procesos computacionales.
IV. DESARROLLO DEL CURSO
Unidad de Competencia 1: Comprender el análisis léxico, como método de solución de problemas de reconocimiento de patrones.
Contenidos
•
•
Tema: 1 Lenguaje.
• Definición de lenguaje, orientada a la formalidad, operaciones
con lenguajes.
• Conceptos básicos orientados a la teoría de compiladores.
• Terminología asociada a la definición conceptual de lenguaje.
• Esquema y simbología de definición de lenguaje.
Tema 2: Lenguajes formales
•
•
•
•
•
•
•
•
Conceptos básicos.
Operadores básicos * y +.
Primera definición de lenguaje. Lenguaje formal. Lenguaje
regular.
Expresiones regulares.
Precedencia en las expresiones regulares.
Álgebra de expresiones regulares.
Diseño de expresiones regulares.
Tema 3: Autómatas finitos
•
•
•
•
•
•
•
•
•
Conceptos básicos.
Definición formal de autómata finito.
Análisis de la entrada a través de un autómata finito.
Lenguaje aceptado por un autómata finito.
Ejemplos de autómatas orientados a diseñar la etapa de léxico
de un lenguaje de
programación.
Tipos de autómatas.
Autómata finito determinista.
Autómata finito no determinista.
Actividades metodológicas
•
•
•
•
Enseñanza Formal,
Descubrimiento guiado,
Resolución de problemas.
Asignación de tares.
Recursos didácticos
•
Computadora,
Proyector.
•
Procedimientos de
Evaluación
Pruebas de conocimiento.
•
•
Análisis de la entrada a través de un autómata finito no
determinista.
• Autómata con transiciones-E
• Análisis de la entrada a través de un autómata finito con
transiciones-E.
• Autómata no determinista y con transiciones-E.
• Conversión de autómata finito no determinista a autómata
finito determinista.
• Conversión de expresión regular a autómata finito no
determinista y determinista.
Tema 4: Gramáticas.
•
•
•
•
•
•
•
•
Conceptos básicos.
Definición formal.
Convenciones de notación.
Notación simplificada.
Lenguaje generado por una gramática.
Diseño de gramáticas. Técnicas para el diseño de gramáticas.
Modularidad de las gramáticas. Límites de las gramáticas.
Diseño arbitrario de gramáticas.
Gramática regular implementada en un autómata finito no
determinista.
Unidad de Competencia 2: Aplicar conocimientos con una idea básica de procesos computacionales.
Contenidos
•
Tema 5: Autómatas de Pila.
•
•
•
•
•
Definición formal.
Jerarquía de lenguajes.
Reconocimiento de una cadena en un autómata de pila.
Seguimiento en formato de corrida de escritorio.
Gramáticas independientes del contexto, implementadas en
autómatas de pila.
•
Tema 6: Máquina de Turing.
•
• Conceptos básicos.
• Máquina de Turing como realizadora de cálculos.
• Reconocimiento de una cadena de entrada.
• Máquina de Turing como reconocedora de lenguajes.
• Diseño de la máquina de Turing.
• Técnicas para la construcción de las máquinas de Turing.
Tema 7: Expresiones, primer acercamiento.
•
•
•
•
•
•
•
Consideraciones para generar expresiones en lenguajes de
programación.
Términos dentro de una expresión.
Prioridad o precedencia.
Generación de notaciones a través de árboles binarios.
Recorrido del árbol.
Importancia de la notación posfija.
Aplicación de los algoritmos de conversión y evaluación en
un programa.
Actividades metodológicas
Recursos metodológicos
•
•
•
•
•
Enseñanza Formal,
Descubrimiento guiado,
Resolución de problemas.
Asignación de tares.
Computadora,
Proyector.
•
Procedimientos de
Evaluación
Pruebas de conocimiento.
V. CRITERIOS DE EVALUACIÓN DEL CURSO
Actividades de zona
1. Realización de exámenes cortos. (5 exámenes cortos)
Puntaje
10 pts.
2. Realización de proyectos.
(entrega el 15 de Noviembre de 2016)
20 pts.
3. Realización de tareas
(10 tareas)
10 pts.
4. Exposición en clase
(5 veces)
10 pts.
5. Examen Parcial.
Total
25 pts.
75 pts.
TOTAL ZONA
EVALUACION FINAL
NOTA FINAL
75 pts.
25 pts.
100 pts.
** Se requiere de zona mínima de 41 puntos y asistencias del 80% para tener derecho a examen final.
VI. REFERENCIAS O FUENTES BIBLIOGRÁFICAS
•
Autómatas y Lenguajes. Ramón Brena, Tecnológico de Monterrey. 2003
Descargar