Este documento presenta un curso de programación estructurada que tiene como objetivos ubicar la importancia de la programación en la ingeniería de software, diseñar algoritmos para resolver problemas simples y construir programas modulares usando un enfoque de programación estructurada. El contenido incluye resolución de problemas y algoritmos, constructores fundamentales de programación estructurada, algoritmos iterativos y tipos de datos abstractos. Se explican conceptos como algoritmos, diseño descendente y refinamiento de algoritmos.