Esta obra tem como objetivo fornecer uma competência sólida no desenvolvimento de programas de média e elevada complexidade e um conhecimento profundo sobre estruturas de dados avançadas e algoritmos complexos, usando a linguagem de programação C e aplicando o paradigma da programação modular. Assim, utiliza uma metodologia que dá particular ênfase à decomposição funcional das soluções, através da implementação de tipos de dados abstratos. Inclui exemplos, exercícios, programas e leituras recomendadas, com vista a facilitar a aprendizagem dos alunos.