Esta obra tem como principal objectivo fornecer competências sólidas no desenvolvimento de programas de pequena e média complexidade. Assim, introduz-se uma metodologia que procura atingir a descrição final da solução de problemas, por refinamentos sucessivos, através da aplicação da decomposição hierárquica das soluções. Outro objectivo principal consiste na aprendizagem da linguagem de programação C na sua norma ANSI. Nesse sentido são estudados aspectos relacionados com a portabilidade, robustez, reutilização, legibilidade e eficiência das soluções.