Programma Dott Ing Leonardo Rigutini Dipartimento Ingegneria dellInformazione













- Slides: 13
Programma Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell’Informazione Università di Siena Via Roma 56 – 53100 – SIENA Uff. 0577234850 -7102 rigutini@dii. unisi. it http: //www. dii. unisi. it/~rigutini/
Programma 1. Introduzione alla programmazione e JAVA: Linguaggi di programmazione Applicazioni, Applet e Servlet (JSP) JAVA Regole di base di JAVA IDE Debug Java. Doc 2. Classi ed Oggetti in JAVA Programmazione ad Oggetti Istanziare un oggetto Definire una classe: membri public e private Definire le variabili e le costanti di una classe Definire i metodi di una classe Overloading 1. Il parametro implicito this Il costruttore Metodi static Variabili static Caso particolare: costruttore privato
Programma 1. Tipi di dato e controllo del flusso Tipi di dato semplici Operatori Array Controllo del flusso if … else … … else if … switch … case … while () … do … while () il ciclo for break e continue
Programma 1. Ereditarietà Package Interfacce: interface Operatore instanceof Inner Class Ereditarietà: public, private, protected and “friend” Overrinding: final Upcasting e downcasting Classi astratte: abstract La classe Object Garbage Collector
Programma 1. Eccezioni Gestione degli errori Lanciare una eccezione Eccezioni controllate e non controllate Rimandare l’eccezione al chiamante Gestire l’eccezione La clausola fìnally Note di cronaca
Bibliografia Di Base Cay S. Hortsmann “Concetti di informatica e fondamenti di JAVA 2”, APOGEO Bruce Ekel, “Thinking in Java”, Apogeo Versione cartacea in italiano, in biblioteca Versione elettronica in Inglese all’indirizzo http: //www. mindview. net/Books/TIJ/ Cay S. Hortsmann, Gary Cornell, "Java 2: i fondamenti, " Mc. Grawhill Avanzati Jamie Jaworski, "Java 2: tutto & oltre, " Apogeo Cay S. Hortsmann, Gary Cornell “Java 2 : tecniche avanzate”, Mc. Grawhill
info Tel. : 0577 233606 Email: rigutini@dii. unisi. it Web: http: //www. dii. unisi. it/~rigutini/
Progetti Progetto Il tema del progetto deve essere concordato con il docente Possibilità di farlo a gruppi, ma occorre fare un progetto un po’ più grande Esame Non c’è orale ma domande sul progetto per spiegare le scelte progettuali e realizzative dello stesso
Regole Ogni progetto deve essere accompagnato da una documentazione (poche pagine) Il codice sorgente deve essere commentato Verrà inoltre valutato L’organizzazione (modularizzazione) del software in librerie, classi, . . . La complessità del problema che si è affrontato e il numero delle persone che hanno partecipato al progetto La correttezza dell’uso dei costrutti di programmazione Java
Alcune proposte: Giochi intelligenti: dama, scacchi, carte, forza 4…e simili con una buona interfaccia grafica ed in cui deve essere possibile giocare con il computer (che può adottare una strategia anche banale, ad es. a briscola prendo tutte le volte che posso) Giochi da tavolo: monopoli, “trivial pursuit”, ecc … ci si può limitare ad implementare parzialmente le regole del gioco ma comunque deve essere possibile giocare con il computer Sala. Giochi: Tetris, Puzzle. Bubble,
Alcune proposte: Costruire un’applicazione per la gestione di un’archivio: una biblioteca, una scuola, videoteca, … Proprietà L’archivio deve essere gestito da un DBMS SQL e contenere almeno 4 -5 tabelle collegate fra di loro L’interfaccia deve controllare i dati inseriti dall’utente (date di nascita, . . . ) L’interfaccia deve permettere la visualizzazione e lamodifica dei dati
Alcune proposte Altre applicazioni che comunque comportino: un’interfaccia non banale e costituita da più finestre alcune fra le seguenti proprietà L’uso di alcune strutture dati (tabelle hash, alberi ordinati, . . . ) L’uso di funzionalità particolari di Java (per le quali lo studente debba leggere la documentazione): es. esecuzione di thread, accesso ad un DBMS, esecuzione di servlet, interazione di più istanze del programma attraverso la rete, . . . L’implementazione di algoritmi non banali (per le quali lo studente debba studiare un pò): algoritmo dei camminimi, algoritmi che risolvono problemi usando euristiche, . .
Info Tel. : 0577234850 -7102 email: rigutini@dii. unisi. it Sito web personale: http: //www. dii. unisi. it/~rigutini/