Encapsulamiento a través de clases y objetos. Introducción al lenguaje de programación Java. Programación orientada a objetos. Estructuras de datos lineales. Compresión de archivos mediante el algoritmo de Huffman. Recursividad. Árboles. Complejidad algorítmica. Algoritmos de ordenamiento. Estrategia algorítmica. Algorítmos sobre grafos.