Python è un linguaggio di programmazione orientato agli oggetti, di grande versatilità e molto utilizzato per lo sviluppo di applicazioni in ambito professionale. È, inoltre, uno strumento valido e flessibile per apprendere i fondamenti della programmazione, grazie alla sintassi semplice, alla semantica sempre verificabile e alla scalabilità che rende agevole l'integrazione con altri linguaggi. Il volume analizza gli aspetti principali della programmazione ponendo enfasi sul problem solving. Gli argomenti sono affrontati in maniera graduale e accurata: partendo dalla definizione di algoritmo, si illustra come progettare con le funzioni e con le classi, le strategie di programmazione (top-down) sino a giungere alle interfacce grafiche (GUI) e alle applicazioni di rete. I concetti teorici vengono applicati e sviluppati in programmi completi al fine di verificare il loro supporto nella risoluzione di problemi. La trattazione è completata da numerosi esempi e schemi esplicativi ed evidenzia l'importanza di acquisire abitudini di buona scrittura e buona documentazione. La nuova edizione è stata ampliata, con un nuovo capitolo dedicato all'analisi della complessità computazionale con algoritmi di ricerca e ordinamento, e interamente aggiornata con nuovi esercizi e progetti di programmazione.