OBJETIVOS GENERALES DE LA DISCIPLINA

  1. Desarrollar, mediante las teorías y estructuras de la Matemática Computacional la capacidad de recepción y comprensión, de modo independiente, de teorías y algoritmos existentes y la utilización creativa de estos resultados en la producción de nuevos conocimientos.
  2. Evaluar en la práctica las teorías y modelos de la Matemática Computacional, aplicándolos a la representación y solución de problemas por computadoras.
  3. Aplicar los principales desarrollos de la Lógica en la representación y el procesamiento automático de la información.
  4. Aplicar en la representación de estructuras de información y en la modelación de procesos, los principales conceptos y desarrollos de la teoría de grafos.
  5. Utilizar en el diseño y análisis de algoritmos, los conceptos y métodos combinatorios fundamentales.
  6. Emplear los conceptos fundamentales de teoría de números en la solución de múltiples problemas computacionales donde una búsqueda exhaustiva resultaría intratable.
  7. Utilizar, creativa y críticamente, las diferentes técnicas de diseño de algoritmos en la solución de problemas computacionales.
  8. Evaluar la eficiencia y la complejidad computacional de un algoritmo para la solución de un determinado problema.
  9. Aplicar, en su labor profesional, los principios fundamentales de la teoría de NP-completitud.

Habilidades principales a dominar

  1. Utilizar tanto teórica como prácticamente los conceptos fundamentales de conjunto, relación, función, así como sus principales teoremas asociados.
  2. Analizar y desarrollar demostraciones de proposiciones y de fórmulas con la ocurrencia de cuantificadores.
  3. Aplicar creativamente los teoremas relacionados con el máximo común divisor y mínimo común múltiplo en la solución de problemas de teoría de números.
  4. Resolver problemas de la vida cotidiana que exigen el uso de ecuaciones diofantinas.
  5. Utilizar, adecuadamente, el repertorio de fórmulas para el cómputo de Permutaciones, Combinaciones y Variaciones, con o sin repetición, en la solución de múltiples problemas de conteo que emergen con naturalidad en la práctica.
  6. Resolver problemas combinatorios utilizando relaciones de recurrencia.
  7. Diseñar máquinas de Turing para el reconocimiento de lenguajes y el cómputo de funciones.
  8. Diseñar gramáticas, de tipos diferentes (regulares, libres del contexto, dependientes del contexto, de tipo 0) en la solución de problemas de teoría de lenguajes.
  9. Desarrollar autómatas finitos, deterministas o no, para el reconocimiento de lenguajes regulares.
  10. Utilizar el teorema del bombeo para la demostración definitiva de que ciertos lenguajes no son regulares.
  11. Aplicar creativamente los números y los teoremas de teoría de grafos que se enseñan en la solución de problemas prácticos.
  12. Aplicar los conceptos fundamentales de complejidad algorítmica, modelos de cómputo y cotas mínimas de problemas.
  13. Utilizar las técnicas de diseño adecuadas en la solución de problemas computaciones complejos.
  14. Aplicar los conceptos básicos de la teoría de NP-completitud.