| Indice
Presentazione dell'edizione italiana
Prefazione
Introduzione
1 Il Word Wide Web
La storia del mondo
Creiamo qualche pagina Web
Ancora HTML
L'HTML ci piace, ma
Sommario
2 Ecco Java!
Mettiamo un po' di azione nelle pagine Web
La cosa piu' importante: la programmazione
Programmazione orientata agli oggetti
Il linguaggio di programmazione Java
Alberi di decisione
Iniziamo a programmare
La struttura di un programma e le istruzioni
Esecuzione di un programma
Programmi interattivi e pulsanti
Leggere e memorizzare dati
Implementiamo gli alberi di decisione
*La notazione "freccia"
* Un insieme di regole per Java
Sommario
3 Calcolo numerico e studio di funzioni
Facciamo due conti
Semplici calcoli
Funzioni
Iterazione e studio di funzioni
Ricerca dell'ottimismo
Memorizzazione dati negli array
Determinare somme, minimi e massimi
Enumerabilita' di oggetti
*Tentiamo di enumerare le funzioni
Sommario
4 Programmazione top-down
Risolviamo un mistero
La programmazione top-down ed una applicazione database
Sottoprogrammi
Sottoprogrammi con variabili interne
Sottoprogrammi con parametri array
Esempi di comunicazione fra sottoprogrammi
Memorizzare e stampare dati con un database
Rappresentazione delle domande e ricerca delle risposte appropriate
Assemblare l'applicazione database e aggiungere i commenti
*Ricorsione
Sommario
5 Grafica, classi e oggetti
Tutti gli artisti a raccolta
Primitive grafiche
Disegniamo delle immagini
Creiamo una classe chiamata Casa
Aggiungere proprieta' alla classe Casa
Creare un villaggio
Le sottoclassi e la gerarchia delle classi Java
Sommario
6 Simulazione
Predire il futuro
Come si puo' vincere una corsa automobilistica? Con una simulazione
*Come evitare il contagio? Con una simulazione
*Come osservare l'evoluzione di una specie? Con una simulazione
*Come sapere a cosa somigliera'? Con una simulazione
Sommario
7 Ingegneria del software
Il mondo reale
Le lezioni apprese dai progetti di grandi dimensioni
Metodologie per l'ingegneria del software
Il ciclo di vita dei programmi
Sommario
8 Architettura dei computer
Acquistare un computer
Una architettura di esempio: il P88
Programmare il P88
Sommario
9 Traduzione di un linguaggio
Consentire al computer di capire Java
Regole di produzione
Aggiungere semantica alle regole
La semantica di Java
*La traduzione di programmi iterativi
Linguaggi di programmazione
Sommario
10 Ambienti virtuali per l'elaborazione
Usate l'immaginazione
Utilizzare un sistema operativo
L'hardware in pratica
Il sistema operativo
I file
*Memoria contesa e paginazione
Sommario
11 Sicurezza, privacy e vane speranze
Cosa sta succedendo realmente?
Le buone password e il cracking
La cifratura
La cifratura attuale
Cifratura a chiave pubblica
Attacchi
Sommario
12 Comunicazione fra computer
Esplorazione
Livelli e reti locali (LAN)
Reti geografiche
L'Internet protocol (IP) ed di livelli superiori
*Qualcosa di piu' sull'indirizzamento
Server di rete
Ulteriori applicazioni di rete
Internet in evoluzione
Sommario
13 Il tempo di esecuzione dei programmi
I limiti dell'informatica
Tempo di esecuzione di un programma
Computazioni trattabili
Computazioni intrattabili
Problemi pratici con soluzioni molto costose
Distinguere problemi trattabili e intrattabili
*Soluzioni approssimate per problemi intrattabili
Sommario
14 Calcolo parallelo
Utilizzare molti processori insieme
Il calcolo parallelo
Processi che comunicano fra loro
Computazione parallela su macchina satura
Variazioni sull'architettura
*Connection machine
*Apprendimento dei pesi delle commissioni
Sommario
15 Non calcolabilita'
La velocita' non basta
L'esistenza di funzioni non calcolabili
Programmi che leggono programmi
Il problema della terminazione
Esempi di problemi non calcolabili
*Dimostrare la non calcolabilita'
Sommario
16 Intelligenza artificiale
Il sogno
Rappresentazione della conoscenza
Comprensione
Apprendimento
I frame
Un'applicazione: elaborazione del linguaggio naturale
Ragionamento
Giochi
*Giochi: note storiche
Sistemi esperti
Prospettive
Sommario
A Le classi IntField e DoubleField
Letture consigliate
Indice analitico |