La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Capitolo 1 Introduzione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies.

Presentazioni simili


Presentazione sul tema: "Capitolo 1 Introduzione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies."— Transcript della presentazione:

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


Scaricare ppt "Capitolo 1 Introduzione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © 2004 - The McGraw-Hill Companies."

Presentazioni simili


Annunci Google