Programmazione ad Oggetti



Documenti analoghi
INSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C - IEI

INSEGNAMENTO DI INGEGNERIA DEL SOFTWARE B (5 CFU) CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA INFORMATICA a.a

INSEGNAMENTO DI: FONDAMENTI DI INFORMATICA C

FONDAMENTI DI INFORMATICA II

Linguaggi. - lezione 00 - Informazioni generali sul corso. Informazioni generali. Chiarimenti e informazioni

Fondamenti di Informatica 1 A.A Studenti. Obiettivo del corso. Programma del corso

Obiettivi del corso. Programmazione Corso di laurea in Informatica

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

Fondamenti di Informatica

Programmazione Orientata agli Oggetti

Programmazione Orientata agli Oggetti I

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

Fondamenti di Informatica

Docente: Prof. Marco Patella Tutor: Lorenzo Rosa

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

Università di Padova Facoltà di Ingegneria Laurea triennale Corsi della classe 9 Ingegneria dell Informazione

Programmazione. Prof. Marco Bertini

Informatica A.A Obiettivo del corso. Orario delle lezioni. Orario delle lezioni

Introduzione al corso

Linguaggi. Corso di Laurea in Ingegneria delle Telecomunicazioni A.A

Corso di Fondamenti di Informatica L-B

Introduzione al corso

Principi di Sistemi Operativi (1 anno Corso di Laurea Magistrale in Ingegneria Informatica) ANNO ACCADEMICO

Progettazione di Sistemi Operativi (1 anno Corso di Laurea Magistrale in Ingegneria Informatica) ANNO ACCADEMICO

Laboratorio di Tecnologie dell'informazione

Informatica industriale L-31. Corso di Programmazione e Laboratorio di Programmazione

Programmazione Orientata agli Oggetti in Linguaggio Java

Laboratorio di Tecnologie dell'informazione

Laboratorio di Tecnologie dell'informazione. Ing. Marco Bertini

Informatica industriale L-31. Corso di Programmazione 1

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

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

Tecnologie Informatiche L-31. Corso di Ingegneria del software e Laboratorio di Ingegneria del software

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

Corso di Programmazione I Introduzione

Introduzione al corso

Laboratorio di Tecnologie dell'informazione

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

Introduzione al corso

Informatica industriale L-31. Corso di Programmazione e Laboratorio di Programmazione

Ingegneria Informatica A.A

Fondamenti di Informatica (lettere A-I) A

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

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

Corso di Fondamenti di Informatica L-B

Programmazione e Laboratorio 2004/05

Algoritmi e Strutture Dati

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

Programmazione. Prof. Marco Bertini

Fondamenti di Informatica modulo B

Fondamenti di Informatica modulo B

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Basi di Dati II. Introduzione al corso

Elementi di Informatica e Programmazione

Programmazione I - corso B a.a prof. Viviana Bono

Corso di Fondamenti di Informatica T-1

FONDAMENTI DI INFORMATICA

CORSO DI Principi di Sistemi Operativi (1? anno Corso di Laurea Specialistica in Ingegneria Informatica) ANNO ACCADEMICO

Laboratorio di Informatica

Fondamenti di Informatica modulo B

Grafica ed interfacce per la comunicazione. Scienze della Comunicazione A.A.2013/14

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Informazioni sul corso

Fondamenti di Intelligenza Artificiale

Corso di Fondamenti di Informatica T-1

Fondamenti di Informatica per la Sicurezza a.a. 2008/09. Introduzione. Stefano Ferrari

Fondamenti di Informatica A.A Studenti

Fondamenti di Informatica

Corso di Elementi di Informatica e Applicazioni Numeriche T (6 cfu) Anno Accademico 2013/2014

Fondamenti di Informatica

Corso di Fondamenti di Informatica L-A

Fondamenti di Informatica A.A Obiettivo del corso. Programma del corso. Orario delle lezioni

Operating Systems & Lab

Basi di dati I

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Fondamenti di Informatica e Laboratorio - modulo B

Fondamenti di Informatica. Introduzione al Corso

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

Fondamenti di Intelligenza Artificiale

Sistemi Distribuiti Anno accademico 2010/11

Metodi Avanzati di Programmazione Informatica Triennale-Brindisi Corrado Loglisci

Corso di Fondamenti di Informatica T-1

Corso di. Corso di Studi in Ingegneria Informatica. Prof. Paola Mello, Prof. Paolo Bellavista, Prof. Gabriele Zannoni Anno Accademico 2008/2009

Sistemi Informativi. Ing. Fabrizio Riguzzi

Introduzione al corso. Obiettivo del corso

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

Corso di Fondamenti di Informatica T-1

Corso di. Corso di Studi in Ingegneria Informatica. Prof. Paola Mello, Prof. Paolo Bellavista, Prof. Gabriele Zannoni Anno Accademico 2008/2009

Linguaggi di Programmazione + Lab. A.A Docente: Marco de Gemmis. Presentazione dell insegnamento

Algoritmi e Strutture di Dati

CORSO DI PROGRAMMAZIONE. Cosimo Laneve/Ivan Lanese/Elena Giachino

