Autómatas y Lenguajes Formales 2018-1

¿Qué es un modelo de cómputo? ¿Cuáles problemas puede resolver una computadora y cuáles no?

La teoría de la computación se encarga de responder estas preguntas.

Esta materia expandirá tu mente: te dará entendimiento para crear sistemas computacionales más robustos, elegantes y eficientes.

Obtendrás habilidades para expresar de manera más clara y precisa problemas relacionados a computación. También aprenderás muchas técnicas para resolverlos, y tendrás suficiente criterio para saber cuando no es posible resolver un problema utilizando una computadora.

Éste curso tiene impacto en todas las áreas de las ciencias de la computación.

Cenobio Moisés Vázquez Reyes (spidermoy@ciencias.unam.mx)

Enrique Antonio Bernal Cedillo (enrique_bernal@ciencias.unam.mx)

Luis Felipe Ruíz Castañeda (lruiz@ciencias.unam.mx)


En esencia, el temario es el siguiente:

  • Lenguajes regulares y autómatas finitos.
  • Lenguajes libres del contexto.
  • Máquinas de Turing.
  • Introducción a la teoría de la complejidad computacional.

La bibliografía básica es la siguiente:

Evaluación:

Exámenes parciales (se pueden reponer hasta dos exámenes) - 70% de la calificación

Tareas - 30% de la calificación

De manera opcional, puedes presentar un examen final - 100% de la calificación

Exposición - Puntos extra


To me, mathematics, computer science, and the arts are insanely related. They're all creative expressions

—Sebastian Thrun

"To me, mathematics, computer science, and the arts are insanely related. They're all creative expressions" —Sebastian Thrun