To develop sub-competencies, reach mastery levels, and respond to the problem situations posed in this course, it is necessary to learn different concepts, theories, procedures, techniques, attitudes and values, among other contents.
- Algorithm design techniques.
- Trees and graphs.
- Advanced search techniques.
- String handling.
- Adversarial search.
- Scheduling process, strategies for CPU scheduling, for memory management, and for device management.
- Foundation of the performance of an algorithm through analysis theory.
- Recognize the importance of making good use of the elements of a programming language and computer resources, openness to new programming paradigms.
- Recognize the relevance of generating efficient code and adequate use of computer resources.