Luca GRECO | PROGRAMMAZIONE AD OGGETTI
Luca GRECO PROGRAMMAZIONE AD OGGETTI
cod. 0612700009
PROGRAMMAZIONE AD OGGETTI
0612700009 | |
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA | |
CORSO DI LAUREA | |
INGEGNERIA INFORMATICA | |
2021/2022 |
OBBLIGATORIO | |
ANNO CORSO 3 | |
ANNO ORDINAMENTO 2017 | |
PRIMO SEMESTRE |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
ING-INF/05 | 3 | 24 | LEZIONE | |
ING-INF/05 | 3 | 24 | ESERCITAZIONE | |
ING-INF/05 | 3 | 24 | LABORATORIO |
Obiettivi | |
---|---|
L’INSEGNAMENTO INTRODUCE IL PARADIGMA DELLA PROGRAMMAZIONE AD OGGETTI. L’INSEGNAMENTO È PERTANTO FINALIZZATO A SVILUPPARE NEGLI STUDENTI SIA LE COMPETENZE NECESSARIE ALLA INTERPRETAZIONE DEI DOCUMENTI DI PROGETTO DI UN’APPLICAZIONE SOFTWARE FORMALIZZATI IN UML, SIA LE COMPETENZE DI PROGRAMMAZIONE NECESSARIE ALLA REALIZZAZIONE DELL’APPLICAZIONE UTILIZZANDO IL LINGUAGGIO JAVA. CONOSCENZE E CAPACITÀ DI COMPRENSIONE CONCETTI FONDAMENTALI DEL PARADIGMA DELLA PROGRAMMAZIONE AD OGGETTI: CLASSI ED OGGETTI, INCAPSULAMENTO, EREDITARIETÀ, POLIMORFISMO. LINGUAGGIO JAVA: SINTASSI, GESTIONE DELLE ECCEZIONI, I/O, THREAD. CENNI ALLA PROGRAMMAZIONE BASATA SU EVENTI PER LA REALIZZAZIONE DI INTERFACCE GRAFICHE. CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE IMPLEMENTARE IN JAVA UN’APPLICAZIONE GIÀ PROGETTATA IN TERMINI DI DIAGRAMMI DELLE CLASSI, E DESCRITTA IN UML. CONSULTARE ED IMPIEGARE LE CLASSI DEFINITE NEI PACKAGE STANDARD DI JAVA. IMPLEMENTARE SEMPLICI APPLICAZIONI MULTITHREADED CON INTERFACCE GRAFICHE. |
Prerequisiti | |
---|---|
PREREQUISITI: PER IL PROFICUO RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI È RICHIESTA UNA BUONA PRATICA DI PROGRAMMAZIONE IN C. CORSI PROPEDEUTICI: ALGORITMI E STRUTTURE DATI |
Contenuti | |
---|---|
INTRODUZIONE. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/0/0) PRESENTAZIONE DEL CORSO. IL RUOLO DELLA PROGRAMMAZIONE AD OGGETTI NELLA PRODUZIONE DEL SOFTWARE. CENNI DI INGEGNERIA DEL SOFTWARE. IL MODELLO AD OGGETTI. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/2/2) INCAPSULAMENTO, CLASSI ED OGGETTI. COSTRUTTORI E DISTRUTTORI. METODI DI ACCESSO. RIFERIMENTI AD OGGETTI. CLASSI E FUNZIONI AMICHE. OVERLOADING DEGLI OPERATORI. GESTIONE DELLA MEMORIA E CREAZIONE DINAMICA DI OGGETTI. COMPOSIZIONE ED EREDITARIETÀ. CLASSI DERIVATE E REGOLE DI VISIBILITÀ. IL POLIMORFISMO. METODI VIRTUALI E CLASSI ASTRATTE. GENERICITÀ. CENNI AL LINGUAGGIO UML E PRINCIPALI DIAGRAMMI: CLASS DIAGRAM. IL LINGUAGGIO JAVA. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 6/4/2) IL SISTEMA DEI TIPI, GLI OPERATORI E LE STRUTTURE PER IL CONTROLLO DEL FLUSSO IN JAVA. CONCETTI DI CLASSE, OGGETTO E METODI. EREDITARIETÀ E POLIMORFISMO IN JAVA. CONTROLLO DELLA VISIBILITÀ DI ATTRIBUTI E METODI. CLASSI ASTRATTE ED INTERFACCE. PACKAGE. GESTIONE DEGLI ERRORI IN JAVA. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/2/2) IL MODELLO PER LA GESTIONE DELLE ECCEZIONI IN JAVA. ECCEZIONI CONTROLLATE E NONCONTROLLATE. LE CLASSI DEL JDK PER LA GESTIONE DELLE ECCEZIONI. LA GENERAZIONE DI ECCEZIONI. COLLEZIONI DI STRUTTURE DATI IN JAVA. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/4/4) IMPLEMENTAZIONI ASTRATTE E CONCRETE DI LIST, QUEUE, SET E MAP. ITERATORI. IMPLEMENTAZIONE DEGLI ALGORITMI DI RICERCA ED ORDINAMENTO SULLE COLLEZIONI. TIPI GENERICI. INPUT/OUTPUT IN JAVA. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/4) I/O A BYTE E A CARATTERE. I PACKAGE E LE CLASSI PER L'I/O IN JAVA. ECCEZIONI PER LA GESTIONE DELL’I/O. PROGRAMMAZIONE CONCORRENTE IN JAVA. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/4) FONDAMENTI DI PROGRAMMAZIONE CONCORRENTE E MULTITHREAD. SINCRONIZZAZIONE DEI THREAD, CONDIVISIONE DELLE RISORSE, GESTIONE DELLE PRIORITÀ. PROGRAMMAZIONE MULTITHREAD IN JAVA. PROGETTO DELLE INTERFACCE GRAFICHE. (ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/4) COMPONENTI PRINCIPALI PER LA PROGETTAZIONE DI GRAPHICAL USER INTERFACE (GUI). JAVAFX: GESTIONE DEGLI EVENTI E GESTIONE DEL LAYOUT. TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO 32/18/22 |
Metodi Didattici | |
---|---|
CONSIDERATA LA NECESSITÀ PER GLI STUDENTI DI ACQUISIRE CONOSCENZE TEORICO-METODOLOGICHE E PROGETTUALI, L’ATTIVITÀ FORMATIVA SARÀ ARTICOLATA IN LEZIONI FRONTALI, ESERCITAZIONI INTERATTIVE. LE LEZIONI IN AULA RIGUARDERANNO TUTTI GLI ARGOMENTI DEL CORSO. LE ESERCITAZIONI INTERATTIVE SERVIRANNO A SVILUPPARE LE CAPACITÀ APPLICATE. PER POTER SOSTENERE LA VERIFICA FINALE DEL PROFITTO E CONSEGUIRE I CFU RELATIVI ALL’ATTIVITÀ FORMATIVA, LO STUDENTE DOVRÀ AVERE FREQUENTATO ALMENO IL 70% DELLE ORE PREVISTE DI ATTIVITÀ DIDATTICA ASSISTITA. |
Verifica dell'apprendimento | |
---|---|
LA PROVA DI ESAME È FINALIZZATA A VALUTARE NEL SUO COMPLESSO: LA CONOSCENZA E LA CAPACITÀ DI COMPRENSIONE DEI CONCETTI PRESENTATI AL CORSO; LA CAPACITÀ DI APPLICARE TALI CONOSCENZE PER LA RISOLUZIONE DI PROBLEMI MEDIANTE L’ADOZIONE DEL PARADIGMA DELLA PROGRAMMAZIONE AD OGGETTI ED IN PARTICOLARE DEL LINGUAGGIO JAVA; L’AUTONOMIA DI GIUDIZIO, LE ABILITÀ COMUNICATIVE E LA CAPACITÀ DI APPRENDERE. ESSA CONSISTE DI UNA PROVA PRATICA E DI UN COLLOQUIO ORALE. LA PROVA PRATICA È TESA AD ACCERTARE LE COMPETENZE NEL REALIZZARE PROGRAMMI IN LINGUAGGIO JAVA, ED È REALIZZATA DIRETTAMENTE SUL SISTEMA DI ELABORAZIONE PERSONALE. SONO CONSIDERATE CAPACITÀ MINIME QUELLE DI RISOLVERE IL PROBLEMA PROPOSTO, SENZA ERRORI SINTATTICI RILEVANTI; VICEVERSA SONO RITENUTE CAPACITÀ MASSIME QUELLA DI PERVENIRE A SOLUZIONI ALGORITMICHE CHE SIANO EFFICIENTI E CHE FACCIANO USO DELLE STRUTTURE DATI E DEGLI ALGORITMI PIÙ ADEGUATI, SFRUTTANDO OPPORTUNAMENTE LE LIBRERIE MESSE A DISPOSIZIONE DAL LINGUAGGIO. SONO ESONERATI DALLA PROVA PRATICA GLI STUDENTI CHE HANNO SUPERATO CON ESITO POSITIVO I CONTEST DURANTE IL CORSO. IL COLLOQUIO ORALE VERTERÀ SU TUTTI GLI ARGOMENTI DEL CORSO E LA VALUTAZIONE TERRÀ CONTO DELLE CONOSCENZE DIMOSTRATE DALLO STUDENTE E DEL GRADO DEL LORO APPROFONDIMENTO, DELLA CAPACITÀ DI APPRENDERE DIMOSTRATA, DELLA QUALITÀ DELL’ESPOSIZIONE. AI FINI DEL VOTO FINALE LA PROVA PRATICA CONTRIBUISCE AL 60% E LA PROVA ORALE AL 40%. LA LODE E' ATTRIBUITA A QUEGLI STUDENTI CHE DIMOSTRANO LA CAPACITA' DI APPLICARE LE CONOSCENZE ACQUISITE ANCHE IN CONTESTI DIFFERENTI DA QUELLI PROPOSTI DURANTE IL CORSO. |
Testi | |
---|---|
CLAUDIO DE SIO CESARI, “IL NUOVO JAVA. GUIDA COMPLETA ALLA PROGRAMMAZIONE MODERNA”, HOEPLI INFORMATICA TESTI ED URL DI CONSULTAZIONE ED APPROFONDIMENTO - BRUCE ECKEL, ""THINKING IN JAVA (4TH ED.)"", PRENTICE HALL - HERBERT SCHILDT, “JAVA – THE COMPLETE REFERENCE (9TH ED.), ORACLE PRESS - JAVA TUTORIALS - HTTP://DOCS.ORACLE.COM/JAVASE/TUTORIAL/ MATERIALE DIDATTICO INTEGRATIVO SARA' DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO. |
Altre Informazioni | |
---|---|
L'INSEGNAMENTO E' EROGATO IN ITALIANO |
BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2022-11-21]