Resumen:
1. Algoritmos y herramientas de programación -- 2. Metodología de la programación y desarrollo de software -- 3. Estructura general de un programa -- 4. Flujo de control I: estructuras selectivas -- 5. Flujo de control I: estructuras repetitivas -- 6. Subprogramas (subalgoritmos): funciones -- Parte II. Estructura de datos -- 7. Estructura de datos I (arrays y estructuras) -- 8. Las cadenas de caracteres -- 9. Archivos (ficheros) -- 10. Ordenación, búsqueda e intercalación -- 11. Ordenación, búsqueda y fusión externa (archivos) -- 12. Estructuras dinámicas lineales de datos (pilas, colas y listas enlazadas) -- 13. Estructuras de datos no lineales (árboles y grafos) -- 14. Recursividad -- Parte III. Programación orientada a objetos y UML 2.1 -- 15. Tipos abstractos de datos, objetos y modelos con UML 2.1 -- 16. Diseño de clases y objetos: representaciones gráficas en UML -- 17. Relaciones entre clases: delegaciones, asociaciones, agregaciones, herencia -- Parte IV. Metodología de la programación y desarrollo de software -- 18. Resolución de problemas y desarrollo de software: metodología de la programación -- Apéndices.