Metodi Avanzati di Programmazione 2012/2013 Informatica (Brindisi) Loglisci Corrado

Documenti analoghi
Metodi Avanzati di Programmazione Informatica Triennale-Brindisi Corrado Loglisci

Metodi Avanzati di Programmazione (II Anno) a.a. 2011/2012 Docente: Annalisa Appice Dipartimento di Informatica Università degli Studi Bari Aldo Moro

INGEGNERIA DEL SOFTWARE INFORMATICA ARDIMENTO PASQUALE

Intelligenza Computazionale INSEGNAMENTO ANNO ACCADEMICO Informatica Magistrale CORSO DI LAUREA IN Anna Maria Fanelli DOCENTE II

CALCOLO NUMERICO INSEGNAMENTO 2015/2016 ANNO ACCADEMICO INFORMATICA, Laurea Triennale CORSO DI LAUREA IN ALESSANDRO PUGLIESE DOCENTE SECONDO

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Fondamenti di Fisica (Corso A) INSEGNAMENTO 2016/17 ANNO ACCADEMICO Informatica CORSO DI LAUREA IN Annalisa Mastroserio DOCENTE primo

Corso Programmazione Java Standard

Corso di Programmazione I Introduzione

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Programma Master Programmatore Java

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

Programmazione Orientata agli Oggetti I

CALCOLO NUMERICO INSEGNAMENTO 2015/2016 ANNO ACCADEMICO INFORMATICA L.T. FELICE IAVERNARO CORSO DI LAUREA IN DOCENTE

ANNO ACCADEMICO 2016/17. Informatica e Tecnologie per la Produzione del Software. Prof.Giovanni Dimauro. ANNO DI CORSO primo SEMESTRE primo

PIANO DI LAVORO PREVENTIVO. Piano di lavoro preventivo dei Proff. Nicola Christian Barbieri Filomena Daraio. Materia INFORMATICA

PROGETTAZIONE DIDATTICA

Obiettivi del corso. Programmazione Corso di laurea in Informatica

La programmazione ad oggetti: chiamate di metodi. Overloading. This

Dipartimento di INFORMATICA TC - TTRG. Anno Scolastico Piano di Lavoro Disciplinare. INFORMATICA Articolazione: INFORMATICA Classe IV

Informatica triennale (L31) sede di Bari Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione

SCHEDA INSEGNAMENTO A.A. 2017/2018

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura Anno Accademico

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

FONDAMENTI DI INFORMATICA II

Tecnologie di Sviluppo per il Web

Laboratorio di Tecnologie dell'informazione. Ing. Marco Bertini

Docenti Prof.ssa Biagini Barbara Prof. Sollitto Carlo INDIRIZZO DI STUDI SISTEMI INFORMATIVI AZIENDALI

Marco Faella Introduzione al corso

Informatica e Comunicazione Digitale Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione

Introduzione al corso

Informatica e Tecnologie per la Produzione del Software Crediti formativi 7+2

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

Corso di Laurea in Informatica a.a

PRIMO MODULO. DURATA: 80 ore CONTENUTI

Università degli Studi di Bologna. Facoltà di Ingegneria CORSO DI INGEGNERIA DEL SOFTWARE. Prof. Evelina Lamma

I.I.S. Federico II di Svevia - Melfi

Programmazione Orientata agli Oggetti in Linguaggio Java

Algoritmi e Strutture Dati

CORSO DI PROGRAMMAZIONE JAVA STANDARD + ENTERPRISE EDITION

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Introduzione al corso

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

Corso di Fondamenti di Informatica L-B

Sistemi Distribuiti Anno accademico 2009/10

Testi del Syllabus. Docente POGGI AGOSTINO Matricola:

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Basi di Dati II. Introduzione al corso

PIANO DI LAVORO. a.s / 2019

Prefazione. Capitolo 1 Sistemi di elaborazione 1

Introduzione al corso

Docente: Prof. Marco Patella Tutor: Lorenzo Rosa

SAPIENZA Università di Roma, Facoltà di Ingegneria (sede di RIETI)

4 M A.S. 2016/2017 PROGRAMMA SVOLTO E INDICAZIONI PER IL RECUPERO ESTIVO. Dei proff. SILENA CAMPANA e MONICA LUSSANA. docenti di Informatica.

Syllabus A042 Insegnamenti disciplinari

Istituto d Istruzione Secondaria Superiore. Carlo Emilio Gadda

Università degli studi Magna Graecia di Catanzaro

