Conocer algoritmos
que se aplicarán en la resolución de problemas reales que se presentan a menudo
en aplicaciones para computadora, las diferentes estrategias comunes de
análisis y diseño de algoritmos (divide y vencerás, programación dinámica, y
método avaro), principios y técnicas básicas de complejidad computacional
(comportamiento de peor caso y caso promedio, consumo de espacio y cotas
inferiores de la complejidad de un problema) y las áreas de los problemas
NP-completos. Otra de las metas del curso, no menos importante que los temas
que contiene, es desarrollar en el alumno el hábito de siempre responder a un
algoritmo nuevo con las preguntas: ¿qué tan bueno es?, ¿hay una manera mejor?
Esta asignatura
asegura un mejor aprendizaje en materias de semestres posteriores como los son
lenguajes de programación, teoría computacional, inteligencia artificial I y
II, entre otras.