PROGRAMMAZIONE E MODELLAZIONE A OGGETTI
OBJECT-ORIENTED PROGRAMMING AND MODELING
A.A. | CFU |
---|---|
2019/2020 | 9 |
Docente | Ricevimento studentesse e studenti | |
---|---|---|
Saverio Delpriori | Su appuntamento oppure tramite email. |
Didattica in lingue straniere |
---|
Insegnamento con materiali opzionali in lingua straniera
Inglese
La didattica è svolta interamente in lingua italiana. I materiali di studio e l'esame possono essere in lingua straniera. |
Assegnato al Corso di Studio
Giorno | Orario | Aula |
---|
Giorno | Orario | Aula |
---|
Obiettivi Formativi
Il corso presenta una panoramica dei concetti alla base dello sviluppo di sistemi software arbitrariamente complessi. Vengono dettagliate le tecniche e le metodologie utilizzate per paradigmi di sviluppo software orientati agli oggetti.
Programma
01. Paradigmi di programmazione
01.01 I principali paradigmi di programmazione
01.02 La programmazione ad oggetti
02. Unified modeling language (UML)
02.01 Introduzione a UML
02.02 Diagrammi di struttura: classi, oggetti, package
02.03 Diagrammi di comportamento: casi d’uso
02.04 Diagrammi di interazione: comunicazione, sequenza
02.05 Macchine a stati, attività e altri diagrammi
03. Il linguaggio C#
03.01 Introduzione al linguaggio, tipi di dato, istruzioni e metodi
03.02 Classi ed oggetti
03.03 Ereditarietà
03.04 Polimorfismo, classi astratte e interfacce
03.05 Gestione delle eccezioni
03.06 Tipi generici
03.07 Concetti avanzati
04. Design pattern
04.01 Introduzione ai design pattern
04.02 Pattern creazionali
04.03 Pattern strutturali
04.04 Pattern comportamentali
06 Attività di Laboratorio
06.01 L’ambiente di sviluppo integrato Visual Studio
06.02 Sviluppo guidato di una semplice classe
06.03 Sviluppo di una gerarchia di classi e uso del polimorfismo
06.04 Sviluppo di una collezione generica e gestione delle eccezioni
06.05 Implementazione di un design pattern
Eventuali Propedeuticità
Non vi sono propedeuticità obbligatorie, tuttavia si suggerisce di seguire il corso dopo aver sostenuto gli esami di Programmazione Procedurale e Algoritmi e Strutture Dati.
Risultati di Apprendimento (Descrittori di Dublino)
Conoscenza e comprensione
Lo studente acquisirà le competenze necessarie per riconoscere ed utilizzare i paradigmi principali di progettazione e programmazione software. Lo studente acquisirà padronanza nell’utilizzo della notazione visuale UML per la modellazione del software. Lo studente sarà in grado di capire il funzionamento e l’utilità dei principali "design pattern" come modelli logici di soluzione a problemi frequentemente ricorrenti nelle fasi di progettazione e sviluppo del software.
Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di applicare le pratiche più diffuse nella modellazione visuale tramite UML. Sarà inoltre in grado di applicare soluzioni standard a problemi ricorrenti nello sviluppo software e di sviluppare software utilizzando il linguaggio di programmazione C#.
Autonomia di giudizio
Lo studente sarà in grado di valutare una architettura software in termini di modularità, manutenibilità, validità delle astrazioni implementate, struttura e livello di riuso del codice.
Abilità communicative
Lo studente sarà in grado di usare in modo appropriato la terminologia dei linguaggi di programmazione ad oggetti e dei design pattern.
Capacità di apprendimento
Lo studente acquisirà la capacità di apprendere le peculiarità sintattiche e semantiche di qualsiasi linguaggio di programmazione ad oggetti.
Materiale Didattico
Il materiale didattico predisposto dalla/dal docente in aggiunta ai testi consigliati (come ad esempio diapositive, dispense, esercizi, bibliografia) e le comunicazioni della/del docente specifiche per l'insegnamento sono reperibili all'interno della piattaforma Moodle › blended.uniurb.it
Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento
- Modalità didattiche
Lezioni teoriche ed esercitazioni guidate in laboratorio.
- Obblighi
Sebbene fortemente consigliata, la frequenza non è obbligatoria.
- Testi di studio
- Jon Skeet, "C# In Depth", 4th edition, Manning, 2019.
(Solo in lingua inglese) - Fowler, "UML Distilled", Addison-Wesley, 2003.
(Fowler, "UML Distilled", Pearson Italia (Addison-Wesley), 2018). - Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995.
(Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elementi per il riuso di software ad oggetti", Pearson Italia (Addison-Wesley), 2002).
- Jon Skeet, "C# In Depth", 4th edition, Manning, 2019.
- Modalità di
accertamento Prova scritta, progetto da sviluppare individualmente e prova orale.
La prova scritta, è superata se il voto è almeno di 18/32; il voto rimane valido in qualsiasi sessione di esame successiva a quella in cui la prova viene ritenuta sufficiente. La prova verterà sui primi 4 moduli del programma (paradigmi di programmazione, UML, C# e OOP).
Qualora si sostenga di nuovo lo scritto in un appello d'esame successivo il voto precedente viene annullato anche in caso di mancata consegna.Il progetto, è superato se il voto è di almeno 18/32 ed è costituito da: una relazione sul lavoro svolto, il codice sorgente pubblicato su GitHub e una demo in presenza. Relazione e codice sorgente vanno consegnati una settimana prima della demo in presenza. Il voto rimane valido in qualsiasi sessione di esame successiva a quella in cui il progetto viene consegnato. La specifica del progetto è a tema libero ma va concordata col docente. Non è possibile fare progetti di gruppo.
Qualora il progetto venga riconsegnato in un successivo appello d'esame, il voto del progetto precedentemente consegnato viene annullato.
Ulteriori specifiche sono raggiungibilli disponibili nella scheda dell'insegnamento sulla piattaforma blended.La prova orale, che può essere sostenuta solo se il progetto e la prova scritta sono stati superati. Essa consiste in una discussione del progetto e della prova scritta, più ulteriori domande. Se superata, essa determina un aggiustamento compreso tra -5/30 e +5/30 della media dei due precedenti voti, producendo così il voto finale.
Durante le lezioni verranno comunicati i dettagli riguardo la struttura delle prove e l’eventuale possibilità di effettuare prove intermedie.
Per le sessioni estiva ed autunnale a.a. 2019/2020 gli appelli si svolgeranno in modalità remota secondo le seguenti regole:- La prova scritta verrà sostituita da una prova orale che dovrà comunque essere successiva alla consegna del progetto. Il voto verrà calcolato a partire dal voto del progetto (almeno 18/32) sommando il voto dell'orale (+/-12).
- Gli studenti che hanno già superato la prova scritta sosterranno l'esame con la modalità classica: scritto, progetto e orale (opzionale).
- Nel caso in cui non si fosse soddisfatti del voto della propria prova scritta sarà possibile sostenerla nuovamente ma in modalità orale.
Ricapitolando:
- Caso 1 - Lo studente non ha superato in precedenza la prova scritta. In questo caso deve sostenere l'esame consegnando il progetto almeno una settimana prima dell'appello. L'appello consisterà nella discussione del progetto e in una prova orale.
- Caso 2 - Lo studente ha già superato la prova scritta. In questo caso sosterrà l'esame secondo le regole iniziali, consegnando il progetto almeno una settimana prima dell'appello e sostenendo, se vuole, l'orale.
- Caso 3 - Lo studente ha già superato la prova scritta ma vuole sostenerla nuovamente. In questo caso non si tiene conto del vecchio voto dello scritto e si seguono le regole della nuova modalità (vedi Caso 1)
I dettagli tecnici di ogni appello verranno comunicati agli iscritti il giorno precendete all'esame.
Rimane sempre valida la possibilità di contattare il docente per dubbi o richieste particolari. È possibile stabilire appelli straordinari su appuntamento purché pubblici (deve essere presente più di uno studente).
Per gli studenti che devono sostenere il progetto per l'esame di Programmazione ad Oggetti e Ingegneria del Software (POIS) valgono le seguenti condizioni:
- il progetto va discusso durante uno degli appelli di PMO o in uno degli appelli concordati col docente.
- qualora lo studente non riescea ad iscriversi tramite Esse3 deve contattare il docente esprimendo al volontà di sostenere l'esame nell'appello specifico.
- Il progetto deve necessariamente essere consegnato almeno sette giorni prima della data in cui si intende sostenere l'orale.
- Il voto del progetto verrà assegnato necessariamente dopo la discussione dello stesso.
- Disabilità e DSA
Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.
A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.
« torna indietro | Ultimo aggiornamento: 15/09/2020 |