CORSO DI LAUREA MAGISTRALE IN INFORMATICA

Informatica e Scuola La proposta degli Atenei del Veneto

SCHEDA INSEGNAMENTO A.A. 2018/2019

Algoritmi e Strutture Dati

ACADEMY SVILUPPATORE JAVA

Programmazione. Prof. Marco Bertini

Sistemi Distribuiti e Cloud Computing A.A. 2015/16

CORSO DI LAUREA MAGISTRALE IN INFORMATICA

ISPW (9CFU) & LAS (3 CFU)

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

Laboratorio di Tecnologie dell'informazione

Capitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza

CORSO DI LAUREA IN MATEMATICA

Corso di Fondamenti di Informatica L-B

Laboratorio di Tecnologie dell'informazione

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

Sistemi Distribuiti Anno accademico 2010/11

Fondamenti di Informatica T-1

Istituto di Istruzione Superiore Statale Carlo Emilio Gadda PIANO DI LAVORO ANNO SCOLASTICO 2018/2019. I.I.S.S '' C. E. GADDA Sede di FONOVO

Disciplina: INFORMATICA

Laboratorio di Tecnologie dell'informazione

Istituto di Istruzione Superiore Statale Carlo Emilio Gadda PIANO DI LAVORO ANNO SCOLASTICO 2015/2016. I.I.S.S '' C. E. GADDA Sede di FONOVO

Introduzione alla programmazione con Java

Corso di Laurea in Informatica

Giacomo Fauser. Istituto Tecnico Settore Tecnologico Via Ricci, Novara PIANO DI LAVORO. Per l anno scolastico

Introduzione al corso

Fondamenti di informatica. Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico

SYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il...

Sommario PREFAZIONE... XI CAPITOLO 1: INTRODUZIONE AI COMPUTER, A INTERNET E AL WEB... 1 CAPITOLO 2: INTRODUZIONE ALLE APPLICAZIONI JAVA...

Fondamenti di Informatica T-1

CORSO DI LAUREA IN INFORMATICA

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Programma didattico. Sviluppare Applicazioni Distribuite in ambiente. Spring MVC

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Informatica

Fondamenti di Informatica T-1

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Corso di Laurea in Informatica

Introduzione alla programmazione con Java

Transcript:

INSEGNAMENTO ANNO ACCADEMICO CORSO DI LAUREA IN DOCENTE ANNO DI CORSO Metodi Avanzati di Programmazione 212/213 Informatica (Brindisi) Loglisci Corrado II II SEMESTRE 7 (ore 56) N CREDITI LEZIONI FRONTALI: N ORE LEZIONI FRONTALI: STUDIO INDIVIDUALE ( ) 2 (ore 3) N CREDITI ESERCITAZIONI/LABORATORIO: N ORE ESERCITAZIONI/LABORATORIO: STUDIO INDIVIDUALE ( ) N CREDITI PROGETTO/CASO DI STUDIO: N ORE STUDIO INDIVIDUALE ( ) TOTALE CREDITI: PRE-REQUISITI conoscenze di programmazione imperativa, algoritmi e strutture dati OBIETTIVI FORMATIVI Il corso si propone di fornire le conoscenze di base della programmazione e della modellazione orientata agli oggetti. Assumendo che il discente conosca il paradigma di programmazione imperativo,si utilizza l astrazione nella programmazione come chdiave di volta per introdurre i concetti fondamentali del paradigma orientato a oggetti (oggetti e classi). Il passaggio dalla programmazione imperativa a quella basata su oggetti (objectbased) è spiegato mediante la nozione di dato di prima classe. Ulteriori concetti fondamentali del paradigma orientato a oggetti (ereditarietà e polimorfismo) sono illustrati come estensioni dei corrispondenti concetti di sottotipo e di coercizione/overloading presenti nella programmazione imperativa. Attraverso l introduzione del linguaggio di programmazione Java e lo sviluppo guidato di un progetto completo si approfondisce la progettazione orientata a oggetti, la composizione di classi, l uso di gerarchie di classi ed alcune strutture dati fondamentali, lo sviluppo di applicazioni clientserver, lo sviluppo di interfacce grafiche. Campus Via E. Orabona, 4 Pagina 1

