| Prefazione | XI |
| Autori | XIII |
| Ringraziamenti dell'Editore | XIV |
| Guida alla lettura | XV |
| Capitolo 1 - Introduzione | |
| 1.1 Trattamento dell'informazione e strumenti per il trattamento dell'informazione | 3 |
| 1.1.1 Il trattamento dell'informazione | 3 |
| 1.1.2 Gli strumenti per il trattamento dell'informazione | 5 |
| 1.1.3 L'architettura dei calcolatori | 6 |
| 1.2 La struttura e i contenuti del libro | 9 |
| Capitolo 2 L'informazione e la sua codifica | 13 |
| 2.1 Il concetto di informazione | 13 |
| 2.1,1 La condizione fondamentale per l'esistenza di informazione | 16 |
| 2.1.2 Configurazioni e configurazioni elementari, simboli e messaggi | 17 |
| 2.13 Livelli di informazione e significato | 18 |
| 2.1,4 Informazione e riduzione dell'incertezza | 20 |
| 2.2 La codifica dei dati e delle istruzioni | 21 |
| 2.2.1 La codifica binaria | 22 |
| 2.2.2 La codifica dei dati non numerici | 24 |
| 2.2.3 La codifica delle istruzioni | 27 |
| 2.2.4 La codifica binaria di dati numerici | 28 |
| 2.2.5 Codifica binaria dei numeri interi e operazioni aritmetiche | 32 |
| 2.2.6 La codifica binaria dei numeri razionali | 40 |
| 23 Codifica analogica e codifica digitale | 42 |
| 2.3.1 La digitalizzazione | 46 |
| 2.3.2 La compressione dei dati | 50 |
| Domande ed esercizi di riepilogo | 54 |
| Capitolo 3 L'elaborazione e la strutturazione dell'informazione | 57 |
| 3.1 Problemi e algoritmi | 58 |
| 3.1.1 Alcuni esempi di algoritmi | 63 |
| 3.1.2 La rappresentazione degli algoritmi mediante diagrammi di flusso | 67 |
| 3.2 Il problema della risoluzione dei problemi | 71 |
| 3.2.1 La computabilità | 71 |
| 3.2.2 Modelli di esecutori | 72 |
| 33 Le strutture dati | 76 |
| 3.3.1 Strutture dati statiche | 76 |
| 3.3.2 Strutture dati dinamiche | 77 |
| 3.4 L'algebra booleana | 79 |
| 3.5 Alcuni esempi completi | 83 |
| Domande cd csercizi di riepilogo | 89 |
| Capitolo 4 I linguaggi per la formalizzazione dell'informazione | 91 |
| 4.1 I linguaggi di programmazione | 92 |
| 4.2 Il paradigma di programmazione imperativo-procedurale | 95 |
| 4.2.1 Le istruzioni | 97 |
| 4.2.2 I dati | 100 |
| 4.2.3 La strutturazione dei programmi in sottoprogrammi | 104 |
| 4.3 Atri paradigmi di programmazione | 109 |
| 4.3.2 Il paradigma di programmazione funzionale | 112 |
| 4.3.3 Il paradigma di programmazione dichiarativa | 114 |
| 4.4 linguaggi per la descrizione e la manipolazione dei dati | 115 |
| 4.4.1 SQL e la definizione delle basi di dati relazionali | 115 |
| 4.4.2 I modelli entità-relazione e la definizione di modelli | 119 |
| 4.43 HTML e la definizione di ipertesti | 121 |
| 4.4.4 XML e la descrizione di linguaggi | 126 |
| Domande ed esercizi di riepilogo | 130 |
| Capitolo 5 La trasmissione dell'informazione | 133 |
| 5.1 Una caratterizzazione della sorgente | 134 |
| 5.2 La caratterizzazione del canale | 135 |
| 5.2.1 Codifica e ridondanza | 136 |
| 5.3 I segnali | 138 |
| 5.3.1 La potenza dei segnali | 140 |
| 5.3.2 Larghezza di banda | 141 |
| 5.3.3 Larghezza di banda e capacità di canale | 143 |
| 5.4 La trasmissionedei segnali | 143 |
| 5.4.1 Trasmissione su canali analogici | 145 |
| 5.4.2 Trasmissione di segnali analogici su canali digitali | 146 |
| 5.43 Trasmissione di segnali digitali su canali digitali | 147 |
| Domande ed esercizi di riepilogo | 148 |
| Capitolo 6 Le infrastrutture hardware | 149 |
| 6.1 L'architettura di riferimento | 151 |