Capitolo 1 Introduzione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon,...
-
Upload
remo-nicoletti -
Category
Documents
-
view
220 -
download
2
Transcript of Capitolo 1 Introduzione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon,...
Capitolo 1Introduzione
Lucidi relativi al volume:
Java – Guida alla programmazione James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Per iniziare Obiettivo
Insegnare a programmare in modo efficace
Abilità e informazioni da acquisire Modello mentale del comportamento di computer e reti Soluzione dei problemi Progettazione orientata agli oggetti Java
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB (7200
RPM, tempo di ricerca 9,0 ms) Monitor LCD 17" Scheda grafica NVIDIA GeForce4
MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet 10/100
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet
10/100
3,06 miliardi di operazioni al secondo
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet
10/100
512 milioni di byte dimemoria che possono
essere trasferiti al doppio della velocità normale
Un byte corrisponde a 8 bit
Un bit è 0 o 1
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet
10/100
Memorizza 200 miliardi di byte di dati. Sono utili un valore RPM elevato e un tempo
di ricerca ridotto.0,009 secondi è la media
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet
10/100
17" sulla diagonale.Risoluzione fino a 1.280 x 1.024 pixel
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet
10/100
Microprocessore per la visualizzazione di
immagini con 64 milioni di byte di memoria.
Una quantità di memoria maggiore supporta più colori e una risoluzione più elevata
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet
10/100
Legge i DVD 16 volte più velocemente di
un'unità DVD di base. Può contenere fino a
8 miliardi di byte di dati
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet 10/100
Può leggere e scrivere CD. Può contenere
650 milioni di byte di datiLegge 48 volte più
veloce e scrive 24 volte più veloce di un'unità
di base
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet 10/100
Può inviare o ricevere fino a 56 migliaia di bit al secondo
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet 10/100
Sistema operativo per computer che usa un'interfaccia grafica
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Organizzazione del computer Specifiche del computer
Processore Intel® Pentium 4 a 3,06 GHz con cache di 512 KB
SDRAM DDR di 512 MB Disco rigido ATA-100 a 200 GB
(7200 RPM, tempo di ricerca 9,0 ms)
Monitor LCD 17" Scheda grafica NVIDIA
GeForce4 MX a 64 MB Unità DVD-ROM 16x Max Unità CD-RW 48x/24x/48x Modem telefonico PCI a 56 Kbps Windows XP Home Edition® Scheda di rete Fast Ethernet 10/100
Può inviare o ricevere dati a due velocità:
10 o 100 milioni di byte al secondo
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Rete domestica
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Dorsali
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Comunicazione di rete Protocollo di comunicazione
Set di regole che governa l'invio e la ricezione dei dati
TCP/IP Scambio di pacchetti di informazioni su Internet
FTP Scambio di file tra computer
SMTP Scambio di posta elettronica su Internet
POP Scambio di posta elettronica tra il software di lettura e l'ISP
HTTP Scambio di file sul WWW
SSL Informazioni sulla crittografia dei dati
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software Programma
Sequenza di istruzioni che indica a un computer cosa fare
Esecuzione Svolgimento della sequenza di istruzioni
Linguaggio di programmazione Linguaggio per la scrittura di istruzioni su un computer
Tipi principali Linguaggio macchina
o codice oggetto Linguaggio assembly Alto livello
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software Programma
Sequenza di istruzioni che indica a un computer cosa fare
Esecuzione Svolgimento della sequenza di istruzioni
Linguaggio di programmazione Linguaggio per la scrittura di istruzioni su un computer
Tipi principali Linguaggio macchina
o codice oggetto Linguaggio assembly Alto livello
Programma a cui il computer può
rispondere direttamente. Ogni istruzione è un codice binario che
corrisponde a un'istruzione nativa
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software Programma
Sequenza di istruzioni che indica a un computer cosa fare
Esecuzione Svolgimento della sequenza di istruzioni
Linguaggio di programmazione Linguaggio per la scrittura di istruzioni su un computer
Tipi principali Linguaggio macchina
o codice oggetto Linguaggio assembly Alto livello
Linguaggio simbolico per la codifica delle
istruzioni in linguaggio macchina
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software Programma
Sequenza di istruzioni che indica a un computer cosa fare
Esecuzione Svolgimento della sequenza di istruzioni
Linguaggio di programmazione Linguaggio per la scrittura di istruzioni su un computer
Tipi principali Linguaggio macchina
o codice oggetto Linguaggio assembly Alto livello
La conoscenza dettagliata della macchina non è richiesta. Utilizza un vocabolario e una struttura vicini al
problema da risolvere
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software Programma
Sequenza di istruzioni che indica a un computer cosa fare
Esecuzione Svolgimento della sequenza di istruzioni
Linguaggio di programmazione Linguaggio per la scrittura di istruzioni su un computer
Tipi principali Linguaggio macchina
o codice oggetto Linguaggio assembly Alto livello
Java è un linguaggio di programmazione
di alto livello
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software Programma
Sequenza di istruzioni che indica a un computer cosa fare
Esecuzione Svolgimento della sequenza di istruzioni
Linguaggio di programmazione Linguaggio per la scrittura di istruzioni su un computer
Tipi principali Linguaggio macchina
o codice oggetto Linguaggio assembly Alto livello
Per i programmi da eseguire, è necessario
"tradurlo"
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Traduzione Traduttore
Accetta un programma scritto in un linguaggio di origine e traduce quel programma in un linguaggio di destinazione
Compilatore Nome standard per un traduttore il cui linguaggio di
origine è un linguaggio di alto livello
Interprete Un traduttore che traduce ed esegue un programma di
origine
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Traduzione di Java Processo in due fasi
Prima fase Traduzione da Java in bytecode
I bytecode sono codice oggetto neutro dal punto di vista dell'architettura
I bytecode sono memorizzati in un file con estensione .class
Seconda fase Un interprete traduce i bytecode in istruzioni macchina e
le esegue L'interprete è noto come macchina virtuale Java o JVM
(Java Virtual Machine)
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Attività Visualizzare la previsione
I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943.
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Output dell'esempio
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
DisplayForecast.java
// Autori: J. P. Cohoon e J. W. Davidson// Scopo: visualizzare una citazione nella finestra della
console
public class DisplayForecast
// metodo main(): punto di ingresso per l'applicazione public static void main(String[] args) System.out.print("I think there is a world market for"); System.out.println(" maybe five computers."); System.out.println(" Thomas Watson, IBM, 1943.");
}}
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
DisplayForecast.java
// Autori: J. P. Cohoon e J. W. Davidson// Scopo: visualizzare una citazione nella finestra della
console
public class DisplayForecast
// metodo main(): punto di ingresso per l'applicazione public static void main(String[] args) System.out.print("I think there is a world market for"); System.out.println(" maybe five computers."); System.out.println(" Thomas Watson, IBM, 1943.");
}}
Tre istruzioni costituiscono l'azione del metodo main()
Il metodo main() è parte della classe DisplayForecast
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
DisplayForecast.java
// Autori: J. P. Cohoon e J. W. Davidson// Scopo: visualizzare una citazione nella finestra della
console
public class DisplayForecast
// metodo main(): punto di ingresso per l'applicazione public static void main(String[] args) System.out.print("I think there is a world market for"); System.out.println(" maybe five computers."); System.out.println(" Thomas Watson, IBM, 1943.");
}}
Un metodo è un frammento di codice denominato che esegue qualche azione o implementa un comportamento
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
DisplayForecast.java
// Autori: J. P. Cohoon e J. W. Davidson// Scopo: visualizzare una citazione nella finestra della
console
public class DisplayForecast
// metodo main(): punto di ingresso per l'applicazione public static void main(String[] args) System.out.print("I think there is a world market for"); System.out.println(" maybe five computers."); System.out.println(" Thomas Watson, IBM, 1943.");
}}
Un programma applicativo è necessario per disporre di un metodo public static void chiamato main()
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Java e Internet
I think ...
JVMJava
Compiler
DisplayForecast.java
DisplayForecast.class DisplayForecast.class
Modem Modem
Your machine Your friend's machine
Internet
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Software per l'ingegneria La complessità del software aumenta con i tentativi di
renderne più facile l'utilizzo Nascita delle procedure guidate
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Ingegneria del software Obiettivo
Produzione di software efficace e affidabile, comprensibile, economico, adattabile e riutilizzabile
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Ingegneria del software Obiettivo
Produzione di software efficace e affidabile, comprensibile, economico, adattabile e riutilizzabile
Funziona correttamente
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Ingegneria del software Obiettivo
Produzione di software efficace e affidabile, comprensibile, economico, adattabile e riutilizzabile
A causa della lunga durata sono coinvolte molte persone Creazione Debug Manutenzione Perfezionamento
Due terzi del costo vanno generalmente oltre la creazione
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Ingegneria del software Obiettivo
Produzione di software efficace e affidabile, comprensibile, economico, adattabile e riutilizzabile
Il costo di sviluppo e manutenzione non dovrebbe superare il vantaggio previsto
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Ingegneria del software Obiettivo
Produzione di software efficace e affidabile, comprensibile, economico, adattabile e riutilizzabile
Progettare il software in modo che si possano aggiungere nuove funzioni e capacità
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Ingegneria del software Obiettivo
Produzione di software efficace e affidabile, comprensibile, economico, adattabile e riutilizzabile
Ha senso a causa dei notevoli costi richiesti per ottenere componenti flessibili che possono essere utilizzati in altri prodotti software
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Principi Astrazione
Incapsulamento
Modularità
Gerarchia
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Principi Astrazione
Incapsulamento
Modularità
Gerarchia
Determina le proprietà e le funzioni rilevanti, ignorando
i dettagli non essenziali
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Principi Astrazione
Incapsulamento
Modularità
Gerarchia
Separa i componenti in aspetti esterni e interni
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Principi Astrazione
Incapsulamento
Modularità
Gerarchia
Costruisce un sistema dacomponenti e pacchetti
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Principi Astrazione
Incapsulamento
Modularità
Gerarchia
Grado oppure ordinamento degli oggetti
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Progettazione orientata agli oggetti Scopo
Promuovere il pensiero sul software così da modellare il modo in cui si pensa e si interagisce con il mondo fisico Comprendendo la specializzazione
Oggetto Proprietà o attributi Comportamenti
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Programmazione Classe
Termine per un tipo di oggetto software
Oggetto Un'istanza di una classe con
proprietà e attributi specifici
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Programmazione Soluzione dei problemi attraverso l'uso di un sistema
informatico
Massima Non è possibile far fare qualcosa a un computer se non si
sa come farlo da soli
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Soluzione dei problemi Perché è importante?
A tutti sono assegnate attività da svolgere Al lavoro A casa A scuola
Perché non occuparsene Subito In modo efficace
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Soluzione dei problemi Perché interessarsi della
risoluzione dei problemi basata sul computer (vale a dire della programmazione)?
Chiarezza Frontiere della scienza Proficuità Necessità Qualità della vita
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Soluzione dei problemi Da ricordare
L'obiettivo non è una soluzione intelligente ma una soluzione corretta
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Soluzione dei problemi Accettare
Il processo è iterativo Nella soluzione dei problemi, una comprensione
maggiore può richiedere di ricominciare
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Soluzione dei problemi Soluzioni
Spesso richiedono un pensiero concreto e astratto Lavoro di squadra
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi Che cos'è?
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi Che cos'è?
Analisi Progettazione Implementazione Verifica
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi Che cos'è?
Analisi Progettazione Implementazione Verifica
Determina l'input, l'output e altri componenti del problema
La descrizione dovrebbe essere abbastanza specifica da consentire di risolvere il problema
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi Che cos'è?
Analisi Progettazione Implementazione Verifica
Descrivere i componenti e i processi associati per risolvere il problema
Diretta e flessibile
Metodo - processo
Oggetto - componente e metodi associati
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi Che cos'è?
Analisi Progettazione Implementazione Verifica
Sviluppare soluzioni per i componenti e usare questi componenti per produrre una soluzione generale
Diretta e flessibile
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi Che cos'è?
Analisi Progettazione Implementazione Verifica
Verificare i componenti singolarmente e nell'insieme
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Processo di soluzione dei problemi
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srlMetodologie di soluzione dei problemi Come fare?
Dipende dal modo di pensare
Metodo del bricolage
Metodo pianificato
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srlMetodologie di soluzione dei problemi Come fare?
Dipende dal modo di pensare
Metodo del bricolage
Metodo pianificato
Caratteristiche e aspetti del problema vengono ripetutamente provati e manipolati secondo il proprio modo di organizzare le informazioni
Uno sbaglio non è un errore, ma una correzione in attesa di essere eseguita nel corso naturale della risoluzione del problema
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srlMetodologie di soluzione dei problemi Come fare?
Dipende dal modo di pensare
Metodo del bricolage
Metodo pianificato
Usa la logica, il formalismo e l'ingegneria insieme a una metodologia strutturata
La struttura inerente offerta dal metodo pianificato facilita la correttezza della soluzione
Metodo dominante nell'insegnamento
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemi
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemi
Scoprire quali informazioni sono note rispetto al problema
Parlare con chi ha presentato il problema
Determinare quali tentativi hanno avuto successo e quali no
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemiLe ricerche possono richiedere diverso tempo e generare delle domande
Lo sforzo è ripagato da una migliore comprensione
La vera comprensione del problema ne facilita la soluzione
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemiConsiderare
Tracciare una bozza della soluzione e poi rifinire i suoi componenti fino a specificare l'intero processo
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemiIl tempo è prezioso
La correttezza è forse ancor più preziosa
Usare un'infrastruttura esistente funzionante
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemiEssere aperti all'utilizzo indiretto di materiali esistenti
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemiFare tutte le supposizioni necessarie
Aumentare la probabilità che lo sforzo possa essere applicato a situazioni future
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Scoprire quanto è possibile fare
Riutilizzare ciò che è stato fatto prima
Prevedere il riutilizzo futuro
Dividere i problemi complessi in sottoproblemiDividere e conquistare
Risolvere i sottoproblemi e combinarli in una soluzione generale
Java – Guida alla programmazione - James Cohoon, Jack Davidson
Copyright © 2004 - The McGraw-Hill Companies srl
Suggerimenti Letture
Testi sulla soluzione dei problemi George Polya, How to Solve It;
A New Aspect of Mathematical Method, Princeton Press, 1988
Wayne Wickelgren, How to Solve Mathematical Problems, Dover Publications, 1995
Paul Zeitz, The Art and Craft of Problem Solving, John Wiley, 1999
Esame sociologico dei vari stili di risoluzione dei problemi Sherry Turkle e Seymour Papert, Epistemological
Pluralism: Styles and Voices Within the Computer Culture, Signs: A Journal of Women in Culture and Society, 1990