OBIETTIVI PROFESSIONALIZZANTI Sviluppo delle capacità di programmazione object-oriented in Java. Sviluppo delle capacità di documentazione e test di applicazioni remote in Java. TESTO/I ADOTTATO/I D. A. Watt Programming Language Concepts and Paradigms (cap. 5-6) Prentice Hall, 199. Bruce Eckel Thinking in Java, 4th Edition (cap. 1-11, 13-14, 16-17, 19-2, 23-24) Prentice-Hall, 26 TESTO/I CONSIGLIATO/I Altre letture consigliate sono: A.L. Ambler, M.H. Burnett, & B.A. Zimmerman Operational Versus Definitional: A Perspective on Programming Paradigms IEEE Computer, 25(9): 28-43, September 1992. M. Shaw Abstraction Techniques in Modern Programming Languages IEEE Software, 1-26, October 1984. G. Masini, A. Napoli, D. Colnet, D. Léonard, & K. Tombre Linguaggi per la Programmazione a Oggetti (cap. 2-3, 6) Gruppo Editoriale Jackson, 1989 Trasparenze del corso saranno disponibili su: http://www.di.uniba.it/~appice PROPEDEUTICITÀ OBBLIGATORIE PROPEDEUTICITÀ CONSIGLIATE Campus Via E. Orabona, 4 Pagina 2

INCENTIVI ALLA FREQUENZA * ESONERI O PROVE DI VALUTAZIONE INTERMEDIE CON MODALITÀ DI ESECUZIONE * Prova in itinere (a valore di esonero) per la prima parte del programma VALIDITÀ DEI VOTI E PREMIALITÀ ACQUISITE * MODALITÀ DI ESECUZIONE DEGLI ESAMI * PROVA SCRITTA PROVA ORALE PROVA DI LABORATORIO PROVA DI PROGETTO O CASO DI STUDIO SI SI NO NO * Valido solo per gli studenti che sostengono l esame nell anno a cui si riferisce il modulo Campus Via E. Orabona, 4 Pagina 3

CONTENUTO Metodi Avanzati di Programmazione 212/213 1. Introduzione ai paradigmi di programmazione. I tre approcci alla programmazione: operazionale, definizionale e dimostrazionale. 2. L astrazione nella programmazione Fondamenti: Introduzione all astrazione. Astrazione di funzione, di procedura, di controllo, e di selettore. Astrazione di tipo e tipi astratti di dato. Specifiche algebriche e assiomatiche per i tipi astratti di dato. I moduli per l incapsulamento dell informazione e l'information hiding. Oggetti e classi di oggetti. Astrazione di dati: Tipo astratto di dato vs. classe di oggetti. Astrazione generica. Ambienti e linguaggi di programmazione. I moduli in Ada. 3. La programmazione orientata agli oggetti. Fondamenti: oggetti, classi concrete, classi astratte, metaclassi, ereditarietà singola ed ereditarietà multipla, polimorfismo, gerarchia di classi e gerarchia di interfacce. Composizione di classi. Confronto tra ereditarietà e composizione nel riuso del software. Ambienti e linguaggi di programmazione. Java: caratteristiche generali del linguaggio; Java e Internet; Java vs. C++. Ambienti di sviluppo Java. Oggetti in Java: costruttori; distruttori; metodi, argomenti e valori di ritorno. Controllare il flusso di esecuzione: uso degli operatori Java; il controllo di esecuzione; l inizializzazione. Nascondere le implementazioni: i package; i modificatori di accesso; le interfacce. Il riuso delle classi in Java: ereditarietà, derivazione protetta; polimorfismo. I contenitori: array; collezioni; le nuove collezioni. Approfondimenti su Java: il trattamento delle eccezioni; identificazione di tipo al run-time; programmazione generica in Java; il sistema I/O di Java. Connessione con le Basi di Dati: JDBC. Creazione di interfacce per applicazioni: il package SWING. Programmazione in rete: socket, invocazione di metodi remoti, applet. Il multithreading: creazione di classi attive; sincronizzazione nell accesso dei metodi. Java Servlet Laboratorio. Esercitazioni guidate su: L ambiente Eclipse. Progetto di applicazioni con singole classi; progetto di applicazioni con più classi organizzate gerarchicamente e in package; progetto di applicazioni con classi astratte e uso del polimorfismo; progetto di applicazioni con contenitori e trattamento delle eccezioni; progetto di applicazioni con I/O da file; progetto di connessione a database; progetto di applicazioni con GUI mediante con SWING; progetto di applicazioni client-server e multithreading, progetto di applet. Campus Via E. Orabona, 4 Pagina 4

Campus Via E. Orabona, 4 Pagina 5

Campus Via E. Orabona, 4 Pagina 6