Copertina Il pensiero computazionale

Acquista:

a stampa € 21,00
disponibile in 10-15 giorni
collana "Le vie della civiltà"
pp. 256, Brossura, 978-88-15-27286-7
anno di pubblicazione 2017

PAOLO FERRAGINA, FABRIZIO LUCCIO

Il pensiero computazionale

Dagli algoritmi al coding

Il pensiero computazionale è un processo mentale per la risoluzione di problemi attraverso una serie ordinata di istruzioni precise, l’algoritmo. Ogni volta che usiamo uno smartphone per telefonare, scattare una foto, ascoltare musica o accedere a Internet, mettiamo in azione in modo del tutto invisibile una complicatissima «computazione», che ci consente di operare su suoni, immagini e sequenze di caratteri. Il libro introduce al pensiero computazionale proponendo e risolvendo problemi via via più complessi, e ne illustra alcune delle più importanti applicazioni nella società del nostro tempo, dalla gestione dei Big Data alla compressione dei testi, alla crittografia e al funzionamento dei motori di ricerca.

Paolo Ferragina è professore ordinario di Informatica presso l’Università di Pisa, ed è stato post-doc presso il Max-Planck Institut für Informatik in Germania. Ha ricevuto diversi premi e riconoscimenti internazionali tra cui alcuni Google Faculty Awards. È stato Prorettore per la Ricerca Applicata e l’Innovazione dell’Ateneo pisano. Con F. Luccio ha pubblicato «Crittografia. Principi, algoritmi, applicazioni» (Bollati Boringhieri, 2007; Pisa University Press, 2017). Fabrizio Luccio, dopo aver insegnato in diverse università americane, è oggi professore emerito di Informatica dell’Università di Pisa ove tra l’altro ha formulato lo statuto e diretto il primo dottorato di ricerca in Informatica in Italia. Ha ottenuto vari riconoscimenti internazionali ed è professore onorario in alcune università straniere. Fra i suoi libri, oltre al già ricordato volume con P. Ferragina, segnaliamo «Algoritmi, divinità e gente comune» (con L. Pagli, ETS, 2012).

Premessa
La nascita del pensiero computazionale
I. Un piccolo problema per cominciare
II. Algoritmi e coding
1. Lo pseudocodice
2. Un programma più utile
3. Interazione con la macchina
4. La ricerca binaria
III. Il torneo
1. Limite inferiore al problema del massimo
2. Il tabellone del torneo
3. Il problema del secondo
IV. Un problema finanziario
1. Un algoritmo «cubico»
2. Un algoritmo «quadratico»
3. Un algoritmo lineare
4. L'efficienza algoritmica in rapporto all'efficienza hard-ware
5. Alcune interessanti varianti del problema
V. Mettere in ordine
1. Il problema dell'ordinamento
2. Un algoritmo più efficiente
3. Un limite inferiore
4. Ordinare numeri interi
5. Ordinare Big Data
6. La fusione a più vie
VI. Messaggi segreti
1. La modularità
2. La crescita esponenziale
3. Il disco di Leon Battista Alberti
4. I cifrari di oggi
5. Le disposizioni di n caratteri
6. La costruzione di chiavi
VII. Problemi «facili» e «difficili»
1. Camminare per una città
2. P=NP ?
VIII. Motori di ricerca
1. Dalle parole agli hyperlink
2. La quarta generazione
3. La struttura
4. Come risolvere una interrogazione
5. Ancora un miglioramento
6. Una considerazione conclusiva
IX. La compressione dei testi
1. I compressori statistici
2. I compressori basati su dizionario
3. I compressori basati su ordinamento
4. La correttezza della trasformazione inversa
5. Alcune considerazioni conclusive
X. La ricorsività
1. Un gioco molto istruttivo
2. Confronto tra ricorsività e iterazione
3. Altri esempi
4. Un famoso algoritmo
5. Un po' di cautela, per concludere
Indice analitico

Leggi anche

copertina La bottega dello scienziato
copertina Il cammino e le orme
copertina 25 aprile
copertina Le vie della democrazia