Saper programmare un computer è una capacità oramai necessaria a chiunque voglia addentrarsi nello studio delle scienze. Da questo punto di vista, il linguaggio Python sta diventando sempre più popolare per la programmazione in ambito scientifico. Python è un linguaggio di alto livello che usa il paradigma della programmazione orientata agli oggetti (OOP). È un linguaggio semplice e, a differenza di altri linguaggi di programmazione, non richiede l'apprendimento di tecnicismi che spesso distolgono dal vero scopo: imparare a programmare! Questo libro propone una guida completa alla programmazione, fornendo i principi fondamentali utili ad esprimere con un algoritmo la soluzione ad un problema specifico. Nel libro sono schematizzate le problematiche ricorrenti della programmazione e per queste vengono presentati esempi e soluzioni corrette, efficienti ed eleganti. Il volume approfondisce i fondamentali della programmazione: la selezione e la iterazione, la ricorsione, le strutture dati complesse quali liste concatenate ed alberi e gli algoritmi di ricerca, ordinamento e il backtracking. I concetti teorici presentati vengono poi ampiamente applicati a problemi scientifici reali e ai giochi.