Il libro, basato sulla lunga esperienza didattica degli autori al Politecnico di Torino, intende offrire un collegamento tra i corsi base di Programmazione e l'insegnamento, a un livello più avanzato, degli algoritmi e delle strutture dati. L'enfasi del testo è posta sul "problem-solving": dopo una sintetica presentazione dei costrutti elementari del linguaggio C, gli autori guidano il lettore nella risoluzione delle principali tipologie di problemi computazionali, illustrando le strategie di soluzione, dalla costruzione di un modello formale alla definizione di un algoritmo alla sua codifica nel linguaggio di programmazione. L'esposizione, dopo brevi richiami teorici, si basa principalmente sugli esempi, svolti in modo assai dettagliato, e su un gran numero di esercizi, molti dei quali corredati di soluzione.