Página de inicio

Facultad de Ciencias, UNAM. 
Autómatas y Lenguajes Formales. 
Grupo 7077.

Profesor: Noé Salomón Hernández Sánchez
    Miércoles, jueves y viernes de 12 a 13 hrs.        Salón: 203 (Yelizcali)

Ayudante: Armando Ballinas Nangüelú            
    Lunes y martes de 12 a 13 hrs.                        Salón: 203 (Yelizcali)


El curso de Autómatas y Lenguajes Formales es fundamental en la licenciatura en Ciencias de la Computación, en él se pretende definir de manera formal la idea de computabilidad. La formalidad que buscamos se encuentra en los conceptos matemáticos que serán estudiados: autómatas, gramáticas y máquinas de Turing. Estos formalismos tienen un valor incalculable para la ciencia de la computación, sugieren propiedades para el hardware y software; además, a través de ellos, podemos determinar qué puede y qué no puede resolver una computadora. Uno de los problemas planteados es decidir si cierta cadena pertenece a un lenguaje. Muchos problemas computacionales de gran interés pueden ser formulados como problemas de decisión. 

Los temas tratados en este curso tienen un impacto en otras áreas tales como: lenguajes de programación, compiladores, complejidad computacional, analizadores sintácticos y reconocedor de expresiones regulares(tales como grep).

Lista de correo
El foro de discusión para realizar preguntas, comentarios, anuncios y aclaraciones es el grupo de google con la siguiente dirección: 
https://groups.google.com/d/forum/aylffcienciasunam2014-1
Para unirse manden un correo a aylffcienciasunam2014-1+subscribe@googlegroups.com, les llegará un mensaje diciendo que se está procesando su solicitud, respondan a este correo o den click en la liga que se muestra.

Temario
  1. Introducción
  2. Autómatas finitos deterministas y no deterministas.
  3. Expresiones regulares.
  4. Gramáticas libres del contexto.
  5. Autómatas de pila.
  6. Jerarquía de Chomsky.
  7. Máquinas de Turing.
  8. Introducción a la complejidad y decidibilidad.
El temario a detalle puede ser consultado en este vínculo.

Evaluación
Consiste en tres aspectos principales: exámenes, tareas y prácticas. También se toma en cuenta la participación, pero no tiene un porcentaje directo en la calificación. Los resultados aparecerán publicados en la sección de Calificaciones.

La política para obtener NP es que los alumnos que presenten trabajos(exámenes, tareas o prácticas) después del 25 de octubre, pierden el derecho a NP, sujetándose a la calificación final que obtengan. 

Copiar es una actividad que buscamos desanimar, así que en una primera situación de copia, la sanción será una calificación de cero en el trabajo presentado por los implicados. Si se reitera en la copia por segunda ocasión, aquellos involucrados serán reprobados.

Los detalles de la evaluación se muestran enseguida:

-> Exámenes. Representan el 60% de la calificación. 
Se aplicarán cuatro exámenes parciales a lo largo del semestre, de acuerdo al siguiente calendario:

 Examen 1.  mar. 10/sept
 Examen 2. mar. 08/oct 
 Examen 3.  mar. 29/oct
 Examen 4. lun. 25/nov

Al terminar el semestre habrá una única reposición, o bien, tendrán la oportunidad de presentar examen final. El día de la reposición y del examen final es el martes 03 de diciembre.

Es menester conseguir un promedio de exámenes aprobatorio, de otro modo no es posible acreditar la materia.

-> Tareas. Tienen un peso del 25% de la calificación.
Se dejarán ocho tareas a lo largo del semestre, una cada dos semanas. Pueden realizarlas en equipos de tres integrantes. Las fechas de publicación y de entrega son las siguientes:

 Fecha de publicación Fecha de entrega
13/ago20/ago
27/ago03/sep 
10/sep18/sep 
24/sep01/oct 
08/oct17/oct 
21/oct28/oct 
31/oct07/nov 
14/nov21/nov 

Las tareas podrán ser consultadas, a partir de la fecha de publicación, en la sección de Archivos, que se encuentra en la barra de la izquierda.

-> Prácticas. Con el 15% de la calificación.
Se dejarán tres prácticas durante el semestre, las fechas de publicación y entrega se presentan a continuación.

 Fecha de Publicación Fecha de entrega
 30/ago 18/sep
 11/oct20/oct
 15/nov24/nov

Las prácticas podrán ser consultadas, a partir de la fecha de            publicación, en la sección de Archivos  que se encuentra en la            barra de la izquierda.
   
Los lineamientos de entrega de las prácticas son los siguientes:
  1. Las prácticas podrán ser entregadas en equipos de tres.
  2. Deberá incluirse un archivo Readme en formato txt o pdf donde, además de los datos de los integrantes del equipo, se debe incluir una descripción general de la solución de la práctica.
  3. Para la segunda y tercera práctica se aceptarán soluciones en Java o Haskell.
  4. En caso de que se detecte alguna anomalía en la solución de la práctica (sospecha de copia, código descargado de Internet, soluciones poco acordes a lo visto en clase, etc.) se solicitará que los integrantes acudan a clase a "defender" su solución. En caso de comprobarse la anomalía se acreditará a los integrantes con un 0 (cero) en esa práctica. En caso de reincidencia los inculpados obtendrán 5 (cinco) de manera automática en el curso.
  5. Se aceptan entregas tardías, pero por cada día de retraso se les bajará un punto sobre la calificación de la práctica.
  6. Las prácticas deben ser enviadas al correo armballinas@gmail.com y en el asunto deben poner: [aylf20141-PN] donde N es el número de práctica (1,2 o 3 según sea el caso).