• El curso prepara al estudiante ofreciéndole una amplia visión de las herramientas y métodos más usuales para la solución de problemas y el análisis de la eficiencia de estas soluciones. El curso fomenta en el estudiante la adquisición de habilidades de aplicación para la determinación de los recursos (espacio, tiempo) que consumen los algoritmos en la resolución de problemas y su análisis que le permite comparar algoritmos alternativos con criterios cuantitativos y elegir el algoritmo más adecuado para resolver el problema que se plantea darle solución. Además el curso proporciona algunas estructuras y técnicas de manejo de datos más usuales y los criterios que le permitan decidir, ante un problema determinado, cuál es la estructura y los algoritmos óptimos para manipular los datos. Así mismo el curso aporta las bases para desarrollos computacionales complejos que se deben implantar en las asignaturas de programación de computadoras.