Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


PROGRAMMAZIONE E MODELLAZIONE A OGGETTI
OBJECT-ORIENTED PROGRAMMING AND MODELING

A.A. CFU
2019/2020 9
Docente Email Ricevimento 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

Informatica Applicata (L-31)
Curriculum: PERCORSO COMUNE
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 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 dal docente in aggiunta ai testi consigliati (come ad esempio diapositive, dispense, esercizi, bibliografia) e le comunicazioni 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).
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 la sessione estiva 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).

« torna indietro Ultimo aggiornamento: 08/05/20


Condividi


Questo contenuto ha risposto alla tua domanda?


Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Il tuo 5x1000 per sostenere le attività di ricerca

L'Università di Urbino destina tutte le risorse che deriveranno da questa iniziativa alla ricerca scientifica ed al sostegno di giovani ricercatori.

Numero Verde

800 46 24 46

Richiesta informazioni

informazioni@uniurb.it

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Performance della pagina

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2020 © Tutti i diritti sono riservati

Top