Fondamenti della Programmazione: Metodi Evoluti

Indice


Torna all'Indice

La pagina relativa a questo insegnamento per il precedente anno accademico è consultabile sul sito del corso per l'a.a. 2014-15.

Fintanto che non viene esplicitamente pubblicata la pagina del corso per l'anno accademico successivo, si intende valida per tale anno la pagina del corso per l'anno accademico corrente.


Torna all'Indice

L'obiettivo formativo del corso è quello di imparare gli elementi fondamentali per padroneggiare la programmazione in modo professionale.

Scrivere un programma che in qualche modo funziona è abbastanza facile. Non richiede di sporcarsi le mani, né di faticare. Viceversa, scrivere un programma che funziona in modo robusto ed affidabile, anche e soprattutto man mano che lo si modifica ed aggiorna, richiede strumenti e tecniche adeguate.

In questo corso, per raggiungere tale obiettivo, si utilizza:

Per saperne di più si suggerisce di leggere le due prefazioni (una orientata allo studente, l'altra al docente) del libro di testo.


Torna all'Indice

Questo insegnamento può essere seguito e sostenuto anche da studenti del Corso di Laurea Magistrale in Matematica. A questo scopo tali studenti devono avvisare, anche per mail, il docente all'inizio del corso e sostenere un breve colloquio preliminare di verifica della consistenza - da un punto di vista didattico - dell'insegnamento con il resto del piano di studio dello studente. Successivamente devono inserire questo corso nel loro piano di studio con un carico didattico di 8 CFU (Crediti Formativi Universitari).


Torna all'Indice

Questo è il libro di testo (in inglese) seguito nel corso delle lezioni:

Bertrand Meyer
Touch of Class: Learning to Program Well with Objects and Contracts
Springer

Errata Corrige per l'edizione 2009 (1-ma edizione), dal sito originale del libro.


Torna all'Indice

I lucidi (in inglese) presentati durante le lezioni sono scaricabili qui sotto (le voci marcate come "Progetto" sono file .zip con i progetti Eiffel discussi):

Tali lucidi sono disponibili nella loro versione originale su questa pagina cliccando sul link slides and video recordings. Qui potete anche accedere alle registrazioni audio/video originali delle stesse lezioni (utili se volete esercitare l'inglese!)

La stessa pagina contiene anche il materiale di esercitazione. Cliccare sul link exercise sheets per testo e soluzioni di esercizi. Cliccare sul link exercise slides per i lucidi di approfondimento degli argomenti trattati nelle esercitazioni.

Versioni inglese aggiornate negli anni successivi del materiale di esercitazione si trovano ai link sotto elencati, mentre i lucidi delle lezioni degli anni successivi sono tutti in tedesco:

L'ambiente di sviluppo EiffelStudio usato durante il corso è gratuitamente disponibile per la maggior parte delle piattaforme (Windows, Mac, Linux, ...) in versione Open Source a questa pagina. Sul sito di supporto dell'ambiente sono disponibili ulteriori informazioni.

Le istruzioni per scaricare la libreria Traffic usata per le esercitazioni si trovano nel documento di testo (sheet) dell'esercizio della settimana 1 dell'Anno 2012, che è l'anno di riferimento per il materiale di esercitazione. Un'introduzione alla libreria Traffic si trova qui. Un aiuto alla risoluzione di problemi incontrati con Traffic si trova qui.

Risorse per lo studio del linguaggio Eiffel

In aggiunta al libro di testo sopra indicato si segnalano le seguenti risorse disponibili online:

Note operative per l'installazione

Eiffel, come molti altri linguaggi di programmazione moderni, è in continua evoluzione. Non tanto il linguaggio in sé, che nel suo nucleo è ormai stabile da molti anni, quanto nell'ambiente di sviluppo EiffelStudio. Di quest'ultimo, più o meno ogni anno, ne viene rilasciata una nuova versione. Accedete al sito di supporto per vedere qual è l'ultima versione disponibile. Le ultime versioni Open Source sono gratuitamente disponibili a questa pagina.

Ai fini del corso non è importante aver installato l'ultima versione. Nel seguito trovate le istruzioni di dettaglio per la versione usata durante l'a.a. 2012-13:

Per quanto riguarda la libreria Traffic, nel corso usiamo la versione etichettata ev_1134 disponibile sul sito Bitbucket di Traffic, su cui appare etichettata come traffic_3.zip:

Suggerimenti per l'uso dell'ambiente EiffelStudio

Si suggerisce di dedicare un po' di tempo alle pagine disponibili nella sezione dedicata a EiffelStudio, sul sito di documentazione di Eiffel.
    In particolare le pagine della sotto-sezione How To's vi guidano all'esecuzione dei compiti più comuni (studiate con particolare attenzione quelle relative a Running and debugging), quelle della sotto-sezione A Guided Tour vi presentano tutte le caratteristiche importanti dell'ambiente (studiate con particolare attenzione quelle relative a Debugging and Run-time Monitoring), e quella della sottosezione Reference contengono la descrizione dei vari componenti dell'ambiente.


Torna all'Indice

Modalità di verifica

L'esame di questo insegnamento consiste nello svolgimento di una prova scritta, con sua eventuale discussione orale. Per gli studenti del Corso di Laurea Magistrale (che devono aver inserito questo insegnamento nel loro piano di studi con 8 CFU) è previsto anche lo svolgimento di un progetto individuale di sviluppo di un programma in Eiffel.

La prova scritta è costituita da esercizi e domande sull'intero programma del corso. L'eventuale discussione orale ha l'obiettivo di chiarire la valutazione dello scritto ed investigare aspetti del programma sui quali il docente ritiene opportuno, a sua discrezione, un approfondimento del livello di prepararazione dell'esaminando.

Esami

Gli Appelli d'Esame per la sessione regolare si svolgeranno nel periodo indicato sul sito del Corso di Laurea secondo il calendario di dettaglio che verrà pubblicato sul sito del Corso di Laurea. E' necessario prenotarsi on-line all'indirizzo http://delphi.uniroma2.it. Gli studenti del Corso di Laurea Magistrale (e solo loro!) devono invece inviare una mail al docente.

L'esame può essere sostenuto o nella sessione regolare di esami (giugno-luglio) o nelle due sessioni di recupero (settembre e gennaio-febbraio).

Nella sessione regolare di esami vi sono a disposizione due appelli e si può sostenere l'esame o al primo o al secondo appello ma non in entrambi. L'esame si considera sostenuto se viene consegnato l'elaborato scritto per la correzione. Lo studente che si presenta al primo appello a svolgere la prova scritta ma non consegna l'elaborato può quindi ripresentarsi al secondo appello. Se invece consegna l'elaborato per la correzione e prende un'insufficienza o rifiuta il voto può ripresentarsi solo nelle sessioni di recupero.

Nella sessione di recupero di settembre c'è a disposizione un solo appello. Analogamente, nella sessione di recupero di gennaio-febbraio c'è a disposizione un solo appello. E' possibile sostenere l'esame nella prima sessione di recupero e, in caso negativo, sostenerlo nuovamente nella seconda sessione di recupero.

PRIMA DI CHIEDERE SPIEGAZIONI PER POSTA ELETTRONICA SULLE MODALITA' DI ESAME ASSICURATEVI DI AVERE LETTO TUTTE LE SPIEGAZIONI FORNITE SU QUESTO SITO! GRAZIE.

Esame del 16 giugno 2016

Esame del 22 luglio 2016

Esame del 22 settembre 2016

Esame del 23 gennaio 2017


Torna all'Indice

Il normale orario di ricevimento nel periodo di svolgimento delle lezioni di questo corso è al termine delle lezioni stesse. Negli altri periodi è normalmente il giovedi dalle 13 alle 15, ma si prega di prenotarsi sempre, scrivendo per email (nardelli@mat.uniroma2.it) per fissare un appuntamento.


Ultimo Aggiornamento di questa pagina: 1 febbraio 2017 alle 11:30.


Prof. Enrico Nardelli
Dipartimento di Matematica
Università Roma "Tor Vergata"
Via della Ricerca Scientifica snc
I-00133 Roma, Italy

Tel. +39 06 7259.4204
Mob. +39 335 590.2331
Fax. +39 06 7259.4699
E-mail:  nardelli@mat.uniroma2.it
URL:   http://www.mat.uniroma2.it/~nardelli

Valid XHTML 1.0 Strict CSS Valido!