Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario • • • • • • Contenuti del Corso Riferimenti Regole del Corso Materiale Didattico Scheduling Esami Strumenti Software 16/01/2013 2 Contenuti • Introduzione all’ambiente di programmazione Java – Descrizione e uso di Eclipse – Primi esempi di programmi • Programmazione imperativa – Introduzione alla sintassi Java – Tipi di dato elementari, variabili e assegnamento, costrutti sequenziale, if, while e for, e operazioni di I/O – Funzioni e parametri • Programmazione ad oggetti: Classi e Oggetti Java – Incapsulamento, Ereditarietà, Polimorfismo • Introduzione allo sviluppo di Web Application • introduzione al Web Mobile Programming 16/01/2013 3 Obbiettivi • Conoscenza di base del linguaggio JAVA • Metodologie e tecnologie per la programmazione a oggetti • Uso e Manipolazione di Software per applicazioni di tipo Object Oriented 16/01/2013 4 Output di fine Corso • (20%) Conoscenze teoriche di metodologie informatiche – Principi della programmazione – Tecniche per l’analisi di programmi e Algoritmi • (40%) Tecniche di programmazione in ambiente Java – Correttezza, efficienza e analisi del software • (40%) Sviluppo di Applicazioni 16/01/2013 5 Testo di riferimento Titolo: Programmando Java Autori: B.Buttarazzi & A.Simonetta Editore : Carocci 2007 16/01/2013 6 Programma di esame 16/01/2013 7 Programma di esame 16/01/2013 8 16/01/2013 9 Riferimenti • Docenti : Berta Buttarazzi Ricevimento • Al termine delle lezioni in aula e in studio del docente (III Piano Edificio Ingegneria della Informazione) il mercoledì dalle 13 alle 15 • Pagina web del corso – http://www.uniroma2.it/didattica/POJ/ 16/01/2013 10 16/01/2013 11 Registrazione al corso Per poter seguire il corso e sostenere gli esami e' necessario registrarsi al corso. La registrazione al corso avviene tramite e-mail da inviare al docente [email protected] specificando come oggetto '' REGISTRAZIONE CORSO - POJ” e nel corpo della mail il proprio nome, cognome, corso di laurea e numero di matricola Le registrazioni terminano 10 giorni dopo l'inizio del corso 16/01/2013 12 16/01/2013 13 Orario Lezioni LUN MAR MER GIO VEN 8.30-9.15 9.30-10.15 10.30-11.15 POJ POJ 11.30-12.15 12.30-13.15 POJ POJ 14.00-14.45 15.00-15.45 Lunedì Aula B2 Giovedì Aula C6 16/01/2013 14 Scheduling Esami Primo appello Giovedì 7 Febbraio 2013 - Aula B2 Nuovi Edifici ore 9:30 Secondo appello Giovedì 14 Febbraio 2013 - Aula B2 Nuovi Edifici ore 9:30 Terzo appello Giovedì 4 Luglio 2013 - Aula B2 Nuovi Edifici ore 9:30 Quarto appello Giovedì 5 Settembre 2012 - Aula B2 Nuovi Edifici ore 9:30 Quinto appello Giovedì 12 Settembre 2012 - Aula B2 Nuovi Edifici ore 9:30 <da confermare ....> 16/01/2013 15 Prenotazione Esami La prenotazione all'esame avviene tramite e-mail da inviare al docente [email protected] specificando come oggetto '' PRENOTAZIONE ESAME – POJ” Per ciascun appello le prenotazioni si aprono 10 giorni prima dell'esame e terminano 3 giorni prima dell'esame 16/01/2013 16 Regole del Corso • Si consiglia di seguire in classe tutte le lezioni (almeno il 75% lezioni). – Attenzione! Ogni informazioni anche sui cambiamenti verrà data esclusivamente a lezione • Il ricevimento è alla fine di ciascuna lezione o in ufficio del docente il mercoledì dalle 13 alle 15 16/01/2013 17 Modalità di Esame • Prova scritta – Modalità tradizionale con esercizi da svolgere • Prova orale – Commento della prova scritta ed eventuali domande teoriche 16/01/2013 18 Criterio di Valutazione • Il voto è determinato principalmente dal risultato ottenuto nella prova scritta • In fase di verbalizzazione è previsto un orale – domande sul compito + eventuale domanda su argomenti del corso 16/01/2013 19 Modalità della prova scritta • Tutte le prove scritte sono composte da tre parti: 1. 2. 3. 16/01/2013 Esercizio sulla programmazione a oggetti Esercizio sulla realizzazione di un algoritmo Domande teoriche 20 ..esempio di esercizi 16/01/2013 21 ..esempio di domande 16/01/2013 22 Regole per lo scritto • Portare – – – • • • • il libretto e un documento di riconoscimento una penna a inchiostro NERO fogli bianchi per annotazioni Non sono ammessi appunti, libri o altro materiale didattico. Ogni esercizio deve essere svolto in piena autonomia! Sono ammessi chiarimenti sul testo dell’esame solo durante i primi 10 minuti all’inizio dell’esame. Al termine della prova scritta vanno restituiti solo i fogli d’esame consegnati dal docente (correttamente compilati). 16/01/2013 23 Suggerimenti per lo scritto • Usare una penna (NERA) a tratto sottile – Tenete presente che il rosso viene usato per le correzioni e annotazioni da parte del docente ! – La matita non è accettata. • Se necessario si può usare il retro del foglio per il completamento dello svolgimento di un esercizio. – In questo caso specificare il numero dell’esercizio 16/01/2013 24 Strumenti hardware & software 1 ) PERSONAL COMPUTER 2 ) INTERNET 3 ) STRUMENTI SOFTWARE 16/01/2013 25 Strumenti Software • Per programmare in Java utilizzando come (IDE) ambiente di sviluppo integrato Eclipse abbiamo bisogno dei seguenti strumenti software: – Java JDK – Eclipse • Si tratta di strumenti software “open-source” che possono essere scaricati liberamente da appositi siti internet . Andare sul sito indicato nel link della pagina della didattica web : http://www.oracle.com/technetwork/java/javase/downloads/index.html e fare il download del software indicato Andare sul sito indicato nel link della pagina della didattica web : http://www.eclipse.org/downloads/ e fare il download del software indicato Installazione di JDK • Una volta scaricato il JDK fare doppio click sul file e seguire le istruzioni . 16/01/2013 31 Installazione di JDK 16/01/2013 32 Installazione di JDK 16/01/2013 33 Cos’è Eclipse? • Eclipse è un Ambiente di sviluppo integrato (IDE -Integrated Development Enviroment) open-source ovvero una piattaforma integrata che consente di gestire l'intero processo di sviluppo di applicazioni Java scaricabile gratuitamente da: http://www.eclipse.org/downloads • E’ necessario scegliere la versione adatta al proprio sistema operativo del file “Eclipse IDE for Java Developers (92 MB)” • • • • Windows Mac OS X Linux 32bit Linux 64bit Eclipse è abitualmente utilizzato da moltissimi sviluppatori in tutto34il 16/01/2013 mondo in quanto è dotato di caratteristiche di alta qualità e produttività Esecuzione Eclipse Scrivo la prima istruzione Java nel primo programma: System.out.println("Benvenuto al corso di Java"); 16/01/2013 35 16/01/2013 36 Compilo ed eseguo 16/01/2013 37 Il programma stampa a video la frase “Benvenuto al corso Java" nella finestra di output. 16/01/2013 38 Uno sguardo al processo di sviluppo di un programma Java • • • • In Java i programmi sorgenti sono scritti in formato testo contenuto in file con estensione .java Questi file saranno compilati in altri file .class usando un compilatore (javac) Un file .class non contiene codice nativo per un particlare processore; esso contiene bytecodes — il codice macchina della Java Virtual Machine (JVM ) Successivamente si usera un tool (launcher ) (java) per eseguire l’applicazione su una istanza della Java Virtual Machine. 16/01/2013 39 Uno sguardo al processo di sviluppo di un programma Java • Tramite la JVM, la stessa applicazione è in grado di essere eseguita su piattaforme diverse. • La JVM è disponibile per in molti sistemi operativi diversi, il medesimo file .class può essere eseguito su Microsoft Windows Linux MacOS 16/01/2013 40 16/01/2013 41 16/01/2013 42 Programmazione in Java Il file .java contiene il programma sorgente creato. Il compilatore Java (javac) “traduce” il programma .java ( una o più classi Java) in ByteCode .class . Ciascuna JVM - diversa per ogni dispositivo - riceve il programma tradotto in ByteCode e lo interpreta nel linguaggio della macchina locale in modo che possa essere eseguito. 16/01/2013 43 Strumenti di Sviluppo per Dispositivi Mobili: EclipseMe (J2ME) EclipseMe è un plug-in (un programma non autonomo che interagisce con un altro programma per ampliarne le funzioni) di Eclipse che consente di creare le Midlet (applicazioni JAVA per smartphone che hanno preinstallata la J2ME Virtual Machine (mobile edition) in quantodotato delle librerie necessarie. Dopo aver creato il programma, consente di emulare il funzionamento tramite il Default ColorPhone(emulatore illustrato in figura) 16/01/2013 44 Strumenti di Sviluppo per Dispositivi Mobili: ADT (Android) • ADT (Android Development Tools ) è un plug-in di Eclipse che permette di rendere molto più semplice e rapido il processo di sviluppo software visto che nativamente tutti i tools della SDK non sono accessibili tramite interfacce grafiche ma soltanto attraverso linea di comando. Dopo aver creato il programma, consente di emulare il funzionamento 16/01/2013 tramite emulatore 45 ….ora possiamo iniziare ma “… would advise students to pay more attention to the fundamental ideas rather than the latest technology. The technology will be out-of-date before they graduate. Fundamental ideas never get out of date”. David Parnas 16/01/2013 46