| Indice
Prefazione
Capitolo 0 Introduzione
Studio degli algoritmi
Origini delle macchine calcolatrici
Scienza degli algoritmi
Ruolo dell'astrazione
Ripercussioni sociali
Questioni sociali
Letture consigliate
Parte I Architettura delle macchine calcolatrici
Capitolo 1 Memorizzazione dei dati
Bit e loro memorizzazione
Memoria principale
Memoria di massa
Rappresentazione delle informazioni come configurazioni di bit
Sistema binario
Memorizzazione dei numeri interi
Memorizzazione dei numeri razionali
Compressione dei dati
Errori di comunicazione
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 2 Elaborazione dei dati
Architettura dei computer
Linguaggio macchina
Esecuzione dei programmi
Istruzioni logico/aritmetiche
Comunicazione con altri dispositivi
Altre architetture
Problemi di revisione
Questioni sociali
Letture consigliate
Parte II Software
Capitolo 3 Sistemi operativi e reti
Evoluzione dei sistemi operativi
Architettura del sistema operativo
Coordinamento delle attivita' della macchina
Gestione della competizione tra processi
Reti
Protocolli di rete
Sicurezza
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 4 Algoritmi
Concetto di algoritmo
Rappresentazione degli algoritmi
Scoprire algoritmi
Strutture iterative
Strutture ricorsive
Efficienza e correttezza
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 5 Linguaggi di programmazione
Prospettiva storica
Concetti della programmazione tradizionale
Unita' procedurali
Dal programma sorgente al programma eseguibile
Programmazione orientata agli oggetti (object-oriented)
Programmazione di attivita' parallele
Programmazione dichiarativa
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 6 Ingegneria del software
Disciplina dell'ingegneria del software
Ciclo di vita del software
Modularita'
Metodologie di progettazione
Strumenti di lavoro
Verifica
Documentazione
Proprieta' del software e responsabilita'
Problemi di revisione
Questioni sociali
Letture consigliate
Parte III Organizzazione dei dati
Capitolo 7 Strutture dati
Concetti di base
Array
Liste
Stack
Code
Alberi
Tipi di dati personalizzati
Puntatori in linguaggio macchina
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 8 Strutture dei file
Ruolo del sistema operativo
File sequenziali
Indicizzazione
Hashing
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 9 Strutture delle basi di dati
Aspetti generali
Approccio a livelli alla costruzione di basi di dati
Modello relazionale
Basi di dati orientate agli oggetti
Gestione dell'integrita' delle base di dati
Impatto sociale della tecnologia delle base di dati
Problemi di revisione
Questioni sociali
Letture consigliate
Parte IV La potenza delle macchine
Capitolo 10 Intelligenza artificiale
10.1 Intelligenza e macchine
Comprensione delle immagini
Ragionamento
Reti neurali artificiali
Algoritmi genetici
Altre aree di ricerca
Conseguenze
Problemi di revisione
Questioni sociali
Letture consigliate
Capitolo 11 Teoria della computabilita'
Funzioni e loro calcolo
Macchine di Turing
Linguaggi di programmazione universali
Una funzione non calcolabile
Complessita' dei problemi
Crittografia a chiave pubblica
Problemi di revisione
Questioni sociali
Letture consigliate
Appendice
A ASCII
B Circuiti per elaborare le rappresentazioni in complemento a due
C Un semplice linguaggio macchina
Architettura della macchina
D Esempi di programmi in linguaggi di alto livello
Ada
C
C++
C#
FORTRAN
Java
Pascal
E Corrispondenza tra strutture iterative e ricorsive
F Risposte a Domande/Esercizi
Indice analitico |