La pagina relativa a questo insegnamento per il precedente anno accademico è consultabile sul sito del corso per l'a.a. 2016-17.
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.
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.
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). Infine, tali studenti dovranno sviluppare in Eiffel un progetto didattico.
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.
NB: sezione da aggiornare all'anno 2017-18
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.
In aggiunta al libro di testo sopra indicato si segnalano le seguenti risorse disponibili online:
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:
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.
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.
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 21 giugno 2018
Esame del 30 luglio 2018
Esame del 22 febbraio 2019
La discussione orale e la verbalizzazione verranno effettuate venerdi 5 marzo 2019 alle 16:30 presso il mio ufficio.
Gli studenti che avessero problemi per questa data sono pregati di contattarmi per e-mail.
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: 5 marzo 2019 alle 03:15.
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