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

Slides:



Advertisements
Presentazioni simili
Il Software.
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Recupero debito quarto anno Primo incontro
INFORMATICA Trattamento automatizzato dellinformazione.
I linguaggi di programmazione
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Definizione e tipi di implementazione
Capitolo 2 Nozioni fondamentali su Java Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Capitolo 13 Verifica e debug Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill.
Capitolo 8 Array Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl.
Massa Laura Mela Enrica
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
I Linguaggi Di Luca Brugnone 13/11/2007
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Reti Logiche e Architettura dei Calcolatori Luciano Gualà home page
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione al linguaggio Java
Architettura del World Wide Web
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Struttura dei sistemi operativi (panoramica)
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Primi Elementi di Programmazione in C++
1 THE INTERNET: una rete di reti La storia in breve Le regole della comunicazione.
Strutture di controllo in C -- Flow Chart --
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
Argomenti della lezione
I SISTEMI OPERATIVI.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Programmazione in Java
Guida IIS 6 A cura di Nicola Del Re.
Java Contardi Carlo A.S. 2008/09.
Il Calcolatore Elettronico
STRUTTURA GENERALE DI UN ELABORATORE
Il computer: struttura fisica e struttura logica
Prova di verifica Fondamenti Informatica 1 15 Febbraio 2008.
AICA Corso IT Administrator: modulo 4 AICA © EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Risoluzione dei Problemi e Analisi del Traffico.
Java come linguaggio di programmazione
1 Lucidi delle esercitazioni di Sistemi di Elaborazione in Rete Università degli Studi della Calabria Corso di Laurea in Ingegneria Gestionale A.A. 2003/2004.
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
ECDL Patente europea del computer
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
Programma di Informatica Classi Prime
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Programmazione ad oggetti
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
la traduzione dei programmi
Capitolo 6 Iterazione Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
Capitolo 12 Thread Lucidi relativi al volume: Java – Guida alla programmazione James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies.
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
Il software Claudia Raibulet
Informatica e Informatica di Base
Tecnologie dell'informazione e della comunicazione - Stacey S. Sawyer, Brian K. Williams Copyright © The McGraw-Hill Companies srl Introduzione.
Conosciamo…il computer
Programmazione orientata agli Oggetti Introduzione a Java.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © The McGraw-Hill Companies srl Organizzazione del computer

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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/ 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 x pixel

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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 © The McGraw-Hill Companies srl Rete domestica

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Dorsali

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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 © 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 © 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 © 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 © 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 © 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 © 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 © 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 © The McGraw-Hill Companies srl Output dell'esempio

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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 © 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 © The McGraw-Hill Companies srl Java e Internet

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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 © 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 © 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 © 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 © 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 © The McGraw-Hill Companies srl Principi Astrazione Incapsulamento Modularità Gerarchia

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © The McGraw-Hill Companies srl Principi Astrazione Incapsulamento Modularità Gerarchia Costruisce un sistema da componenti e pacchetti

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Principi Astrazione Incapsulamento Modularità Gerarchia Grado oppure ordinamento degli oggetti

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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 © 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 © 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 © 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 © 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 © 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 © The McGraw-Hill Companies srl Processo di soluzione dei problemi Che cos'è?

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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 © 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 © 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 © The McGraw-Hill Companies srl Processo di soluzione dei problemi

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © The McGraw-Hill Companies srl Metodologie 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 © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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 © 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 © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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

Java – Guida alla programmazione - James Cohoon, Jack Davidson Copyright © 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