Dip. Informatica VI Piano. Ambito disciplinare. Secondo Semestre Secondo Anno Lezioni frontali (9 CFU) Progetto (3 CFU)

FONDAMENTI DI INFORMATICA

Fondamenti di Informatica e Programmazione

Transcript:

Programmazione ad Oggetti

Informazioni generali Docente Giacomo Cabri Come contattarmi Via email (consigliato) giacomo.cabri@unimore.it Telefono 059/2058320 Ricevimento Lunedì dalle 15 alle 17 presso Matematica, secondo piano Sito web dell insegnamento http://didattica.agentgroup.unimore.it/wiki/index.php/programmazione_ad_ogg etti 2

Testo G. Cabri, F. Zambonelli, "Programmazione a oggetti in Java: dai fondamenti a Internet", Pitagora editrice, 2003 Altri testi utili B. Eckel, "Thinking in Java", 4 edizione italiana, Pearson, (scaricabile gratuitamente da Internet la versione inglese http://www.bruceeckel.com). Arnold, Gosling, Holmes, "Il linguaggio Java. Manuale ufficiale", Pearson. C.S. Horstmann, G. Cornell, "Java 2: i Fondamenti", Mc Graw Hill, The Sun Microsystems Press. Per chi vuole approfondire: Mazzanti, Milanese, "Programmazione di applicazioni grafiche in Java", Apogeo. Gamma, Helm, Johnson, Vlissides, "Design Patterns", Addison-Wesley. J.R.Hubbard, "Strutture dati in Java", McGraw-Hill. M.A.Weiss, "Data StructuresAnd Problem Solving Using Java", 2nd Edition, AddisonWesley. 3

Finalità dell insegnamento Programmazione ad Oggetti concetti generali, quali incapsulamento, ereditarietà e polimorfismo concetti di riusabilità e di composizione dei componenti software passaggio dalla programmazione modulare alla programmazione ad oggetti Il linguaggio Java esempio di linguaggio ad oggetti concetti generali implementati in Java interfacce grafiche 4

Programma Concetti generali Il Linguaggio Java Classi ed ereditarietà in Java I/O in Java Interfacce grafiche in Java Programmazione basata sugli eventi Strutture dati in Java 5

Esame L esame permette di acquisire 9 CFU Si compone di: Una prova scritta Una serie di esercizi in cui si chiede di implementare una semplice entità in Java La discussione di un progetto Un programma più complesso che sfrutta diverse caratteristiche di Java 6

Prova scritta Serve a verificare che lo studente abbia acquisito le nozioni di astrazione, classificazione, ereditarietà e polimorfismo Consiste in alcuni (di solito 2-3) esercizi in cui si chiede di scrivere del codice Java che implementa una semplice entità 7

Prova scritta informazioni utili Per l'iscrizione all'esame scritto è necessario utilizzare ESSE3 e iscriversi entro 3 giorni prima dell'appello scritto stesso Il voto della prova scritta vale circa 1 anno (ad es., lo scritto di gennaio è valido fino alla sessione invernale dell anno successivo) La consegna di uno scritto cancella il voto precedente; la partecipazione a uno scritto senza consegnare non cancella il voto precedente È necessario aver superato lo scritto per presentare il progetto La presentazione del progetto può avvenire anche in un appello diverso da quello dello scritto 8

Progetto Consiste nello sviluppo di un programma in Java Il progetto deve avere le seguenti caratteristiche: sfruttare i meccanismi della programmazione ad oggetti: incapsulamento ereditarietà e, se necessario, le classi astratte e le interfacce (si considerano escluse le relazioni di ereditarietà diretta da classi di libreria Java) polimorfismo essere dotato di interfaccia grafica tramite cui interagire con il programma stesso sfruttare le classi di sistema Java per la gestione dell'input/output (Reader, Writer, InputStream, OutputStream) sfruttare i generics Java 9

Progetto altre caratteristiche Il software deve essere accompagnato da pagine di documentazione HTML (tipicamente le pagine generate tramite Javadoc) che descrivano le scelte di progetto effettuate e la struttura del sistema software Il programma deve essere una applicazione Java e NON una applet Il programma deve essere eseguito da linea di comando Non devono essere usate librerie proprietarie (ad es. quelle degli ambienti integrati) a meno di averlo concordato con il docente È opportuno provare il proprio programma in laboratorio prima di presentarlo in sede d'esame 10

Progetto che cosa fare Il docente proporrà una tesina È possibile implementare un progetto diverso dalla tesina, MA è necessario farlo approvare dal docente Anche via email L importante è che rispetti le caratteristiche richieste 11

Progetto problemi da evitare Problemi DA EVITARE in sede di esame: Il programma non funziona Si deve venire all esame con il programma funzionante Manca qualcosa (di solito, la documentazione) Controllare nell elenco delle caratteristiche se c è tutto Il progetto è diviso su più programmi Il programma deve essere unico (a meno di casi concordati) L ereditarietà è usata male Si capirà più avanti come va usata Non mi ricordo perché ho fatto il programma tempo fa L esame consiste nella presentazione e discussione del progetto, che vanno preparate 12