Este documento presenta los fundamentos del diseño de programas para resolver problemas de ingeniería. Explica las diferentes fases del proceso de diseño de programas como el análisis del problema, diseño del algoritmo, codificación, compilación, verificación y mantenimiento. También describe paradigmas de programación, tipos de programación, y el lenguaje C como una herramienta para la programación de soluciones a problemas de ingeniería.