Introduce conceptos y técnicas necesarios para la creación de extensos programas de software. Se les enseña a los estudiantes un método de programación basado en el reconocimiento y descripción de abstracciones útiles.
Temas: modularidad, especificación, abstracción de datos, modelado de objetos, modelos de diseño y testeo. Se podrán contemplar varios proyectos de programación de diversos tamaños que los estudiantes han realizado, de forma individual y en grupos.