Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRemo Nicoletti Modificato 11 anni fa
1
Capitolo 1 Introduzione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl
2
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
3
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
4
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Organizzazione del computer
5
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
6
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 di memoria che possono essere trasferiti al doppio della velocità normale Un byte corrisponde a 8 bit Un bit è 0 o 1
7
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
8
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
9
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
10
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
11
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 dati Legge 48 volte più veloce e scrive 24 volte più veloce di un'unità di base
12
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
13
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
14
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
15
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Rete domestica
16
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Dorsali
17
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
18
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
19
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
20
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
21
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
22
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
23
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"
24
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
25
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)
26
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.
27
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Output dell'esempio
28
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."); }
29
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
30
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
31
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()
32
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Java e Internet
33
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
34
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
35
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
36
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
37
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
38
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à
39
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
40
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Principi Astrazione Incapsulamento Modularità Gerarchia
41
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
42
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
43
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Principi Astrazione Incapsulamento Modularità Gerarchia Costruisce un sistema da componenti e pacchetti
44
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
45
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
46
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
47
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
48
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
49
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
50
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
51
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
52
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
53
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Processo di soluzione dei problemi Che cos'è?
54
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
55
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
56
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
57
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
58
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
59
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Processo di soluzione dei problemi
60
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Metodologie di soluzione dei problemi Come fare? Dipende dal modo di pensare Metodo del bricolage Metodo pianificato
61
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Metodologie 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
62
Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies srl Metodologie 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
63
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
64
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
65
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 Le 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
66
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 Considerare Tracciare una bozza della soluzione e poi rifinire i suoi componenti fino a specificare l'intero processo
67
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 Il tempo è prezioso La correttezza è forse ancor più preziosa Usare un'infrastruttura esistente funzionante
68
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 Essere aperti all'utilizzo indiretto di materiali esistenti
69
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 Fare tutte le supposizioni necessarie Aumentare la probabilità che lo sforzo possa essere applicato a situazioni future
70
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 Dividere e conquistare Risolvere i sottoproblemi e combinarli in una soluzione generale
71
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.