Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
Laboratorio di programmazione - Computer Science - Università ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Università</strong> degli stu<strong>di</strong> <strong>di</strong> Verona<br />
Facoltà <strong>di</strong> Scienze Matematiche Fisiche e Naturali<br />
1. Introduzione<br />
Guida dello Studente<br />
Corso <strong>di</strong> Laurea triennale in<br />
Informatica<br />
ANNO ACCADEMICO 2001 − 2002<br />
L’informatica è la scienza che stu<strong>di</strong>a l’insieme delle <strong>di</strong>scipline, dei meto<strong>di</strong> e delle tecniche per l’elaborazione<br />
delle informazioni tramite <strong>di</strong>spositivi automatici <strong>di</strong> calcolo. Lo straor<strong>di</strong>nario sviluppo <strong>di</strong> questa scienza si è<br />
accompagnato costantemente ad una crescente valorizzazione del concetto <strong>di</strong> informazione come risorsa<br />
fondamentale. Gran parte dei problemi reali manifestano, infatti, aspetti tipicamente informatici, dove il<br />
trattamento automatico delle informazioni è <strong>di</strong> interesse vitale: dal controllo del traffico aereo, alla borsa<br />
telematica, alla simulazione o rappresentazione <strong>di</strong> eventi fisici e biologici, alle reti <strong>di</strong> comunicazione. Questi,<br />
come gran parte dei problemi caratterizzanti la vita quoti<strong>di</strong>ana in un mondo altamente complesso come il<br />
nostro, rappresentano problemi trattabili me<strong>di</strong>ante l’utilizzo <strong>di</strong> strumenti informatici. Agli occhi<br />
dell’informatico questi problemi, apparentemente <strong>di</strong>versi, appaiono in realtà accomunati da caratteristiche<br />
simili, al punto tale che la soluzione <strong>di</strong> un problema può essere la chiave per la soluzione <strong>di</strong> uno<br />
apparentemente lontano da esso. Per questo motivo, è essenziale per la società contemporanea formare
personale altamente specializzato e al tempo stesso versatile nello stu<strong>di</strong>o, nell’utilizzo, nella progettazione e<br />
nella ricerca <strong>di</strong> strumenti informatici sempre più avanzati, in grado <strong>di</strong> adattarsi rapidamente all’evoluzione<br />
rapi<strong>di</strong>ssima <strong>di</strong> un settore ormai <strong>di</strong> interesse vitale per ogni società avanzata.<br />
Nonostante l’informatica sia, rispetto ad altre scienze come la matematica e la fisica, relativamente più<br />
giovane, essa ha senza dubbio raggiunto nel corso <strong>di</strong> solo mezzo secolo, una maturità sua propria che ne<br />
giustifica a pieno titolo la presenza all’interno del panorama delle scienze. L’informatica come scienza<br />
affonda le sue ra<strong>di</strong>ci nella logica matematica e nella matematica <strong>di</strong>screta <strong>di</strong> inizio secolo, e da allora si è<br />
sviluppata rapidamente ed in modo autonomo in vari settori <strong>di</strong> carattere più o meno scientifico/tecnologico.<br />
Per questo motivo, ogni serio tentativo <strong>di</strong> formare un esperto <strong>di</strong> informatica non può prescindere da una solida<br />
formazione <strong>di</strong> base nei fondamenti logico−matematici <strong>di</strong> questa <strong>di</strong>sciplina. Solo attraverso questa<br />
preparazione <strong>di</strong> base è possibile formare esperti <strong>di</strong> alto livello, versatili e non vincolati all’utilizzo <strong>di</strong> specifici<br />
strumenti informatici, ma in grado <strong>di</strong> svilupparne <strong>di</strong> nuovi ad alto contenuto innovativo.<br />
L’obiettivo primario e caratterizzante il corso <strong>di</strong> laurea triennale in informatica <strong>di</strong> una facoltà <strong>di</strong> Scienze<br />
Matematiche, Fisiche e Naturali rispetto ad altri corsi <strong>di</strong> laurea simili (es. ingegneria informatica) è quello <strong>di</strong><br />
fornire competenze tecniche <strong>di</strong> alto livello (linguaggi e sistemi hardware e software) inquadrate all’interno <strong>di</strong><br />
teorie più generali, a carattere prevalentemente matematico e scientifico, necessarie per modellare<br />
correttamente i problemi e stu<strong>di</strong>are meto<strong>di</strong> appropriati per risolverli. Lo scopo del corso <strong>di</strong> laurea in<br />
informatica non si esaurisce dunque solo nel preparare i futuri laureati all’utilizzo <strong>di</strong> componenti hardware e<br />
software, quanto nel fornire le conoscenze fondamentali per comprendere la natura profonda degli strumenti,<br />
dei meto<strong>di</strong> e dei problemi dell’informatica, al fine <strong>di</strong> favorire l’innovazione necessaria per adattarsi<br />
rapidamente all’evoluzione continua del settore. In questo senso nel corso <strong>di</strong> laurea in informatica si vuole<br />
approfon<strong>di</strong>re l’informatica come scienza.<br />
Il laureato in informatica deve essere in grado <strong>di</strong> risolvere problemi complessi riguardanti l’acquisizione, la<br />
gestione e l’elaborazione dei dati e delle informazioni, valutarne i costi e l’impatto su altre tecnologie. I<br />
meto<strong>di</strong> e le scelte basate sulla conoscenza <strong>di</strong> modelli matematico−formali, per la soluzione <strong>di</strong> questi problemi<br />
caratterizza l’informatico rispetto ad altre professionalità affini. Alla formazione <strong>di</strong> questa professionalità<br />
concorre in modo essenziale la combinazione <strong>di</strong> teoria e pratica che solo un corso <strong>di</strong> laurea <strong>di</strong> tipo scientifico<br />
può fornire. I campi <strong>di</strong> impiego <strong>di</strong> questa figura professionale sono pertanto innumerevoli e <strong>di</strong>sparati, nei<br />
settori produttivi ad alto contenuto tecnologico, nell’informatizzazione delle piccole e me<strong>di</strong>e aziende, nelle<br />
banche, e nelle software house.<br />
L’offerta <strong>di</strong>dattica attuale, unita ad un rapporto stretto, anche dovuto alla con<strong>di</strong>visione <strong>di</strong> ampi spazi comuni,<br />
tra docenti e studenti nella organizzazione dei programmi <strong>di</strong> stu<strong>di</strong>o, e nello svolgimento dei corsi, rende il<br />
corso <strong>di</strong> laurea triennale in informatica <strong>di</strong> Verona un luogo vivibile, dove <strong>di</strong>dattica e ricerca convivono a<br />
stretto contatto. Tre sono i corsi <strong>di</strong> laurea in informatica attivi da più <strong>di</strong> 5 anni nel nord−est italiano, due dei<br />
quali nella regione Veneto: U<strong>di</strong>ne, Venezia e Verona. In questo senso, il corso <strong>di</strong> laurea in informatica<br />
dell’<strong>Università</strong> <strong>di</strong> Verona bene si integra nel tessuto economico, produttivo ed universitario veneto e più in<br />
generale italiano ed europeo, come <strong>di</strong>mostrato dalla crescente richiesta <strong>di</strong> informatici nelle aziende venete,<br />
italiane ed europee, ed un tasso <strong>di</strong> <strong>di</strong>soccupazione dello 0% nei settori dell’informatica, con ottime prospettive<br />
<strong>di</strong> sviluppo nei prossimi anni.<br />
2. Il corso <strong>di</strong> laurea triennale in Informatica
A partire dall’anno accademico 2001/2002 sono attivati presso questa <strong>Università</strong> il Corso <strong>di</strong> Laurea in<br />
INFORMATICA. La durata dei corsi <strong>di</strong> Laurea è triennale. A partire dall’anno accademico 2001/2002 sono<br />
attivati tutti e tre gli anni previsti per il Corso <strong>di</strong> Laurea. Ogni anno <strong>di</strong> corso è organizzato in 3 perio<strong>di</strong>,<br />
ognuno della durata <strong>di</strong> 9 settimane <strong>di</strong> lezione.<br />
I corsi sono a numero programmato ai sensi dell’art 2 della legge 264/99. Il numero massimo degli iscritti al<br />
I anno complessivo dei due corsi <strong>di</strong> Laurea in Informatica e Tecnologie dell’Informazione, in relazione alla<br />
<strong>di</strong>sponibilità e capienza delle strutture, è stato stabilito dal Senato Accademico in data 5/6/2001 a 300 unità.<br />
3. Obiettivi formativi<br />
Il corso <strong>di</strong> laurea in Informatica si propone <strong>di</strong> fornire le competenze necessarie per operare negli ambiti della<br />
progettazione, realizzazione, sviluppo, gestione e manutenzione <strong>di</strong> sistemi informatici, sia in imprese<br />
produttrici nelle aree dei sistemi informatici e dei calcolatori, che nelle amministrazioni pubbliche, nelle<br />
imprese e nei laboratori che utilizzano sistemi informatici complessi. Rispetto al corso <strong>di</strong> laurea in Tecnologie<br />
dell’Informazione, questo corso mira allo sviluppo <strong>di</strong> competenze tipicamente nei seguenti settori: sistemi<br />
informativi e banche dati, architetture software complesse, <strong>di</strong> rete (con particolare riguardo alla progettazione)<br />
e sicurezza dei sistemi. Il corso intende, inoltre, fornire conoscenze e competenze nei vari settori delle scienze<br />
e tecnologie dell’informazione e della comunicazione e consentire <strong>di</strong> utilizzare efficacemente, in forma scritta<br />
e orale, almeno una lingua dell’Unione Europea, oltre l’italiano.<br />
4. Progetto <strong>di</strong>dattico<br />
Gli obiettivi formativi previsti dal corso <strong>di</strong> laurea saranno realizzati me<strong>di</strong>ante attività <strong>di</strong>dattiche frontali e <strong>di</strong><br />
laboratorio, esercitazioni teorico/pratiche e tirocini formativi presso aziende, strutture della pubblica<br />
amministrazione e laboratori. Il corso <strong>di</strong> laurea prevede altresì soggiorni <strong>di</strong> stu<strong>di</strong>o presso altre università<br />
italiane ed estere, nel quadro <strong>di</strong> accor<strong>di</strong> nazionali ed internazionali.<br />
5. Sbocchi professionali<br />
Gli sbocchi professionali del corso <strong>di</strong> laurea in Informatica riguardano, oltre che l’insegnamento<br />
dell’informatica, praticamente tutti i settori professionali ove è richiesto lo sviluppo <strong>di</strong> sistemi informatici e<br />
l’organizzazione informatizzata delle informazioni, ovvero banche, enti pubblici e privati, piccole−me<strong>di</strong>e<br />
imprese e gran<strong>di</strong> imprese. In particolare, in questi ambiti professionali, l’impiego potrà interessare<br />
principalmente le seguenti aree: la progettazione, lo sviluppo ed il mantenimento <strong>di</strong> architetture e sistemi<br />
software complessi, la <strong>programmazione</strong> <strong>di</strong> software, lo sviluppo <strong>di</strong> servizi <strong>di</strong> rete ed applicazioni WEB,<br />
l’amministrazione <strong>di</strong> sistema informatici in imprese e la progettazione <strong>di</strong> sistemi informativi e banche dati.
6. Organizzazione del corso <strong>di</strong> laurea – i cre<strong>di</strong>ti<br />
formativi unitari<br />
Il piano degli stu<strong>di</strong>, come previsto dal Decreto Ministeriale sulle Classi delle Lauree triennali (DM 4/8/00) per<br />
la Classe 26 in Scienze e Tecnologie Informatiche è organizzato in insegnamenti−esami a cui sono attribuiti<br />
un dato numero <strong>di</strong> cre<strong>di</strong>ti formativi unitari (CFU). Un CFU corrisponde a circa 25 ore complessive <strong>di</strong> lavoro<br />
da parte dello studente.<br />
Per conseguire la Laurea in Informatica sarà necessaria l’acquisizione <strong>di</strong> 180 CFU in tre anni, <strong>di</strong> cui almeno<br />
20 CFU de<strong>di</strong>cati ad attività <strong>di</strong> laboratorio nell’ambito dei vari corsi, secondo i prospetti riportati <strong>di</strong> seguito:<br />
6.1. Piano degli stu<strong>di</strong><br />
ANNO I<br />
INSEGNAMENTI−ESAMI CFU<br />
Matematica <strong>di</strong> base 4<br />
Informatica <strong>di</strong> base 4<br />
Probabilità e statistica 4<br />
Algebra lineare 6<br />
Algebra 4<br />
Programmazione 8<br />
<strong>Laboratorio</strong> <strong>di</strong> <strong>programmazione</strong> 4<br />
Analisi matematica 8<br />
Fisica 8<br />
Architettura degli elaboratori 8<br />
<strong>Laboratorio</strong> <strong>di</strong> architetture 2<br />
60<br />
ANNO II<br />
INSEGNAMENTI−ESAMI CFU<br />
Calcolo numerico 6<br />
<strong>Laboratorio</strong> <strong>di</strong> calcolo numerico 2<br />
Algoritmi e strutture dati 8<br />
<strong>Laboratorio</strong> <strong>di</strong> algoritmi 2
Architetture software 8<br />
<strong>Laboratorio</strong> <strong>di</strong> architetture software 2<br />
Logica matematica 6<br />
Sistemi operativi 6<br />
<strong>Laboratorio</strong> <strong>di</strong> sistemi operativi 4<br />
Basi <strong>di</strong> dati e WEB 8<br />
<strong>Laboratorio</strong> <strong>di</strong> Basi <strong>di</strong> dati e WEB 2<br />
Reti <strong>di</strong> calcolatori: applicazioni 5<br />
59<br />
ANNO III<br />
INSEGNAMENTI−ESAMI CFU<br />
Fondamenti dell’informatica 6<br />
Linguaggi <strong>di</strong> <strong>programmazione</strong> e compilatori 10<br />
Economia aziendale 4<br />
Ricerca operativa 4<br />
Interazione uomo−macchina e multime<strong>di</strong>a 5<br />
Programmazione avanzata e <strong>di</strong> rete 5<br />
34<br />
6.2. Norme<br />
Per conseguire la laurea gli studenti dovranno acquisire 27 CFU oltre ai cre<strong>di</strong>ti previsti per gli insegnamenti<br />
riportati nei relativi prospetti, <strong>di</strong> cui: 9 per scelte autonome da acquisire frequentando insegnamenti e<br />
sostenendo i relativi esami all’interno dell’offerta <strong>di</strong>dattica dell’Ateneo veronese, ivi inclusa la Facoltà <strong>di</strong><br />
Scienze MM. FF. e NN., 4 da acquisire nel primo biennio per la conoscenza della lingua inglese, 9 per altre<br />
attività formative come tirocini formativi presso aziende, strutture della pubblica amministrazione e laboratori,<br />
oltre a soggiorni <strong>di</strong> stu<strong>di</strong>o presso altre università italiane ed estere, anche nel quadro <strong>di</strong> accor<strong>di</strong> internazionali,<br />
e 5 per la prova finale per il conseguimento del titolo.<br />
6.3. Sbarramenti<br />
− Lo studente deve aver ottenuto almeno 30 CFU entro il 31 Dicembre 2001 per l’iscrizione al II Anno <strong>di</strong><br />
C.L.<br />
− Lo studente deve aver ottenuto almeno 60 CFU entro il 31 Dicembre 2001 per l’iscrizione al III Anno <strong>di</strong>
C.L.<br />
6.4. Perio<strong>di</strong> <strong>di</strong> lezione<br />
I° Quadrimestre: Lunedì 1 Ottobre − Venerdì 30 Novembre<br />
II° Quadrimestre: Lunedì 7 Gennaio − Venerdì 8 Marzo<br />
III° Quadrimestre: Lunedì 8 Aprile − Venerdì 7 Giugno.<br />
6.5. Perio<strong>di</strong> sessione d’esame<br />
I Sessione esami: 10 Dicembre − 21 Dicembre<br />
II Sessione esami: 18 Marzo − 5 Aprile<br />
III Sessione esami: 17 Giugno − 28 Giugno<br />
IV Sessione esami: 1 luglio 2002 − 19 luglio 2002<br />
V Sessione esami: 2 settembre 2002 − 13 settembre 2002<br />
VI Sessione esami: 16 settembre 2002 − 27 settembre 2002<br />
7. Norme per l’ammissione<br />
E’ titolo <strong>di</strong> ammissione, ai sensi del 1° comma della Legge 11.12.1969 n. 910, il <strong>di</strong>ploma rilasciato da un<br />
Istituto <strong>di</strong> istruzione secondaria <strong>di</strong> secondo grado <strong>di</strong> durata quinquennale o da un Istituto Magistrale e da un<br />
Liceo Artistico a con<strong>di</strong>zione per questi ultimi due che sia stato superato il corso annuale integrativo.
7.1. Presentazione delle domande<br />
La domanda <strong>di</strong> ammissione è unica per i due corsi <strong>di</strong> Laurea attivati nella Classe 26: Laurea in Informatica e<br />
Laurea in Tecnologie dell’Informazione. Nella domanda lo studente dovrà in<strong>di</strong>care a quale Corso <strong>di</strong> Laurea<br />
desidera iscriversi. La domanda <strong>di</strong> ammissione, in carta libera in<strong>di</strong>rizzata al Magnifico Rettore deve essere<br />
presentata a partire dal 23 luglio 2001 ed entro e non oltre il termine perentorio <strong>di</strong> Giovedì 30 AGOSTO<br />
2001 ore 13.00,al “Servizio Accoglienza Studenti” – Chiostro S. Francesco, via S. Francesco, 22 – 37129<br />
Verona. Non si considerano giunte in tempo utile le domande pervenute oltre il termine, anche se<br />
spe<strong>di</strong>te per posta prima della data <strong>di</strong> scadenza.Tale domanda va compilata unicamente su modulo fornito<br />
dalla Segreteria Studenti e <strong>di</strong>sponibile presso il Servizio Accoglienza Studenti” – Chiostro S. Francesco, via<br />
S. Francesco, 22 – 37129 Verona. Per il riconoscimento dei benefici previsti dagli artt. 16 e 20 della Legge 05<br />
febbraio 1992 n. 104, così come mo<strong>di</strong>ficata dalla legge 28 gennaio 1999, n.17, i can<strong>di</strong>dati portatori <strong>di</strong><br />
han<strong>di</strong>cap ai sensi dell’art. 3 della medesima legge dovranno specificare − me<strong>di</strong>ante compilazione del<br />
“Quadro A” del modulo <strong>di</strong> domanda appositamente pre<strong>di</strong>sposto − la necessità <strong>di</strong> tempi aggiuntivi e/o gli<br />
ausili per lo svolgimento della prova in relazione allo specifico han<strong>di</strong>cap e allegare alla domanda idonea<br />
certificazione relativa al suddetto han<strong>di</strong>cap rilasciata dalla struttura pubblica competente. E’ anche possibile<br />
attestare <strong>di</strong> essere stato riconosciuto <strong>di</strong>sabile me<strong>di</strong>ante <strong>di</strong>chiarazione sostitutiva <strong>di</strong> certificazione. Sulla base <strong>di</strong><br />
tale certificazione/<strong>di</strong>chiarazione la Commissione per l’han<strong>di</strong>cap dell’<strong>Università</strong> valuterà la sussistenza delle<br />
con<strong>di</strong>zioni per la concessione dei suddetti tempi aggiuntivi e/o ausili, con riguardo alla specifica minorazione.<br />
Alla domanda, redatta in conformità al D.P.R. 445 del 28 <strong>di</strong>cembre 2000 “Testo unico delle <strong>di</strong>sposizioni<br />
legislative e regolamentari in materia <strong>di</strong> documentazione amministrativa” deve essere allegata attestazione<br />
dell’avvenuto versamento del contributo <strong>di</strong> ammissione <strong>di</strong> L. 50.000 (€ 25,82)da effettuarsi a mezzo<br />
dell’apposito avviso <strong>di</strong> pagamento contenuto nella domanda <strong>di</strong> ammissione. I can<strong>di</strong>dati <strong>di</strong> citta<strong>di</strong>nanza<br />
extracomunitaria residenti all’estero, che hanno fatto domanda <strong>di</strong> preiscrizione alle rappresentanze<br />
<strong>di</strong>plomatiche italiane del Paese <strong>di</strong> provenienza, non sono tenuti a presentare la domanda <strong>di</strong> cui al presente<br />
paragrafo. Per l’ammissione alla prova sono tenuti a verificare preventivamente presso la Segreteria Studenti<br />
l’avvenuta trasmissione della loro documentazione da parte dell’Autorità Consolare italiana ed a versare il<br />
contributo <strong>di</strong> ammissione. Gli studenti iscritti ad altri corsi <strong>di</strong> laurea, <strong>di</strong> questa o altre <strong>Università</strong>, e che<br />
avendone i requisiti intendano iscriversi al primo anno <strong>di</strong> uno dei due corsi <strong>di</strong> laurea in oggetto, dovranno fare<br />
la domanda prevista dal presente bando sottostando a tutte le clausole in esso previste.<br />
7.2. Studenti <strong>di</strong> citta<strong>di</strong>nanza non comunitaria residenti<br />
all’estero<br />
Gli studenti non comunitari residenti all’estero, purché abbiano presentato regolare domanda con le modalita’<br />
e nei termini previsti dalla Nota M.U.R.S.T. n. 1564 del 04 Maggio 2001 "Immatricolazione degli studenti<br />
stranieri ai corsi universitari per l’Anno Accademico 2001−2002", dovranno sostenere e superare prima della<br />
prova <strong>di</strong> selezione comune agli altri studenti, una prova orale <strong>di</strong> conoscenza della lingua italiana, che si<br />
svolgerà il giorno 4 Settembre 2001, alle ore 09.00 presso la sede della Facoltà <strong>di</strong> Scienze MM.FF.NN.,<br />
Strada Le Grazie, 15, Verona.
7.3. Modalità <strong>di</strong> svolgimento delle prove <strong>di</strong> ammissione<br />
All’ora stabilita per ciascuna prova, il Presidente della Commissione Giu<strong>di</strong>catrice o, nel caso venga nominata,<br />
il Presidente della Commissione <strong>di</strong> Vigilanza fa procedere all’appello nominale dei concorrenti e, previo<br />
accertamento della loro identità personale, li fa collocare in aula in modo che non possano comunicare fra<br />
loro. Durante le prove scritte non è permesso ai can<strong>di</strong>dati <strong>di</strong> comunicare fra loro verbalmente o per iscritto,<br />
ovvero <strong>di</strong> mettersi in relazione con altri, salvo che con gli incaricati della vigilanza o con i membri della<br />
Commissione Giu<strong>di</strong>catrice. I can<strong>di</strong>dati non possono portare carta da scrivere, appunti, manoscritti, libri o<br />
pubblicazioni <strong>di</strong> qualunque specie, usare telefoni cellulari e strumenti elettronici. I can<strong>di</strong>dati che<br />
contravvengono alle <strong>di</strong>sposizioni sopra in<strong>di</strong>cate sono esclusi dalla prova. La Commissione Giu<strong>di</strong>catrice e la<br />
Commissione <strong>di</strong> Vigilanza curano l’osservanza delle <strong>di</strong>sposizioni stesse ed hanno la facoltà <strong>di</strong> adottare tutti i<br />
provve<strong>di</strong>menti che ritenessero opportuni al fine <strong>di</strong> garantire un corretto svolgimento delle prove. Durante lo<br />
svolgimento delle stesse è garantita la presenza <strong>di</strong> almeno due membri della Commissione Giu<strong>di</strong>catrice e/o<br />
della Commissione <strong>di</strong> Vigilanza. E’ fatto obbligo ai can<strong>di</strong>dati <strong>di</strong> rimanere nell’aula sede <strong>di</strong> esame fino alla<br />
scadenza del tempo della prova. Per la compilazione del modulo risposte è necessario utilizzare<br />
esclusivamente una penna a sfera nera, che verrà fornita ad ogni can<strong>di</strong>dato dalla Commissione.<br />
7.4. Esame <strong>di</strong> ammissione<br />
L’esame <strong>di</strong> ammissione avrà luogo per tutti i can<strong>di</strong>dati che desiderano iscriversi ai Corsi <strong>di</strong> Laurea in<br />
Informatica e in Tecnologie dell’Informazione presso la Facoltà <strong>di</strong> Scienze MM.FF.NN. a Cà Vignal 2, Strada<br />
Le Grazie, 15 − 37134 Verona, il giorno 10 Settembre 2001, ore 9.30. I can<strong>di</strong>dati sono convocati per la prova<br />
alle ore 9.00. La convocazione dei can<strong>di</strong>dati all’esame è contestuale al presente bando. La prova avrà una<br />
durata <strong>di</strong> 60 minuti e sarà composta <strong>di</strong> 30 domande a risposte multiple predeterminate e pesate a carattere<br />
attitu<strong>di</strong>nale, relative alle seguenti aree: 10 domande <strong>di</strong> matematica, 10 domande <strong>di</strong> fisica e 10 domande volte a<br />
rilevare le capacità logico−deduttive del can<strong>di</strong>dato. Le domande cercheranno <strong>di</strong> cogliere una attitu<strong>di</strong>ne in<br />
ciascuna <strong>di</strong>sciplina delle quali vengono richieste conoscenze fornite in me<strong>di</strong>a nelle scuole superiori italiane.<br />
Per quanto riguarda le domande nel campi della matematica e fisica, queste verteranno sui seguenti argomenti:<br />
Matematica<br />
Insiemi numerici e calcolo aritmetico: numeri naturali, numeri reali, or<strong>di</strong>namento e confronto, proporzioni e<br />
percentuali, potenze e logaritmi. Algebra classica: prodotti notevoli, potenza n−esima <strong>di</strong> un binomio,<br />
scomposizione in fattori <strong>di</strong> polinomi, equazioni razionali o intere, <strong>di</strong>sequazioni algebriche razionali intere o<br />
fratte. Funzioni: funzioni logaritmiche, esponenziali, trigonometriche. Trigonometria: misura <strong>di</strong> angoli in<br />
gra<strong>di</strong> e ra<strong>di</strong>anti, seno, coseno, tangente <strong>di</strong> un angolo. Geometria euclidea: poligoni, circonferenza e cerchio,<br />
misure <strong>di</strong> superfici, volumi, similitu<strong>di</strong>ni, isometria. Geometria analitica: sistemi <strong>di</strong> riferimento e coor<strong>di</strong>nate <strong>di</strong><br />
un punto, <strong>di</strong>stanza tra due punti, <strong>di</strong>stanza <strong>di</strong> un punto da una retta, punto me<strong>di</strong>o <strong>di</strong> un segmento, equazione<br />
della retta, parabola, circonferenza, iperbole ed ellisse e loro rappresentazione sul piano cartesiano.<br />
Fisica<br />
Calcolo vettoriale, cinematica del punto materiale, <strong>di</strong>namica del punto materiale. Onde ed oscillazioni.<br />
Calorimetria e principi della termo<strong>di</strong>namica. Campo elettrostatico e campo magnetico. Induzione<br />
elettromagnetica. Ottica geometrica. I can<strong>di</strong>dati sono ammessi a sostenere la prova previa esibizione <strong>di</strong> idoneo<br />
documento <strong>di</strong> riconoscimento in corso <strong>di</strong> vali<strong>di</strong>tà: carta d’identità, passaporto, patente <strong>di</strong> guida, tessera<br />
postale, porto d’armi, tessera personale <strong>di</strong> riconoscimento rilasciata da Amministrazioni Statali. Sono esclusi i<br />
can<strong>di</strong>dati non in grado <strong>di</strong> esibire alcuno dei suddetti documenti.
Qualora il numero delle domande fosse inferiore al numero programmato <strong>di</strong> 300 complessivo dei due Corsi <strong>di</strong><br />
Laurea o tale si rivelasse al momento dell’esame, la prova avrà comunque luogo a titolo <strong>di</strong> test <strong>di</strong> valutazione.<br />
Nel caso il numero complessivo degli studenti presenti al test fosse superiore a 300, a seguito dello<br />
svolgimento del test <strong>di</strong> ammissione per tutti gli studenti convocati, verrà stilata una graduatoria per<br />
l’ammissione, unica per entrambi i corsi <strong>di</strong> Laurea. Il punteggio, espresso in centesimi, sarà così ripartito: −<br />
80 centesimi punti riservati all’esito del test <strong>di</strong> ammissione; − 20 centesimi riservati al punteggio riportato<br />
nell’esame finale per il conseguimento del <strong>di</strong>ploma <strong>di</strong> scuola secondaria superiore. superiore (voto <strong>di</strong><br />
maturità/5); nel caso <strong>di</strong> votazione ottenuta in 60°, il punteggio viene ovviamente adattato e trasformato nel<br />
nuovo sistema, in vigore dal 1998/99, previsto in 100°. Nel caso <strong>di</strong> parità <strong>di</strong> punteggio complessivo finale tra<br />
due o più can<strong>di</strong>dati, la precedenza in graduatoria sarà data al can<strong>di</strong>dato più giovane <strong>di</strong> età. L’esito della prova<br />
sarà reso noto me<strong>di</strong>ante affissione della graduatoria e pubblicazione sul sito WEB dell’<strong>Università</strong> <strong>di</strong> Verona<br />
(http://www.univr.it) entro 5 giorni dallo svolgimento del test. Saranno ammessi alla successiva<br />
immatricolazione i primi 300 studenti in graduatoria secondo quanto specificato nella domanda. La<br />
pubblicazione all’Albo ha valore <strong>di</strong> comunicazione ufficiale agli interessati. Il test <strong>di</strong> ammissione è<br />
obbligatorio per tutti gli studenti che desiderano iscriversi al primo anno del Corso <strong>di</strong> Laurea in Informatica o<br />
Tecnologie dell’Informazione. Il test non è obbligatorio per trasferimenti da altre Facoltà o altri Atenei ad<br />
anni superiori al primo, previo giu<strong>di</strong>zio delle competenti strutture <strong>di</strong>dattiche. L’istanza <strong>di</strong> trasferimento deve<br />
essere presentata entro e non oltre il 15 settembre 2001 presso le segreterie studenti. Coloro che non risultano<br />
idonei al trasferimento ad anni successivi al primo e non hanno superato il test <strong>di</strong> ammissione, non sono<br />
ammessi all’immatricolazione.<br />
7.5. Immatricolazione<br />
Entro le ore 13.00 del 27 settembre 2001, i vincitori dovranno perfezionare l’immatricolazione con la<br />
presentazione dei seguenti documenti alla Segreteria Studenti della Facoltà <strong>di</strong> Scienze MM.FF.NN. :<br />
1) Domanda in<strong>di</strong>rizzata al Magnifico Rettore e redatta su modulo consegnato dall’Ufficio <strong>di</strong> Segreteria.<br />
2) Attestazione dell’avvenuto pagamento della prima rata <strong>di</strong> tasse <strong>di</strong> L. 515.000 (€ 265,98) effettuato<br />
esclusivamente presso una qualsiasi <strong>di</strong>pendenza della Cariverona Banca S.p.A., previo avviso <strong>di</strong> pagamento<br />
consegnato dalla Segreteria Studenti.<br />
3) Due fotografie, formato tessera, identiche tra loro.<br />
I vincitori che non ottempereranno alle con<strong>di</strong>zioni <strong>di</strong> cui sopra entro il predetto termine del 27 settembre<br />
2001 saranno considerati decaduti e i posti che risulteranno vacanti saranno messi a <strong>di</strong>sposizioni dei can<strong>di</strong>dati<br />
idonei secondo l’or<strong>di</strong>ne <strong>di</strong> graduatoria.<br />
Il giorno 28 settembre 2001 sarà esposto all’albo della Segreteria Studenti della Facoltà <strong>di</strong> Scienze<br />
MM.FF.NN. il numero dei posti vacanti <strong>di</strong>sponibili.<br />
Il giorno 1 ottobre 2001, entro le ore 13.00, i can<strong>di</strong>dati idonei potranno presentare apposita domanda <strong>di</strong><br />
subentro, in<strong>di</strong>rizzata al Magnifico Rettore, alla Segreteria Studenti della Facoltà <strong>di</strong> Scienze MM.FF.NN.<br />
La Segreteria provvederà ad attribuire i posti in base alla graduatoria nelle prove.
Il giorno 2 ottobre 2001, sarà comunicato, me<strong>di</strong>ante affissione all’Albo della Segreteria Studenti della Facoltà<br />
<strong>di</strong> Scienze MM.FF.NN., l’elenco dei nuovi ammessi.<br />
Gli aventi <strong>di</strong>ritto all’immatricolazione sono tenuti agli adempimenti <strong>di</strong> perfezionamento<br />
dell’immatricolazione, come sopra chiesto ai vincitori, entro le ore 13.00 del 5 ottobre 2001.<br />
Quanti non si atterranno ai termini e alle modalità soprain<strong>di</strong>cate saranno considerati decaduti.<br />
Si ricorda a tutti gli interessati che, stante l’organizzazione <strong>di</strong>dattica in tre perio<strong>di</strong>, le lezioni avranno inizio<br />
Lunedì 1 Ottobre 2001.<br />
7.6. Riconoscimento dei cre<strong>di</strong>ti acquisiti in altri corsi <strong>di</strong> stu<strong>di</strong>o<br />
Il Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea è competente per il riconoscimento e l’accre<strong>di</strong>tamento dei cre<strong>di</strong>ti conseguiti<br />
dallo studente, con relativo punteggio, in altri corsi <strong>di</strong> Laurea. In caso <strong>di</strong> trasferimento dello studente da altro<br />
corso <strong>di</strong> laurea, questo può avere luogo solo a seguito della presentazione <strong>di</strong> una dettagliata documentazione<br />
rilasciata dalla sede <strong>di</strong> provenienza, che certifichi gli esami svolti con relativo voto ottenuto e cre<strong>di</strong>ti maturati.<br />
Ogniqualvolta non fosse possibile una predeterminazione automatica dei cre<strong>di</strong>ti riconoscibili, il consiglio<br />
effettuerà i riconoscimenti applicando i seguenti criteri:<br />
· In caso <strong>di</strong> provenienza da altri corsi della medesima classe <strong>di</strong> lauree o da altra classe, e per attività<br />
per le quali sia previsto un riferimento ad un settore <strong>di</strong>sciplinare specifico ammesso nelle tabelle della classe<br />
26 in scienze e tecnologie informatiche, il Consiglio provvederà a ripartire i cre<strong>di</strong>ti acquisiti dallo studente<br />
all’interno delle aree e sottoaree in<strong>di</strong>viduate nel Syllabus del Corso <strong>di</strong> Laurea in INFORMATICA (riportato<br />
nel seguito). Il Consiglio valuterà caso per caso il contenuto delle attività formative ed il raggiungimento degli<br />
obiettivi formativi determinando, in base alla sud<strong>di</strong>visione precedente, le equipollenze tra le attività svolte e<br />
quelle previste dal Corso <strong>di</strong> Stu<strong>di</strong>. In seguito a questa valutazione, il Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea determinerà<br />
l’anno <strong>di</strong> iscrizione ed il curriculum <strong>di</strong> stu<strong>di</strong>, detto piano <strong>di</strong> stu<strong>di</strong>, necessario per conseguire il titolo. Ad<br />
integrazione <strong>di</strong> eventuali carenze <strong>di</strong> cre<strong>di</strong>ti, il Consiglio <strong>di</strong> corso <strong>di</strong> Laurea può in<strong>di</strong>viduare, valutando caso per<br />
caso, le attività più opportune (tesine, esercitazioni pratiche o altre attività <strong>di</strong>dattiche integrative) fino al<br />
raggiungimento dei cre<strong>di</strong>ti previsti per la singola attività. Non si possono integrare, con attività supplementari,<br />
insegnamenti per i quali si sono maturati un numero <strong>di</strong> cre<strong>di</strong>ti inferiore al 40% dei cre<strong>di</strong>ti necessari per<br />
quell’insegnamento. In questo caso è necessario sostenere l’esame <strong>di</strong> profitto per quell’insegnamento.<br />
· In caso <strong>di</strong> attività per le quali non è previsto il riferimento a un settore <strong>di</strong>sciplinare, o non<br />
inquadrabili all’interno del Syllabus del Corso <strong>di</strong> Laurea in INFORMATICA, il Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea<br />
valuterà caso per caso il contenuto delle attività formative e la loro coerenza con gli obiettivi del corso <strong>di</strong><br />
stu<strong>di</strong>o, valutando la quantità dei cre<strong>di</strong>ti acquisiti che possono essere riconosciuti nell’ambito delle attività<br />
formative previste nel Corso <strong>di</strong> Stu<strong>di</strong>o.<br />
· Nel caso il voto da associare ad una particolare attività formativa sia il contributo <strong>di</strong> più attività<br />
che hanno dato luogo a votazioni <strong>di</strong>fferenti, il voto finale sarà determinato dalla me<strong>di</strong>a pesata sul valore <strong>di</strong><br />
ogni attività espressa in cre<strong>di</strong>ti, dei voti riportati, arrotondata all’intero più vicino. A parità <strong>di</strong> <strong>di</strong>stanza, si<br />
arrotonda all’intero superiore.<br />
· I cre<strong>di</strong>ti in eccedenza, comunque maturati, possono essere, a richiesta dello studente,<br />
automaticamente riconosciuti nelle attività facoltative (fino a 9 cre<strong>di</strong>ti) e per il tirocinio (fino a 9 cre<strong>di</strong>ti). Tale
ichiesta va espressa una volta emanato il piano <strong>di</strong> stu<strong>di</strong> da parte del Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea e può essere<br />
variata in qualsiasi momento entro e non oltre la domanda <strong>di</strong> Laurea. Eventuali cre<strong>di</strong>ti non utilizzati restano<br />
comunque spen<strong>di</strong>bili, a richiesta dello studente, all’interno del piano formativo previsto per le lauree<br />
specialistiche della Classe 23 <strong>di</strong> Informatica, secondo le modalità previste dall’or<strong>di</strong>namento della<br />
corrispondente Laurea Specialistica.<br />
7.7. Transizione dal vecchio al nuovo or<strong>di</strong>namento<br />
Lo studente iscritto a un corso <strong>di</strong> Laurea con or<strong>di</strong>namento previgente <strong>di</strong> durata quinquennale o quadriennale o<br />
<strong>di</strong>ploma triennale può optare per l’iscrizione al nuovo Corso <strong>di</strong> Laurea in INFORMATICA <strong>di</strong> durata triennale.<br />
A tal fine lo studente presenterà domanda <strong>di</strong> opzione entro il termine stabilito dalle competenti strutture<br />
<strong>di</strong>dattiche presso la segreteria studenti dell’Ateneo <strong>di</strong> Verona. Il riconoscimento delle attività svolte è regolato<br />
da quanto in<strong>di</strong>cato al punto precedente. Per gli studenti già iscritti presso l’<strong>Università</strong> <strong>di</strong> Verona ai corsi <strong>di</strong><br />
Laurea o Diploma in INFORMATICA, o al Corso <strong>di</strong> Laurea in Scienze dell’Informazione, il Consiglio <strong>di</strong><br />
Corso <strong>di</strong> Laurea provvederà a convalidare gli esami sostenuti dando una corrispondente valutazione in cre<strong>di</strong>ti<br />
ed emanando un piano <strong>di</strong> stu<strong>di</strong>, secondo l’algoritmo seguente:<br />
1. La domanda <strong>di</strong> trasferimento, formulata su appositi moduli, deve includere: il certificato degli esami<br />
svolti con relativa votazione e fotocopia del libretto universitario, nonché altra eventuale documentazione a<br />
<strong>di</strong>screzione della segreteria studenti;<br />
2. Per ogni esame sostenuto con profitto entro il 31 Dicembre dell’anno solare in cui si chiede il<br />
trasferimento, e presente nel piano degli stu<strong>di</strong> dello studente, viene determinato un corrispondente valore in<br />
cre<strong>di</strong>ti come da tabella 3.2 allegata. Il valore in cre<strong>di</strong>ti degli insegnamenti già presenti nel piano degli stu<strong>di</strong><br />
(vecchio or<strong>di</strong>namento) dello studente il cui esame è sostenuto con profitto successivamente a tale data, è<br />
valutato in base a quanto stabilito dal Manifesto degli Stu<strong>di</strong> del Corso <strong>di</strong> Laurea triennale in INFORMATICA<br />
per quell’insegnamento.<br />
3. Le attività svolte vengono ripartite secondo le aree e sottoaree come nel Syllabus del Corso <strong>di</strong><br />
Laurea in INFORMATICA, dando luogo ad un valore in cre<strong>di</strong>ti per ogni sottoarea.<br />
4. Per gli esami sostenuti con denominazione corrispondente ed uguale contenuto ad insegnamenti<br />
previsti nel Corso <strong>di</strong> Laurea triennale in INFORMATICA, o per i quali sia stata deliberata l’equipollenza con<br />
questi insegnamenti, si provvede all’imme<strong>di</strong>ato riconoscimento dell’attività svolta con il numero <strong>di</strong> cre<strong>di</strong>ti<br />
pari a quello determinato al punto 2 e comunque non oltre il valore specificato per quell’insegnamento nel<br />
Manifesto degli Stu<strong>di</strong> del Corso <strong>di</strong> Laurea triennale in INFORMATICA.<br />
5. Per gli esami con denominazione <strong>di</strong>fferente, il Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea provvederà, ove<br />
possibile, a riconoscere insegnamenti collocati nella medesima sottoarea, previa valutazione dei relativi<br />
contenuti, fino all’eventuale completamento dei cre<strong>di</strong>ti previsti nel piano <strong>di</strong> stu<strong>di</strong>o per quell’attività.<br />
6. Nel caso <strong>di</strong> mancanza <strong>di</strong> cre<strong>di</strong>ti, il Consiglio provvederà a stabilire eventuali attività integrative fino<br />
al raggiungimento dei cre<strong>di</strong>ti previsti per quell’insegnamento o attività formativa. Non si possono integrare,<br />
con attività supplementari, insegnamenti per i quali si sono maturati un numero <strong>di</strong> cre<strong>di</strong>ti inferiore al 40% dei<br />
cre<strong>di</strong>ti necessari per quell’insegnamento. In questo caso è necessario sostenere l’esame <strong>di</strong> profitto per<br />
quell’insegnamento. Nel caso si verifichi una eccedenza <strong>di</strong> cre<strong>di</strong>ti, il Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea provvederà,<br />
ove possibile, al riconoscimento <strong>di</strong> attività previste nella medesima sottoarea, previa valutazione dei relativi<br />
contenuti.
In seguito a quanto emerso nei punti precedenti, il Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea elaborerà un piano degli stu<strong>di</strong><br />
comprendente le attività riconosciute, con relativi cre<strong>di</strong>ti, eventuali attività integrative ed eventuali cre<strong>di</strong>ti in<br />
eccedenza per ogni sottoarea. I cre<strong>di</strong>ti in eccedenza comunque maturati possono essere, a richiesta dello<br />
studente, automaticamente riconosciuti nelle attività facoltative (fino a 9 cre<strong>di</strong>ti) e per il tirocinio (fino a 9<br />
cre<strong>di</strong>ti). Tale richiesta va espressa una volta accettata la domanda da parte del Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea e<br />
può essere variata in qualsiasi momento entro e non oltre la domanda <strong>di</strong> Laurea. Eventuali cre<strong>di</strong>ti non<br />
utilizzati restano comunque spen<strong>di</strong>bili, a richiesta dello studente, all’interno del piano formativo previsto per<br />
le lauree specialistiche della Classe 23 <strong>di</strong> Informatica, secondo le modalità previste dall’or<strong>di</strong>namento della<br />
corrispondente Laurea Specialistica.<br />
8. Syllabus del Corso <strong>di</strong> Laurea in Informatica<br />
Seguendo lo schema della classe <strong>di</strong> laurea 26 in Scienze e Tecnologie Informatiche, sono in<strong>di</strong>viduate le<br />
seguenti aree corrispondenti alle aree <strong>di</strong> formazione essenziali secondo le varie attività previste dalla classe:<br />
· Area Matematica (base ed affine)<br />
· Area Fisica (base ed affine)<br />
· Area Informatica (base, caratterizzante ed affine)<br />
Ogni macro area raggruppa al suo interno più settori scientifico−<strong>di</strong>sciplinari <strong>di</strong>versi che possono rappresentare<br />
contenuti sia <strong>di</strong> base che affini che caratterizzanti secondo quanto stabilito nelle tabelle dell’or<strong>di</strong>namento dei<br />
corsi <strong>di</strong> stu<strong>di</strong>o in allegato. Ogni macro area è strutturata in sottoaree omogenee, le quali a loro volta sono<br />
strutturate in uno o più moduli <strong>di</strong> insegnamento detti insegnamenti. Ad ogni insegnamento è associato un<br />
corrispondente numero <strong>di</strong> CFU secondo quanto stabilito anno per anno dal Manifesto degli Stu<strong>di</strong>.<br />
· Area Matematica:<br />
¨ Analisi matematica (MAT/05): L’obiettivo formativo è quello <strong>di</strong> fornire una adeguata conoscenza <strong>di</strong><br />
base dei concetti e delle tecniche inerenti il calcolo <strong>di</strong>fferenziale ed integrale in una o più variabili,<br />
enfatizzandone gli aspetti metodologico−applicativi rispetto a quelli logico−deduttivi.<br />
¨ Algebra (MAT/02 e MAT/03): L’obiettivo formativo è quello fornire le basi e le metodologie del<br />
calcolo algebrico e dell’algebra lineare.<br />
¨ Logica (MAT/01): L’obiettivo formativo è quello <strong>di</strong> mettere in luce le potenzialità ed i limiti dei<br />
linguaggi formali e della deduzione logica, fornendo gli strumenti <strong>di</strong> calcolo in<strong>di</strong>spensabili per la<br />
rappresentazione e manipolazione formale <strong>di</strong> problemi.<br />
¨ Probabilità e statistica (MAT/06): L’obiettivo formativo è quello <strong>di</strong> fornire gli elementi <strong>di</strong> base del<br />
calcolo delle probabilità e <strong>di</strong> alcuni strumenti elementari della Statistica.<br />
¨ Analisi Numerica (MAT/08): Gli obiettivi formativi sono quelli <strong>di</strong> introdurre le tematiche <strong>di</strong> base<br />
dell’analisi numerica, attraverso la conoscenza e la sperimentazione dei principali meto<strong>di</strong> numerici. Questo al<br />
fine <strong>di</strong> fornire le conoscenze per analizzare e risolvere problemi della matematica del continuo e del <strong>di</strong>screto<br />
me<strong>di</strong>ante l’utilizzo <strong>di</strong> strumenti e tecniche informatiche, saper stimare l’errore e la complessità del calcolo
numerico.<br />
¨ Ricerca Operativa (MAT/09): L’obiettivo è quello <strong>di</strong> fornire strumenti e metodologie per modellare e<br />
risolvere problemi <strong>di</strong> ottimizzazione, gestione e pianificazione <strong>di</strong> risorse.<br />
· Area Fisica:<br />
¨ Fisica Generale (FIS/01): L’obiettivo è quello <strong>di</strong> fornire allo studente le conoscenze <strong>di</strong> base della<br />
meccanica e dell’elettromagnetismo per educare lo studente all’applicazione del metodo<br />
scientifico−sperimentale, mettendolo in grado <strong>di</strong> affrontare un corso <strong>di</strong> stu<strong>di</strong>o a carattere scientifico e<br />
fornendogli le basi per affrontare corsi più avanzati, es. nello stu<strong>di</strong>o del Quantum Computing e degli aspetti<br />
fisici e metodologici connessi con il DNA Computing.<br />
¨ Tecniche Sperimentali (FIS/01): L’obiettivo è quello <strong>di</strong> portare lo studente a rendersi conto della<br />
complessità delle tecniche sperimentali rispetto ai modelli teorici utilizzati in Fisica, attraverso la misura<br />
sperimentale <strong>di</strong> alcune grandezze fisiche.<br />
· Area Informatica:<br />
¨ Programmazione (INF/01): L’area <strong>di</strong> <strong>programmazione</strong> racchiude al suo interno le metodologie per la<br />
<strong>programmazione</strong> imperativa, orientata agli oggetti (OO), funzionale/ricorsiva, <strong>di</strong>stribuita e su rete, oltre ai<br />
meto<strong>di</strong> per l’analisi e la verifica <strong>di</strong> correttezza, sicurezza e affidabilità del software generato.<br />
¨ Algoritmi e strutture dati (INF/01): L’area algoritmi definisce le competenze necessarie nella sintesi<br />
ed analisi degli algoritmi. In particolare queste competenze sono orientate alla: specifica <strong>di</strong> un problema;<br />
costruzione <strong>di</strong> un algoritmo risolutore e verifica della sua correttezza; conoscenza approfon<strong>di</strong>ta delle strutture<br />
dati <strong>di</strong> base e capacità <strong>di</strong> definire e analizzare strutture dati non elementari; e valutazione della quantità <strong>di</strong><br />
risorse computazionali utilizzate da un algoritmo (complessità concreta).<br />
¨ Sistemi operativi e reti <strong>di</strong> calcolatori (INF/01 e ING−INF/05): I contenuti <strong>di</strong> questa area sono<br />
finalizzati alla gestione <strong>di</strong> sistemi informatici complessi e su rete. Nell’area <strong>di</strong> sistemi operativi si presentano i<br />
concetti, la struttura, ed i meccanismi presenti per la gestione delle risorse <strong>di</strong> un calcolatore nei moderni<br />
sistemi operativi. Si forniscono gli strumenti per prendere decisioni progettuali che coinvolgono i sistemi<br />
operativi ed i contesti (hardware e software) in cui essi operano. Nell’area delle reti <strong>di</strong> calcolatori si<br />
forniscono le conoscenze delle tecniche <strong>di</strong> trasmissione dei dati, degli algoritmi e protocolli <strong>di</strong> comunicazione,<br />
e in particolare delle tecnologie software ed applicativi che sono alla base del progetto e della realizzazione<br />
dei moderni sistemi <strong>di</strong> rete e dei relativi servizi, nonchè della sicurezza <strong>di</strong> rete.<br />
¨ Architetture degli elaboratori (INF/01 e ING−INF/05): L’area <strong>di</strong> Architetture si propone <strong>di</strong> dare allo<br />
studente la conoscenza <strong>di</strong> base sulla struttura <strong>di</strong> un calcolatore e le conoscenze necessarie alla realizzazione in<br />
forma <strong>di</strong>gitale <strong>di</strong> un algoritmo, presentando le possibili alternative comprese tra l’utilizzo <strong>di</strong> un sistema <strong>di</strong><br />
calcolo automatico general purpose e la costruzione <strong>di</strong> un <strong>di</strong>spositivo <strong>di</strong>gitale de<strong>di</strong>cato. Queste conoscenze<br />
permettono <strong>di</strong> approfon<strong>di</strong>re gli aspetti dell’informatica legati all’utilizzo, <strong>di</strong>mensionamento e progettazione <strong>di</strong><br />
sistemi <strong>di</strong>gitali.<br />
¨ Fondamenti dell’informatica (INF/01): L’area <strong>di</strong> Fondamenti dell’informatica racchiude al suo<br />
interno tutte quelle <strong>di</strong>scipline che definiscono le basi teoriche del calcolo automatico, della <strong>programmazione</strong> e<br />
della progettazione <strong>di</strong> sistemi informatici complessi. Lo scopo è quello <strong>di</strong> fornire agli studenti gli strumenti <strong>di</strong><br />
base per analizzare un problema in termini della sua effettiva risolvibilità me<strong>di</strong>ante calcolatore, complessità e<br />
quantità <strong>di</strong> informazione in esso contenuta. Questi strumenti riguardano: i linguaggi formali, la teoria degli<br />
automi, la calcolabilità, la complessità astratta <strong>di</strong> problemi, e la teoria dell’informazione.<br />
¨ Linguaggi <strong>di</strong> <strong>programmazione</strong> (INF/01): I principali contenuti dell’area linguaggi riguardano il<br />
<strong>di</strong>segno e l’implementazione <strong>di</strong> linguaggi <strong>di</strong> <strong>programmazione</strong>. Il <strong>di</strong>segno <strong>di</strong> linguaggi ha lo scopo <strong>di</strong> fornire
agli studenti gli strumenti formali <strong>di</strong> base per comprendere un linguaggio <strong>di</strong> <strong>programmazione</strong>, qualunque esso<br />
sia, saperne valutare gli ambiti <strong>di</strong> utilizzo e la portabilità in ambienti <strong>di</strong> esecuzione eterogenei.<br />
L’implementazione <strong>di</strong> linguaggi ha lo scopo <strong>di</strong> fornire le metodologie e le tecniche che stanno alla base<br />
dell’implementazione <strong>di</strong> un linguaggio <strong>di</strong> <strong>programmazione</strong>, con particolare riferimento alle metodologie per<br />
valutarne le prestazioni, gli ambiti <strong>di</strong> utilizzo <strong>di</strong> tecniche <strong>di</strong> compilazione/interpretazione, e metodologie <strong>di</strong><br />
ottimizzazione del co<strong>di</strong>ce.<br />
¨ Interazione uomo macchina (INF/01): Le finalità <strong>di</strong>dattiche dell’area sono volte a fornire agli<br />
studenti i principi, meto<strong>di</strong>, tecniche e sistemi <strong>di</strong> sviluppo per la progettazione e validazione <strong>di</strong> interfacce, per<br />
lo svolgimento <strong>di</strong> compiti complessi interagendo con ambiente ed utente, per l’estrazione, visualizzazione e<br />
comunicazione <strong>di</strong> informazione.<br />
¨ Sistemi informativi (INF/01): L’area Sistemi Informativi comprende <strong>di</strong>verse <strong>di</strong>scipline con le<br />
seguenti finalità <strong>di</strong>dattiche: (a) progettazione e realizzazione <strong>di</strong> basi <strong>di</strong> dati (nucleo <strong>di</strong> ogni sistema<br />
informativo); (b) progettazione e realizzazione <strong>di</strong> applicazioni che interagiscono con una base <strong>di</strong> dati (ad<br />
esempio, interfaccie <strong>di</strong> inserimento/aggiornamento, report, pubblicazione <strong>di</strong> informazioni su siti WEB); (c)<br />
analisi dell’impatto dell’introduzione dei sistemi informativi automatizzati in un’organizzazione (impresa,<br />
ente pubblico, ecc..).<br />
¨ Ingegneria del software (INF/01): Le finalità dell’area sono: (a) Fornire una introduzione<br />
all’ingegneria del software, affrontando il processo <strong>di</strong> produzione del software nei suoi aspetti principali,<br />
relativi a: cattura <strong>di</strong> requisiti, analisi, modellazione, specifica, validazione, progettazione, realizzazione,<br />
collaudo, e valutazione <strong>di</strong> qualità. (b) Sviluppare le capacità <strong>di</strong> ideazione, progettazione e realizzazione del<br />
software secondo metodologie e canoni <strong>di</strong> produzione industriale consolidati e conformi alla normativa<br />
tecnica <strong>di</strong> qualità.<br />
9. Strutture <strong>di</strong> riferimento<br />
Consiglio <strong>di</strong> Corso <strong>di</strong> Laurea e Diploma in Informatica<br />
Presidente: Prof. Roberto Giacobazzi<br />
Responsabile Segreteria: Donatella Cattaneo<br />
Telefono: 045 802 7078<br />
Fax: 045 802 7928<br />
E−mail: segreteria−ccl−informatica@sci.univr.it<br />
Orario <strong>di</strong> apertura al pubblico: 8.30 − 16.00
10. Informazioni utili<br />
Sul sito Web della Facoltà <strong>di</strong> Scienze MM. FF. NN. www.sci.univr.it sono reperibili ulteriori informazioni sul<br />
corso <strong>di</strong> laurea e sugli specifici insegnamenti. Per le informazioni <strong>di</strong> carattere generale si raccomanda in<br />
particolare la lettura dei seguenti documenti <strong>di</strong>sponibili sul sito web: Descrizione del corso <strong>di</strong> laurea,<br />
Regolamento <strong>di</strong>dattico, Manifesto degli stu<strong>di</strong>.<br />
Elenco docenti con un insegnamento<br />
Nome E−mail Telefono<br />
Alberto Belussi belussi@sci.univr.it 045 802 7980<br />
Carlo Combi combi@sci.univr.it 045 802 7985<br />
Matteo Cristani cristani@sci.univr.it 045 802 7983<br />
Ruggero Ferro ferro@sci.univr.it 045 802 7909<br />
Franco Fummi fummi@sci.univr.it 045 802 7994<br />
Andrea Fusiello fusiello@sci.univr.it 045 802 7088<br />
Roberto Giacobazzi giacobazzi@sci.univr.it 045 802 7995<br />
Enrico Gregorio gregorio@sci.univr.it 045 802 7937<br />
Gino Mariotto mariotto@science.unitn.it 0461 881501<br />
Francesca Monti monti@sci.univr.it 045 802 7910<br />
Laura Morato morato@sci.univr.it 045 802 7904<br />
Vittorio Murino murino@sci.univr.it 045 802 7996<br />
Giandomenico Orlan<strong>di</strong> orlan<strong>di</strong>@sci.univr.it 045 802 7986<br />
Angelo Pica pica@sci.univr.it 045 802 7942<br />
Massimo Poncino poncino@sci.univr.it 045 8027988<br />
Roberto Posenato posenato@sci.univr.it 045 802 7967<br />
Giuseppe Scollo scollo@sci.univr.it 045 8027940<br />
Roberto Segala segala@sci.univr.it 045 802 7997<br />
Paola Siri siri@sci.univr.it 045 802 7998<br />
Ugo Solitro solitro@sci.univr.it 045 802 7977<br />
Fausto Spoto spoto@sci.univr.it 0458027076<br />
Elenco degli insegnamenti attivati<br />
Nome<br />
Algebra<br />
Algebra lineare<br />
Algoritmi e strutture dati<br />
Analisi matematica<br />
Architettura degli elaboratori<br />
Architetture software<br />
Basi <strong>di</strong> dati e WEB<br />
Calcolo numerico<br />
Economia aziendale
Fisica<br />
Fondamenti dell'informatica<br />
Informatica <strong>di</strong> base<br />
Interazione uomo−macchina e multime<strong>di</strong>a<br />
<strong>Laboratorio</strong> <strong>di</strong> algoritmi<br />
<strong>Laboratorio</strong> <strong>di</strong> architettura degli elaboratori<br />
<strong>Laboratorio</strong> <strong>di</strong> architetture software<br />
<strong>Laboratorio</strong> <strong>di</strong> basi <strong>di</strong> dati e WEB<br />
<strong>Laboratorio</strong> <strong>di</strong> calcolo numerico<br />
<strong>Laboratorio</strong> <strong>di</strong> <strong>programmazione</strong><br />
<strong>Laboratorio</strong> <strong>di</strong> sistemi operativi<br />
Linguaggi <strong>di</strong> <strong>programmazione</strong> e compilatori<br />
Logica matematica<br />
Matematica <strong>di</strong> base<br />
Probabilità e Statistica [1° anno]<br />
Probabilità e Statistica<br />
Programmazione<br />
Programmazione avanzata e <strong>di</strong> rete<br />
Reti <strong>di</strong> calcolatori: applicazioni<br />
Ricerca operativa<br />
Sistemi operativi<br />
Programma degli insegnamenti<br />
Algebra<br />
Docente Enrico Gregorio − titolare<br />
Cre<strong>di</strong>ti 4<br />
Periodo 3º quadrimestre<br />
Obiettivi formativi<br />
Lo stu<strong>di</strong>o dell'algebra astratta porta a notevoli semplificazioni concettuali <strong>di</strong> molti argomenti, in quanto è<br />
possibile riconoscere in oggetti <strong>di</strong> varia natura la stessa struttura algebrica.<br />
Le strutture algebriche più importanti sono quelle <strong>di</strong> semigruppo, <strong>di</strong> gruppo e <strong>di</strong> anello; <strong>di</strong> ciascuna vengono<br />
stu<strong>di</strong>ate le proprietà più rilevanti. Durante tutto il corso si fa riferimento agli interi, per sottolineare la loro<br />
importanza e per rilevare le <strong>di</strong>fferenze fra la loro struttura e quella <strong>di</strong> altri gruppi o anelli.
Attività formative<br />
Lezioni in aula ed esercitazioni.<br />
Programma del corso<br />
• I numeri naturali<br />
• Insiemi con una operazione<br />
• Gruppi<br />
• Anelli<br />
• Grafi<br />
La verifica avviene tramite una prova scritta che consiste <strong>di</strong> cinque esercizi e una prova orale.<br />
Lo svolgimento corretto <strong>di</strong> tre esercizi garantisce una valutazione sufficiente all'ammissione alla prova orale.<br />
Algebra lineare<br />
Docente Enrico Gregorio − supplente<br />
Cre<strong>di</strong>ti 6<br />
Periodo 1º quadrimestre<br />
Obiettivi formativi<br />
Acquisire i concetti fondamentali dell'Algebra Lineare: spazi vettoriali, <strong>di</strong>pendenza e in<strong>di</strong>pendenza lineare,<br />
trasformazioni lineari.Applicare i concetti alla determinazione <strong>di</strong> algoritmi per:<br />
1. risolvere sistemi lineari;<br />
2. trovare basi <strong>di</strong> spazi vettoriali, in particolare <strong>di</strong> sottospazi;<br />
3. trovare basi ortogonali <strong>di</strong> spazi vettoriali (metodo <strong>di</strong> Gram−Schmidt);<br />
4. calcolare determinanti <strong>di</strong> matrici;<br />
5. ottenere autovalori <strong>di</strong> matrici e <strong>di</strong>scuterne la <strong>di</strong>agonalizzabilità.<br />
Lo strumento principale usato è l'eliminazione <strong>di</strong> Gauss su matrici.<br />
Attività formative<br />
Lezioni in aula ed esercitazioni.<br />
Programma del corso<br />
• Algebra delle matrici (escluse le matrici a blocchi)<br />
• Sistemi <strong>di</strong> equazioni lineari (esclusi i teoremi <strong>di</strong> unicità<br />
• Spazi vettoriali<br />
• Spazi vettoriali euclidei (escluse le norme <strong>di</strong> trasformazioni lineari)<br />
• Determinanti (senza <strong>di</strong>mostrazioni)<br />
• Autovalori e autovettori; <strong>di</strong>agonalizzabilità<br />
Si fa riferimento al testo <strong>di</strong> B. Bruno, Lezioni <strong>di</strong> algebra lineare uno, Zanichelli/Decibel e alla <strong>di</strong>spensa in rete La verifica avviene tramite una<br />
prova scritta che consiste <strong>di</strong> due domande <strong>di</strong> teoria (<strong>di</strong>mostrazione <strong>di</strong> enunciati simili ad altri esposti nel<br />
corso) e <strong>di</strong> tre esercizi.
Lo svolgimento corretto dei tre esercizi garantisce una valutazione sufficiente. Per ottenere il massimo dei voti<br />
è necessario svolgere almeno una delle parti <strong>di</strong> teoria.<br />
Algoritmi e strutture dati<br />
Docente Roberto Segala − titolare<br />
Cre<strong>di</strong>ti 8<br />
Periodo 1º 2º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~segala/asd/<br />
Obiettivi formativi<br />
Nel corso vengono esaminati i concetti <strong>di</strong> base per la formulazione <strong>di</strong> soluzioni algoritmiche a problemi<br />
concreti. Vengono stu<strong>di</strong>ate soluzioni a problemi formulati in termini <strong>di</strong> strutture matematiche astratte (liste,<br />
code, grafi, ...) e vengono descritte metodologie per identificare i problemi astratti che più si ad<strong>di</strong>cono allo<br />
stu<strong>di</strong>o <strong>di</strong> un problema concreto. Gli algoritmi vengono valutati e confrontati in base alla quantità <strong>di</strong> risorse che<br />
richiedono. Il corso si concentra inoltre sul ruolo che ha lo stu<strong>di</strong>o delle strutture <strong>di</strong> dati nella formulazione e<br />
valutazione <strong>di</strong> nuovi algoritmi.<br />
Attività formative<br />
Il corso viene svolto in 80 ore <strong>di</strong> lezione frontale, <strong>di</strong> cui 60 ore nel primo quadrimestre e 20 ore nel secondo<br />
quadrimestre. Nelle 80 ore <strong>di</strong> lezione sono comprese 26 ore <strong>di</strong> esercitazione nelle quali gli studenti devono<br />
risolvere problemi specifici sotto la guida del docente.<br />
Programma del corso<br />
• Complessità: complessità degli algoritmi, notazione asintotica, meto<strong>di</strong> <strong>di</strong> risoluzione delle equazioni<br />
<strong>di</strong> ricorrenza, analisi ammortizzata.<br />
• Or<strong>di</strong>namento e Selezione: insertion sort, merge sort, heap sort, quick sort, quick sort probabilistico.<br />
Stu<strong>di</strong>o della complessità degli algoritmi <strong>di</strong> or<strong>di</strong>namento, limite inferiore dell'or<strong>di</strong>namento per<br />
confronti. Algoritmi lineari, counting sort, ra<strong>di</strong>x sort, bucket sort. Algoritmi <strong>di</strong> selezione, minimo,<br />
massimo, selezione in tempo me<strong>di</strong>o lineare, selezione in tempo pessimo lineare.<br />
• Strutture dati: Code, pile, liste, heap, alberi binari <strong>di</strong> ricerca, alberi RB, heap binomiali, heap <strong>di</strong><br />
Fibonacci, insiemi <strong>di</strong>sgiunti, tecniche <strong>di</strong> estensione <strong>di</strong> una struttura dati.<br />
• Grafi: Definizione e rappresentazione <strong>di</strong> un grafo, visita in ampiezza, visita in profon<strong>di</strong>tà,<br />
or<strong>di</strong>namento topologico, componenti connesse, alberi <strong>di</strong> copertura <strong>di</strong> costo minimo (Prim e Kruskal),<br />
cammini minimi a sorgente singola (Dijkstra e Bellman−Ford) e multipla (Floyd−Warshall e<br />
Johnson), flusso massimo (Ford−Fulkerson, Karp), matching massimale su grafo bipartito.<br />
L'esame <strong>di</strong> algoritmi e strutture dati è in concomitanza con l'esame <strong>di</strong> laboratorio <strong>di</strong> algoritmi e strutture dati.<br />
L'esame è orale. Per l'ammissione all'esame orale lo studente deve superare una esercitazione scritta <strong>di</strong> 3 ore<br />
che consiste in tre esercizi sulla parte <strong>di</strong> teoria e un esercizio sulla parte <strong>di</strong> laboratorio. Gli esercizi sulla parte<br />
<strong>di</strong> teoria sono <strong>di</strong> <strong>di</strong>fficoltà crescente e cercano <strong>di</strong> valutare sia le conoscenze acquisite che le capacità <strong>di</strong><br />
ragionamento nell'ambito della materia. L'esercizio sulla parte <strong>di</strong> laboratorio verifica le capacità <strong>di</strong> formulare<br />
un algoritmo nel linguaggio Java. L'esercitazione scritta si intende superata se lo studente ottiene una<br />
votazione <strong>di</strong> almento 18/30 sui 3 esercizi teoria e una valutazione <strong>di</strong> 18/30 sull'esercizio <strong>di</strong> laboratorio. Il voto<br />
complessivo dell'esercitazione scritta è la me<strong>di</strong>a pesata dei voti <strong>di</strong> teoria (peso 4/5) e <strong>di</strong> laboratorio (peso 1/5).<br />
Alla prova orale lo studente può decidere <strong>di</strong> verbalizzare il voto dell'esercitazione scritta o <strong>di</strong> essere<br />
riesaminato me<strong>di</strong>ante colloquio. In tal caso il voto finale dell'esame sarà basato puramente sul colloquio senza
tenere in alcun conto l'esito dell'esercitazione scritta.<br />
Lo studente che dovesse superare una sola parte dell'esercitazione scritta può recuperare l'altra parte durante<br />
appelli d'esame successivi. In tal caso lo studente avrà a <strong>di</strong>sposizione 2 ore e 20 minuti per recuperare la parte<br />
<strong>di</strong> teoria e 50 minuti per recuperare la parte <strong>di</strong> laboratorio. Il voto <strong>di</strong> partenza per la prova orale sarà la me<strong>di</strong>a<br />
pesata dei voti <strong>di</strong> teoria e laboratorio decurtati <strong>di</strong> un punto.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
T. Cormen, C. Leiserson, R. Rivest Introduction to algorithms MIT Press 1990 0262031418<br />
Analisi matematica<br />
Docente Giandomenico Orlan<strong>di</strong> − supplente<br />
Cre<strong>di</strong>ti 8<br />
Periodo 2º quadrimestre<br />
Obiettivi formativi<br />
Nel corso vengono introdotti i concetti classici e le tecniche <strong>di</strong> base del calcolo <strong>di</strong>fferenziale ed integrale,<br />
enfatizzandone gli aspetti metodologico−applicativi rispetto agli irrinunciabili elementi logico−formali, con<br />
l'obiettivo <strong>di</strong> fornire allo studente i primi in<strong>di</strong>spensabili strumenti atti a familiarizzare con quelle<br />
problematiche dell'universo scientifico formalizzabili nel linguaggio della matematica del continuo.<br />
Attività formative<br />
Il corso prevede 80 ore <strong>di</strong> lezione frontale comprensive <strong>di</strong> esercitazioni.<br />
Programma del corso<br />
• Prerequisiti. Elementi <strong>di</strong> geometria analitica (equazioni <strong>di</strong> retta, parabola, circonferenza, ellisse,<br />
iperbole). Disequazioni <strong>di</strong> 2° grado. Regola <strong>di</strong> Ruffini. Binomio <strong>di</strong> Newton. Numeri naturali,<br />
principio <strong>di</strong> induzione. Numeri interi, razionali. Il sistema dei numeri reali: assioma <strong>di</strong> Dedekind,<br />
principio <strong>di</strong> Archimede, estremo superiore ed inferiore. Valore assoluto, <strong>di</strong>suguaglianza triangolare.<br />
• Successioni e serie numeriche. Limite <strong>di</strong> una successione. Convergenza delle successioni monotone e<br />
limitate. Criterio <strong>di</strong> convergenza <strong>di</strong> Cauchy. Successioni definite per ricorrenza. Il numero e .<br />
Teorema della permanenza del segno, teorema dei due Carabinieri. Operazioni con i limiti, forme<br />
indeterminate. La funzione esponenziale, logaritmo. Funzioni trigonometriche, coor<strong>di</strong>nate polari,<br />
formule <strong>di</strong> Eulero. Serie numeriche. Convergenza della serie geometrica. Criteri <strong>di</strong> convergenza per<br />
serie a termini positivi: con<strong>di</strong>zioni necessarie, criterio del confronto, del confronto asintotico, <strong>di</strong><br />
condensazione, del rapporto, della ra<strong>di</strong>ce. Criterio <strong>di</strong> convergenza assoluta. Rior<strong>di</strong>namento <strong>di</strong> una<br />
serie. Criterio <strong>di</strong> convergenza <strong>di</strong> Leibnitz. Convergenza delle serie <strong>di</strong> potenze.<br />
• Continuità delle funzioni <strong>di</strong> una variabile. Sottoinsiemi <strong>di</strong> R: intervalli aperti, chiusi. Punti <strong>di</strong><br />
accumulazione. Limite <strong>di</strong> funzioni reali. Limiti notevoli. Nozione <strong>di</strong> o ("o" piccolo). Funzioni<br />
continue. Funzioni continue su un intervallo: teorema degli zeri, teorema <strong>di</strong> Bolzano−Weierstrass.<br />
Conseguenze del teorema degli zeri: teorema dei valori interme<strong>di</strong> (l'immagine continua <strong>di</strong> un<br />
intervallo è un intervallo), le funzioni continue invertibili sono monotone, continuità della funzione<br />
inversa.<br />
•<br />
Calcolo <strong>di</strong>fferenziale per funzioni <strong>di</strong> una variabile. Derivata <strong>di</strong> una funzione in un punto, significato<br />
geometrico, fisico. Continuità <strong>di</strong> una funzione derivabile. Derivate successive. Derivate delle funzioni<br />
elementari. Regole <strong>di</strong> derivazione: derivata della somma, del prodotto, della composizione, della
funzione inversa. Tassi <strong>di</strong> crescita relativi e problemi applicati. Principio <strong>di</strong> Fermat. Teorema <strong>di</strong> Rolle.<br />
Teorema <strong>di</strong> Lagrange (del valor me<strong>di</strong>o) e prime conseguenze. Metodo <strong>di</strong> Newton o delle tangenti per<br />
la determinazione degli zeri <strong>di</strong> una funzione derivabile, stime <strong>di</strong> convergenza. Problemi applicati <strong>di</strong><br />
massimo e minimo. Teorema <strong>di</strong> Cauchy del valor me<strong>di</strong>o generalizzato. Regola <strong>di</strong> de l'Hôpital e<br />
applicazioni. Formula <strong>di</strong> Taylor, resto in forma <strong>di</strong> Peano e <strong>di</strong> Lagrange. Sviluppo <strong>di</strong> Taylor delle<br />
funzioni elementari, applicazioni al calcolo dei limiti e allo stu<strong>di</strong>o qualitativo del grafico <strong>di</strong> una<br />
funzione. Serie <strong>di</strong> Taylor, funzioni analitiche. Teorema <strong>di</strong> derivazione (e integrazione) termine a<br />
termine per serie <strong>di</strong> potenze.<br />
• Calcolo integrale per funzioni <strong>di</strong> una variabile. Il problema inverso della derivazione, integrale<br />
indefinito. Il problema delle aree, integrale definito: definizione e proprietà dell'integrale <strong>di</strong> Riemann.<br />
Integrabilità delle funzioni continue. Teorema della me<strong>di</strong>a integrale. Teorema fondamentale del<br />
calcolo integrale. Meto<strong>di</strong> <strong>di</strong> integrazione: per sostituzione, per parti. Integrazione delle funzioni<br />
elementari. Applicazioni al calcolo <strong>di</strong> lunghezze, aree, volumi. Convergenza degli integrali impropri:<br />
criterio del confronto, criterio <strong>di</strong> integrabilità assoluta. Criterio integrale <strong>di</strong> convergenza per una serie<br />
numerica a termini positivi.<br />
• Calcolo <strong>di</strong>fferenziale per funzioni <strong>di</strong> più variabili. Elementi <strong>di</strong> topologia <strong>di</strong> R^n. Continuità e<br />
teorema <strong>di</strong> Weierstrass per funzioni <strong>di</strong> più variabili reali. Funzioni <strong>di</strong>fferenziabili. Continuità delle<br />
funzioni <strong>di</strong>fferenziabili. Derivate <strong>di</strong>rezionali e parziali, rappresentazione del <strong>di</strong>fferenziale attraverso il<br />
gra<strong>di</strong>ente. Teorema del <strong>di</strong>fferenziale totale. Ortogonalità del gra<strong>di</strong>ente rispetto agli insiemi <strong>di</strong> livello,<br />
<strong>di</strong>rezione <strong>di</strong> massima pendenza. Matrice Jacobiana. Funzioni a valori vettoriali, curve e superfici.<br />
Vettori tangenti ad una superficie parametrica in R^3 , vettore normale. Coor<strong>di</strong>nate sferiche e<br />
cilindriche in R^3 . Derivate successive, teorema <strong>di</strong> Schwartz. Matrice Hessiana. Formula <strong>di</strong> Taylor,<br />
applicazione allo stu<strong>di</strong>o dei punti critici <strong>di</strong> una funzione regolare. Teorema delle funzioni implicite ed<br />
inverse. Derivate <strong>di</strong> funzioni implicite. Massimi e minimi vincolati, teorema dei moltiplicatori <strong>di</strong><br />
Lagrange.<br />
• Complementi. Equazioni <strong>di</strong>fferenziali a variabili separabili. Equazioni <strong>di</strong>fferenziali lineari del<br />
secondo or<strong>di</strong>ne a coefficienti costanti.<br />
L'esame finale consiste in una prova scritta comprendente sia quesiti teorici che una serie <strong>di</strong> esercizi, seguita,<br />
in caso <strong>di</strong> esito positivo, da una prova orale. E' tuttavia possibile registrare <strong>di</strong>rettamente quale voto d'esame<br />
l'inf tra la votazione riportata nella prova scritta e 26/30.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
G. F. Simmons, M. Abate Calcolo <strong>di</strong>fferenziale e integrale Mc Graw−Hill 2001 8838608555<br />
F. Conti et al. Analisi Matematica, teoria e applicazioni Mc Graw−Hill 2001 8838660026<br />
Architettura degli elaboratori<br />
Docente Franco Fummi − supplente<br />
Cre<strong>di</strong>ti 8<br />
Periodo 2º 3º quadrimestre<br />
Pagina Web http://www.sci.univr.it/~fummi/archi_elab<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> dare allo studente la conoscenza necessaria alla realizzazione in forma <strong>di</strong>gitale <strong>di</strong> un<br />
algoritmo presentando le possibili alternative comprese tra l'utilizzo <strong>di</strong> un sistema <strong>di</strong> calcolo automatico<br />
general purpose e la costruzione <strong>di</strong> un <strong>di</strong>spositivo <strong>di</strong>gitale de<strong>di</strong>cato. Queste conoscenze costituiscono i<br />
prerequisiti necessari alla comprensione dei meccanismi <strong>di</strong> funzionamento <strong>di</strong> un sistema informativo e del
processo <strong>di</strong> co<strong>di</strong>fica <strong>di</strong> un programma a partire da una sua descrizione ad alto livello.<br />
Attività formative<br />
Il corso viene svolto in 80 ore <strong>di</strong> lezione e 30 ore <strong>di</strong> laboratorio. Le attività pratiche vengono svolte<br />
utilizzando le attrezzature hardware e software presenti nei laboratori <strong>di</strong>dattici del Dipartimento.<br />
Programma del corso<br />
• Fondamenti:<br />
♦ Co<strong>di</strong>fica dell'informazione:<br />
◊ Dall'informazione analogica a quella <strong>di</strong>gitale.<br />
◊ I sistemi numerici posizionali.<br />
◊ La co<strong>di</strong>fica alfanumerica.<br />
◊ La co<strong>di</strong>fica dei numeri relativi.<br />
♦ Funzioni Booleane:<br />
◊ Algebra <strong>di</strong> commutazione.<br />
◊ Forme canoniche (mintermini e maxtermini).<br />
◊ Operatori universali.<br />
♦ Aritmetica:<br />
◊ La co<strong>di</strong>fica dei numeri in virgola mobile (IEEE 754).<br />
◊ Le operazioni tra numeri in virgola mobile.<br />
◊ I sommatori ripple−carry e carry−lookahead.<br />
◊ Moltiplicatori combinatori.<br />
◊ La struttura <strong>di</strong> una ALU.<br />
• Progettazione <strong>di</strong>gitale:<br />
♦ Circuiti combinatori:<br />
◊ Le porte logiche elementari.<br />
◊ Componenti logici combinatori.<br />
◊ Minimizzazione <strong>di</strong> funzioni me<strong>di</strong>ante Mappe <strong>di</strong> Karnaugh.<br />
◊ Algoritmo <strong>di</strong> Quine−McCluskey.<br />
◊ Cenni <strong>di</strong> minimizzazione a piu` livelli.<br />
◊ Mapping tecnologico.<br />
♦ Circuiti sequenziali:<br />
◊ Definizione.<br />
◊ Elementi <strong>di</strong> memoria.<br />
◊ Macchine a stati finiti.<br />
◊ Modellazione <strong>di</strong> circuiti sequenziali me<strong>di</strong>ante FSM.<br />
◊ Minimizzazione degli stati <strong>di</strong> una FSM.<br />
◊ Cenni all'assegnamento delle co<strong>di</strong>fiche degli stati.<br />
♦ Circuiti sequenziali con unità <strong>di</strong> elaborazione:<br />
◊ Limiti del modello FSM.<br />
◊ Il modello FSMD.<br />
◊ La progettazione <strong>di</strong> una unità <strong>di</strong> elaborazione.<br />
◊ Interazione unità <strong>di</strong> controllo/unità <strong>di</strong> elaborazione.<br />
•<br />
L'architettura del calcolatore:<br />
♦ Principi <strong>di</strong> base:<br />
◊ Il modello <strong>di</strong> Von Neumann.<br />
◊ Il modello a macchine virtuali.<br />
◊ La CPU.<br />
◊ Le memorie.<br />
◊ I BUS.<br />
◊ I <strong>di</strong>spositivi <strong>di</strong> I/O.<br />
◊ Le prestazioni.
♦ Il set <strong>di</strong> istruzioni:<br />
◊ Modalita` <strong>di</strong> in<strong>di</strong>rizzamento.<br />
◊ Il linguaggio assemblatore.<br />
◊ Operazioni <strong>di</strong> I/O.<br />
◊ Procedure.<br />
◊ Il set <strong>di</strong> istruzioni Intel 80xx86.<br />
♦ L'unità <strong>di</strong> Elaborazione:<br />
◊ Fetch/Deco<strong>di</strong>fica/Esecuzione.<br />
◊ Controllo cablato.<br />
◊ Prestazioni, organizzazione a BUS multipli.<br />
◊ Cenni sul controllo microprogrammato.<br />
♦ La gerarchia <strong>di</strong> memoria:<br />
◊ Principi generali.<br />
◊ Classificazione delle Memorie.<br />
◊ Le memorie cache.<br />
◊ Analisi delle prestazioni.<br />
◊ La memoria virtuale.<br />
♦ Organizzazione dell'input/output:<br />
◊ Interrupt.<br />
◊ Accesso <strong>di</strong>retto alla memoria, l'arbitraggio.<br />
◊ Interfacce standard <strong>di</strong> I/O.<br />
◊ Le periferiche.<br />
♦ Dal modello alla realtà:<br />
◊ Classificazione dei sistemi <strong>di</strong> elaborazione.<br />
◊ Gli approcci CISC e RISC.<br />
◊ Pipelining.<br />
◊ Intel 80X86.<br />
Le competenze teoriche vengono verificate con una prova scritta scomposta durante il corso in due prove<br />
interme<strong>di</strong>e. Per la verifica delle attività <strong>di</strong> laboratorio si veda il relativo corso. Il peso del voto <strong>di</strong> laboratorio<br />
incide per un massimo <strong>di</strong> 4/30 sul voto finale.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
F.Fummi, M.Sami, C.Silvano Progettazione Digitale McGraw−Hill 2002 8838660271<br />
V.C. Hamacher, Z.G. Vranesic, S.G.<br />
Zaky<br />
Architetture software<br />
Docente Giuseppe Scollo − titolare<br />
Cre<strong>di</strong>ti 8<br />
Periodo 1º 2º quadrimestre<br />
Introduzione all'Architettura dei<br />
Calcolatori<br />
Pagina Web http://profs.sci.univr.it/~scollo/ais2001−2/index.html<br />
Obiettivi formativi<br />
McGraw−Hill 1997 8838607486<br />
Il corso fornisce nozioni introduttive <strong>di</strong> base su architetture ed ingegneria del software, affrontando negli<br />
aspetti più salienti <strong>di</strong> pianificazione, progettazione, collaudo e manutenzione, i processi <strong>di</strong> sviluppo e<br />
produzione del software, e presentando una analisi comparata <strong>di</strong> architetture del software assieme a linguaggi
<strong>di</strong> modellazione e <strong>di</strong> specifica delle stesse.<br />
Il programma del corso non prevede prerequisiti, è cioè del tutto autocontenuto. La conoscenza <strong>di</strong> un<br />
linguaggio <strong>di</strong> <strong>programmazione</strong> qualsiasi e un po' <strong>di</strong> esperienza <strong>di</strong> <strong>programmazione</strong> sono desiderabili, ma non<br />
strettamente necessarie.<br />
Il programma del corso è fortemente influenzato dalle <strong>di</strong>rettive del nuovo or<strong>di</strong>namento <strong>di</strong>dattico, ed in<br />
particolare esclude contenuti che prevedano un bagaglio <strong>di</strong> conoscenze matematiche men che elementari o che<br />
contribuiscano all'arricchimento dello stesso. Ciò non riflette un mutamento <strong>di</strong> opinione in merito al valore e<br />
alla necessità <strong>di</strong> tali conoscenze nell'ambito <strong>di</strong>sciplinare e professionale <strong>di</strong> questi corsi, bensì solo una scelta <strong>di</strong><br />
ricollocazione <strong>di</strong> detti contenuti nell'ambito dei programmi delle Lauree specialistiche.<br />
Attività formative<br />
Il corso prevede lo svolgimento <strong>di</strong> 80 ore <strong>di</strong> lezioni ed esercitazioni frontali in aula, e <strong>di</strong> attività <strong>di</strong> progetto in<br />
laboratorio, in parte <strong>di</strong>rette dal docente. Per queste ultime, sono previste ulteriori 30 ore <strong>di</strong> esercitazioni <strong>di</strong><br />
laboratorio in presenza del docente, e sono riservate ulteriori risorse <strong>di</strong> laboratorio.<br />
L'appren<strong>di</strong>mento della materia è sostenuto dallo stu<strong>di</strong>o dei materiali <strong>di</strong>dattici <strong>di</strong> riferimento e dal loro uso<br />
nella realizzazione <strong>di</strong> progetti in laboratorio. Questi sono organizzati come progetti componenti un unico<br />
progetto formativo, il quale verte su alcuni temi speciali <strong>di</strong> interesse proposti dal docente.<br />
Temi speciali <strong>di</strong> interesse <strong>di</strong> questa e<strong>di</strong>zione del corso sono:<br />
1. gestione delle configurazioni del software<br />
2. aspetti economici dell'ingegneria del software<br />
3. architetture del software ad oggetti<br />
nonchè i temi risultanti dalle combinazioni dei temi suddetti.<br />
Programma del corso<br />
• Introduzione all'ingegneria del software: il software: prodotto e processo, caratteristiche <strong>di</strong> qualità,<br />
ciclo <strong>di</strong> vita del software, fasi ed attività del processo produttivo, modelli del ciclo <strong>di</strong> vita dei sistemi<br />
software.<br />
• Pianificazione del processo produttivo: Stu<strong>di</strong>o <strong>di</strong> fattibilità, determinazione <strong>di</strong> obiettivi e vincoli,<br />
gestione dei rischi, controllo dei processi <strong>di</strong> produzione, gestione delle configurazioni, versionamento,<br />
amministrazione <strong>di</strong> progetto.<br />
• Analisi e specifica <strong>di</strong> architetture del software: introduzione all'architettura del software, tassonomia<br />
<strong>di</strong> architetture del software <strong>di</strong> uso più frequente, analisi comparata <strong>di</strong> architetture del software in casi<br />
<strong>di</strong> stu<strong>di</strong>o, linguaggi <strong>di</strong> modellazione e <strong>di</strong> specifica <strong>di</strong> architetture del software, UML, OCL.<br />
• Progettazione del software: cattura ed analisi dei requisiti, prototipazione rapida <strong>di</strong> modelli, specifica<br />
e co<strong>di</strong>fica, verifica <strong>di</strong> correttezza, scalabilità, progettazione basata su componenti, norme <strong>di</strong> co<strong>di</strong>fica e<br />
documentazione.<br />
• Collaudo del software: meto<strong>di</strong> <strong>di</strong> collaudo, strategie <strong>di</strong> collaudo (<strong>di</strong> unità, <strong>di</strong> integrazione, funzionale,<br />
<strong>di</strong> sistema), meto<strong>di</strong> e strategie <strong>di</strong> collaudo <strong>di</strong> software a oggetti, metriche <strong>di</strong> collaudo.<br />
• Valutazione: metriche del software, modelli <strong>di</strong> costo, progettazione <strong>di</strong> qualità, standard ISO 9001,<br />
9000−3, 9126.<br />
La verifica del profitto avviene me<strong>di</strong>ante un colloquio in<strong>di</strong>viduale sugli argomenti del programma, a partire<br />
dal contributo dello studente al lavoro <strong>di</strong> progetto realizzato in laboratorio. Il superamento della prova porta<br />
all'acquisizione <strong>di</strong> 8 cre<strong>di</strong>ti, a cui si aggiungono 2 cre<strong>di</strong>ti per il corso <strong>di</strong> laboratorio.
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
A. Fuggetta, C. Ghezzi, S. Morasca, A.<br />
Morzenti, M. Pezzè<br />
H. Sedehi<br />
J. Warmer, A. Kleppe<br />
Ingegneria del software Mondadori Informatica 1991 8871316215<br />
Ingegneria economica del<br />
software<br />
The Object Constraint<br />
Language<br />
M. Fowler, K. Scott UML <strong>di</strong>stilled<br />
Basi <strong>di</strong> dati e WEB<br />
Docente Alberto Belussi − supplente<br />
Cre<strong>di</strong>ti 8<br />
Periodo 2º 3º quadrimestre<br />
Obiettivi formativi<br />
Apogeo 1997 887303358X<br />
Ad<strong>di</strong>son Wesley<br />
Longman<br />
Ad<strong>di</strong>son Wesley<br />
Longman<br />
1999 0201379406<br />
1997 0201325632<br />
I sistemi per la gestione <strong>di</strong> basi <strong>di</strong> dati rappresentano un elemento fondamentale per la maggior parte dei<br />
sistemi informatici presenti nella realtà economica <strong>di</strong> ogni paese avanzato. Il corso <strong>di</strong> Basi <strong>di</strong> dati e WEB ha lo<br />
scopo <strong>di</strong> fornire allo studente le conoscenze necessarie per la progettazione <strong>di</strong> una base <strong>di</strong> dati e delle relative<br />
applicazioni. In particolare nel corso si illustreranno in dettaglio le metodologie per la progettazione<br />
concettuale <strong>di</strong> una base <strong>di</strong> dati e per la successiva realizzazione della stessa sui più <strong>di</strong>ffusi sistemi per la<br />
gestione <strong>di</strong> basi <strong>di</strong> dati. Inoltre si presenterano alcune tecniche per la realizzazione dei sistemi per la gestione<br />
<strong>di</strong> basi <strong>di</strong> dati e si illustreranno le caratteristiche fondamentali del linguaggio <strong>di</strong> interrogazione SQL. Lo<br />
studente alla fine del corso sarà in grado <strong>di</strong> definire autonomamente le specifiche concettuali <strong>di</strong> una base <strong>di</strong><br />
dati, <strong>di</strong> progettarne la struttura logica, <strong>di</strong> interrogare la base <strong>di</strong> dati e <strong>di</strong> realizzare le applicazioni che<br />
interagiscono con la base stessa.<br />
Attività formative<br />
Il corso prevede 80 ore <strong>di</strong> lezioni/esercitazioni in aula che verranno svolte nel secondo e nel terzo<br />
quadrimestre. Le esercitazioni riguarderanno la progettazione concettuale e logica <strong>di</strong> una base <strong>di</strong> dati e<br />
linterazione con una base <strong>di</strong> dati relazionale. Le esercitazioni pratiche si svolgeranno nellambito del corso <strong>di</strong><br />
<strong>Laboratorio</strong> <strong>di</strong> Basi <strong>di</strong> Dati e WEB svolto in parallelo a questo corso.<br />
Programma del corso<br />
• Introduzione ai sistemi per la gestione <strong>di</strong> basi <strong>di</strong> dati: Architettura e funzionalità <strong>di</strong> un sistema per<br />
la gestione <strong>di</strong> basi <strong>di</strong> dati. Concetti <strong>di</strong>: in<strong>di</strong>pendenza fisica, in<strong>di</strong>pendenza logica, persistenza,<br />
concorrenza, affidabilità, interrogazione e aggiornamento. Vantaggi <strong>di</strong> un sistema per la gestione <strong>di</strong><br />
basi <strong>di</strong> dati rispetto al file system <strong>di</strong> un sistema operativo.<br />
• Progettazione concettuale <strong>di</strong> una base <strong>di</strong> dati: Modelli concettuali per il progetto dei dati. Il<br />
modello Entità−Relazione (E−R). Elementi del modello E−R: entità, attributi, relazioni, gerarchie <strong>di</strong><br />
generalizzazione e vincoli <strong>di</strong> car<strong>di</strong>nalità. Lo schema concettuale <strong>di</strong> una base <strong>di</strong> dati.<br />
•<br />
Progettazione logica <strong>di</strong> una base <strong>di</strong> dati: Modelli dei dati per i sistemi <strong>di</strong> gestione <strong>di</strong> basi <strong>di</strong> dati: il<br />
modello relazionale e il modello object−relational (cenni). Definizioni <strong>di</strong>: relazione, vincoli <strong>di</strong><br />
integrità e schema relazionale. Lo schema logico <strong>di</strong> una base <strong>di</strong> dati. Traduzione <strong>di</strong> schemi concettuali<br />
in schemi relazionali. Linguaggi per la definizione <strong>di</strong> una base <strong>di</strong> dati relazionale: il linguaggio SQL.
Istruzioni SQL per: la creazione <strong>di</strong> una relazione, la definizione <strong>di</strong> vincoli <strong>di</strong> integrità e il controllo<br />
dell'accesso ai dati.<br />
• Interazione con una base <strong>di</strong> dati: Introduzione ai linguaggi per la definizione, mo<strong>di</strong>fica e<br />
interrogazione <strong>di</strong> una base <strong>di</strong> dati. Lalgebra relazionale. Il linguaggio SQL: il costrutto <strong>di</strong> selezione<br />
(Select−From−Where), interrogazioni ni<strong>di</strong>ficate, or<strong>di</strong>namento e raggruppamento dei dati; il costrutto<br />
<strong>di</strong> inserimento, cancellazione e aggiornamento (Insert, Delete, Update). Il concetto <strong>di</strong> vista.<br />
• L'architettura interna <strong>di</strong> un sistema per la gestione <strong>di</strong> basi <strong>di</strong> dati: Rilevanza dei sistemi<br />
transazionali. Concetto <strong>di</strong> transazione. Proprietà <strong>di</strong> una transazione. Controllo della concorrenza<br />
(view, conflict serializzabilità e locking a due fasi). Meto<strong>di</strong> <strong>di</strong> accesso ai dati: strutture dati<br />
sequenziali, hashing e a in<strong>di</strong>ce.<br />
• Basi <strong>di</strong> dati e server WEB: Cenni al linguaggio HTML (struttura <strong>di</strong> un documento, marcatori<br />
principali, form). Cenni al protocollo HTTP. I sistemi informativi su WEB. Tecniche e strumenti per<br />
linterazione tra una base <strong>di</strong> dati e un server HTTP: approccio basato su CGI, approccio basato su<br />
estensioni del server WEB (servlet). Interazione servlet/base <strong>di</strong> dati: JBDC e il concetto <strong>di</strong> Java bean.<br />
Java Server Pages (JSP): immersione <strong>di</strong> Java in HTML, interazione JSP/servlet.<br />
L'esame <strong>di</strong> Basi <strong>di</strong> Dati e WEB si svolge in concomitanza con l'esame <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> Basi <strong>di</strong> Dati e WEB.<br />
L'esame è orale. Per l'ammissione all'esame orale lo studente deve superare una prova scritta <strong>di</strong> 3 ore che<br />
consiste in alcuni esercizi sulla progettazione e interrogazione <strong>di</strong> una base <strong>di</strong> dati, in alcune domande sulla<br />
parte <strong>di</strong> teoria e in un esercizio sulla parte <strong>di</strong> laboratorio. L'esercizio sulla parte <strong>di</strong> laboratorio verifica le<br />
capacità <strong>di</strong> progettare e realizzare una interfaccia ad un base <strong>di</strong> dati via WEB utilizzando l'approccio<br />
JSP/Servlet. La prova scritta si intende superata se lo studente ottiene una votazione <strong>di</strong> almento 18/30 negli<br />
esercizi relativi alla prima parte (progettazione/interrogazione <strong>di</strong> una base <strong>di</strong> dati e domande <strong>di</strong> teoria) e una<br />
valutazione <strong>di</strong> 18/30 nell'esercizio <strong>di</strong> laboratorio. Il voto complessivo della prova scritta si ottiene calcolando<br />
la me<strong>di</strong>a pesata del voto relativo alla prima parte (peso 4/5) e del voto relativo all'esercizio <strong>di</strong> laboratorio<br />
(peso 1/5).<br />
Alla prova orale lo studente può decidere <strong>di</strong> verbalizzare il voto della prova scritta o <strong>di</strong> essere riesaminato<br />
me<strong>di</strong>ante colloquio. In tal caso il voto finale dell'esame sarà basato puramente sul colloquio senza tenere in<br />
alcun conto l'esito della prova scritta.<br />
Lo studente che dovesse superare una sola parte della prova scritta può recuperare l'altra parte durante gli<br />
appelli d'esame successivi. In tal caso lo studente avrà a <strong>di</strong>sposizione 2 ore e 20 minuti circa per recuperare la<br />
parte <strong>di</strong> progettazione/interrogazione <strong>di</strong> una base <strong>di</strong> dati e 50 minuti circa per recuperare la parte <strong>di</strong><br />
laboratorio. Il voto finale della prova scritta sarà in questo caso la me<strong>di</strong>a pesata dei voti <strong>di</strong> teoria e laboratorio<br />
decurtati <strong>di</strong> un punto.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
P. Atzeni, S. Ceri, S.<br />
Paraboschi, R. Torlone<br />
E. Baralis, A. Belussi, G.<br />
Psaila<br />
Calcolo numerico<br />
Docente Angelo Pica − titolare<br />
Cre<strong>di</strong>ti 6<br />
Periodo 1º 2º quadrimestre<br />
Basi <strong>di</strong> dati (seconda<br />
e<strong>di</strong>zione)<br />
Basi <strong>di</strong> dati − Temi<br />
d'esame svolti<br />
McGraw−Hill Libri Italia srl 1999 8838608245<br />
Progetto Leonardo Società E<strong>di</strong>trice<br />
Esculapio Bologna<br />
1999 B135655713
Obiettivi formativi<br />
Nel corso vengono esaminati i problemi − ed i relativi algoritmi <strong>di</strong> risoluzione − più frequenti in campo<br />
numerico. Al <strong>di</strong> là dell'in<strong>di</strong>spensabile bagaglio teorico, particolare enfasi è data all'aspetto algoritmico e più<br />
puramente numerico − sia dal punto <strong>di</strong> vista dell'implementazione e della complessità <strong>di</strong> calcolo che da quello<br />
della stabilità − con l'obiettivo <strong>di</strong> fornire allo studente, oltre alla necessaria conoscenza dei problemi, quella<br />
dose <strong>di</strong> sensibilità per il "numero" e <strong>di</strong> spirito critico che sempre dovrebbe essere presente sia in chi progetta<br />
che in chi utilizza applicazioni in questo campo.<br />
Attività formative<br />
Il corso viene svolto in 60 ore <strong>di</strong> lezione/esercitazione frontale e 30 ore <strong>di</strong> laboratorio numerico (co<strong>di</strong>ce<br />
MATLAB), equamente sud<strong>di</strong>vise in due perio<strong>di</strong>. L'attività <strong>di</strong> laboratorio prevede l'appren<strong>di</strong>mento delle<br />
operazioni fondamentali presenti nel co<strong>di</strong>ce <strong>di</strong> calcolo ed inerenti agli argomenti trattati, l'utilizzo <strong>di</strong> librerie<br />
fornite dal docente e l'implementazione <strong>di</strong> alcuni algoritmi presentati durante le lezioni.<br />
Programma del corso<br />
• Analisi degli errori. Errore assoluto ed errore relativo. Rappresentazione dei numeri. Numeri <strong>di</strong><br />
macchina ed errori connessi. Le operazioni elementari. Algoritmi per il calcolo <strong>di</strong> una espressione.<br />
Errori <strong>di</strong> propagazione: analisi del primo or<strong>di</strong>ne ed analisi <strong>di</strong>fferenziale, con<strong>di</strong>zionamento e stabilità.<br />
• Equazioni non lineari. Separazione degli zeri. I meto<strong>di</strong> <strong>di</strong> iterazione funzionale. Convergenza e criteri<br />
<strong>di</strong> arresto. Meto<strong>di</strong> particolari: bisezione, secanti e tangenti. Accelerazione <strong>di</strong> Aitken. Le equazioni<br />
algebriche: schema <strong>di</strong> Horner, limitazione delle ra<strong>di</strong>ci, proprietà del metodo delle tangenti.<br />
• Sistemi <strong>di</strong> equazioni. Con<strong>di</strong>zionamento <strong>di</strong> una matrice e sue conseguenze. Meto<strong>di</strong> <strong>di</strong>retti: sostituzione<br />
in avanti ed all'in<strong>di</strong>etro, fattorizzazione LU, fattorizzazione QR, eliminazione <strong>di</strong> Gauss senza e con<br />
pivoting. Meto<strong>di</strong> iterativi: costruzione e convergenza, criteri <strong>di</strong> arresto, metodo <strong>di</strong> Jacobi, metodo <strong>di</strong><br />
Gauss−Seidel, con<strong>di</strong>zioni sufficienti <strong>di</strong> convergenza per i meto<strong>di</strong> <strong>di</strong> Jacobi e <strong>di</strong> Gauss−Seidel. Sistemi<br />
sparsi, a banda, sovra− e sotto−determinati ed omogenei. Brevi cenni sui sistemi non lineari.<br />
• Autovalori ed autovettori. Richiami sulle proprietà fondamentali. Trasformazioni per similitu<strong>di</strong>ne:<br />
metodo <strong>di</strong> Householder e metodo <strong>di</strong> Gauss. Localizzazione degli autovalori: teorema <strong>di</strong> Hirsch e <strong>di</strong><br />
Gershgorin. Meto<strong>di</strong> <strong>di</strong> calcolo degli autovalori: uso del polinomio caratteristico per matrici<br />
tri<strong>di</strong>agonali e <strong>di</strong> Hessenberg, metodo <strong>di</strong> Jacobi, metodo delle potenze e delle potenze inverse, metodo<br />
QR senza traslazione, con traslazione singola e con passo doppio <strong>di</strong> Francis. Cenni sulle matrici<br />
"companion" e ra<strong>di</strong>ci complesse <strong>di</strong> un polinomio.<br />
• Interpolazione <strong>di</strong> dati ed approssimazione <strong>di</strong> funzioni. Interpolazione polinomiale: interpolazione <strong>di</strong><br />
Lagrange, algoritmo <strong>di</strong> Neville, polinomio <strong>di</strong> Newton. Stima dell'errore <strong>di</strong> approssimazione.<br />
Interpolazione polinomiale a tratti. Funzioni spline. Cenni sull'interpolazione trigonometrica. Il<br />
metodo dei minimi quadrati.<br />
• Derivazione ed integrazione numerica. Derivazione numerica ed errori connessi. Integrazione<br />
numerica: costruzione <strong>di</strong> una formula <strong>di</strong> quadratura, formule <strong>di</strong> quadratura <strong>di</strong> Newton−Cotes ed errori<br />
connessi, formule <strong>di</strong> quadratura <strong>di</strong> tipo gaussiano ed errori connessi, formule composite.<br />
La verifica del profitto avviene me<strong>di</strong>ante una prova in laboratorio, nella quale deve essere analizzato e risolto<br />
un certo numero <strong>di</strong> problemi che richiedono sia una impostazione teorica, basata sulle conoscenze acquisite<br />
nel corso, che la relativa risoluzione numerica con gli strumenti su in<strong>di</strong>cati. La votazione riportata nella prova<br />
è quella definitiva, fatto salvo il <strong>di</strong>ritto <strong>di</strong> ciascuno studente <strong>di</strong> richiedere l'effettuazione <strong>di</strong> una prova orale, le<br />
cui modalità vanno definite caso per caso.<br />
Economia aziendale<br />
Docente non ancora assegnato
Cre<strong>di</strong>ti 4<br />
Periodo 3º quadrimestre<br />
Obiettivi formativi<br />
Il corso intende fornire agli studenti gli elementi <strong>di</strong> base e gli istituti fondamentali utili a comprendere i<br />
<strong>di</strong>versi assetti e modalità <strong>di</strong> funzionamento dellorganizzazione. Si propone inoltre <strong>di</strong> sviluppare capacità <strong>di</strong><br />
lettura dei fenomeni propri della cultura organizzativa d'impresa.<br />
Programma del corso<br />
• Parte Prima − Organizzazione e management<br />
♦ 1. La teoria organizzativa in azione.<br />
♦ 2. Lorganizzazione come <strong>di</strong>sciplina e come campo <strong>di</strong> stu<strong>di</strong>o.<br />
♦ 3. Le organizzazioni come sistemi.<br />
♦ 4. Le <strong>di</strong>mensioni della progettazione organizzativa.<br />
♦ 5. Il ruolo della teoria e della progettazione organizzativa.<br />
• Parte seconda − Obiettivi strategici e architetture organizzative<br />
♦ 1. Strategie organizzative e progettazione organizzativa. Gli approcci contingenti.<br />
♦ 2. Ambiente esterno e sistema organizzativo: l'approccio socio−tecnico alla progettazione<br />
organizzativa.<br />
♦ 3. Lorganizzazione come sistema aperto.<br />
♦ 4. La macro−struttura organizzativa: gli schemi fondamentali.<br />
♦ 5. La micro−struttura organizzativa: compiti, mansioni e posizioni organizzative.<br />
♦ 6. I meccanismi operativi.<br />
• Parte Terza − Progettazione e cambiamento nelle organizzazioni<br />
♦ 1. Le <strong>di</strong>mensioni organizzative, ciclo <strong>di</strong> vita e controllo.<br />
♦ 2. Cultura organizzativa e valori etici.<br />
♦ 3. Innovazione e cambiamento.<br />
Modalità d'esame non inserito<br />
Fisica<br />
Docenti<br />
Cre<strong>di</strong>ti 8<br />
Francesca Monti − esercitatore<br />
Gino Mariotto − supplente<br />
Periodo 2º 3º quadrimestre<br />
OBIETTIVI FORMATIVI<br />
Il corso <strong>di</strong> Fisica è rivolto agli studenti del corso <strong>di</strong> laurea triennale in Informatica. Scopo del corso è la<br />
presentazione dei fondamenti del metodo sperimentale, della meccanica classica del punto materiale e dei<br />
sistemi <strong>di</strong> punti materiali, della termo<strong>di</strong>namica e dell'elettromagnetismo. Il corso è integrato da esercitazioni<br />
numeriche e da elementi <strong>di</strong> calcolo vettoriale. Si presuppone che lo studente abbia familiarità con gli<br />
argomenti <strong>di</strong> matematica e <strong>di</strong> geometria svolti nei corsi della scuola me<strong>di</strong>a superiore e si consiglia la<br />
frequenza simultanea del corso <strong>di</strong> Analisi Matematica. Per gli argomenti trattati il corso <strong>di</strong> Fisica può essere<br />
sicuramente <strong>di</strong>chiarato equipollente al corso <strong>di</strong> Fisica I del Corso <strong>di</strong> laurea triennale in Tecnologie<br />
dell'Informazione.
ATTIVITÀ FORMATIVE<br />
Gli obiettivi formativi sono realizzati me<strong>di</strong>ante attività <strong>di</strong>dattiche (lezioni ed esercitazioni) frontali, tenute<br />
durante il secondo e terzo quadrimestre per un numero complessivo <strong>di</strong> 80 ore. Allo scopo <strong>di</strong> facilitare lo<br />
studente nella comprensione e nell'appren<strong>di</strong>mento delle leggi e dei principi della meccanica, della<br />
termo<strong>di</strong>namica e dell'elettromagnetismo durante le lezioni frontali è fatto costante ricorso alla fenomenologia,<br />
mentre le esercitazioni avranno per oggetto la soluzione <strong>di</strong> esercizi e problemi che simulano situazioni ed<br />
eventi naturali. Le esercitazioni sono organizzate e svolte in maniera tale da mettere lo studente in con<strong>di</strong>zioni<br />
<strong>di</strong> affrontare e superare la prova scritta dell'esame finale.<br />
PROGRAMMA DEL CORSO<br />
• Grandezze fisiche e loro misura: Note introduttive. Metodo sperimentale. Definizione operativa delle<br />
grandezze fisiche. Grandezze fisiche fondamentali e derivate. Unità <strong>di</strong> misura. Sistemi <strong>di</strong> unità <strong>di</strong><br />
misura. Il sistema internazionale (S.I.). Scalari e vettori. Operazioni con i vettori: somma, prodotto<br />
scalare e prodotto vettoriale. Or<strong>di</strong>ni <strong>di</strong> grandezza e generalità sulle leggi fisiche. Analisi <strong>di</strong>mensionale.<br />
Rappresentazione tabulare e grafica.<br />
• Cinematica del punto materiale: Relatività del moto. Sistemi <strong>di</strong> riferimento. Vali<strong>di</strong>tà sperimentale<br />
della geometria euclidea. Sistemi <strong>di</strong> riferimento. Trasformazioni delle coor<strong>di</strong>nate <strong>di</strong> un punto fra<br />
<strong>di</strong>versi sistemi <strong>di</strong> riferimento. Posizione, spostamento e velocità. Concetto <strong>di</strong> punto materiale. Legge<br />
oraria del moto. Traiettoria. Moto rettilineo e curvilineo. Moto rettilineo. Velocità e accelerazione<br />
me<strong>di</strong>a e istantanea. Derivazione ed integrazione delle grandezze cinematiche. Con<strong>di</strong>zioni iniziali.<br />
Dall'accelerazione alla velocità. Dalla velocità alla legge oraria. Moto rettilineo uniforme e vario.<br />
Moto rettilineo uniformemente accelerato. Nota a(x) ricavare v. Accelerazione <strong>di</strong> gravità g. Moto in<br />
due e tre <strong>di</strong>mensioni. Vettori posizione, spostamento, velocità ed accelerazione. Loro componenti.<br />
Moto curvilineo. Coor<strong>di</strong>nata curvilinea. Moti ad accelerazione costante. Componenti tangenziale e<br />
normale dell'accelerazione. Moto circolare: velocità ed accelerazione angolare. Periodo e frequenza.<br />
Componenti ra<strong>di</strong>ale e trasversale della velocità e dell'accelerazione nel moto curvilineo piano.<br />
• Moti relativi: Sistemi <strong>di</strong> riferimento assoluti. Posizione e velocità relativa <strong>di</strong> due punti materiali. Moto<br />
relativo traslatorio uniforme ed uniformemente accelerato. Spostamento <strong>di</strong> trascinamento. Velocità e<br />
accelerazione <strong>di</strong> trascinamento. Trasformazioni <strong>di</strong> Galileo: invarianza dell'accelerazione. Moto<br />
relativo rotatorio uniforme: accelerazione centrifuga e <strong>di</strong> Coriolis. Moto dei corpi sulla superficie<br />
della terra.<br />
• Dinamica del punto materiale: Principio <strong>di</strong> inerzia. Particella libera. Concetto <strong>di</strong> massa. Massa<br />
inerziale e gravitazionale. Interazione fra due particelle. Quantità <strong>di</strong> moto. Principio <strong>di</strong> conservazione<br />
della quantità <strong>di</strong> moto. Leggi <strong>di</strong> Newton. Concetto <strong>di</strong> forza. Definizione operativa <strong>di</strong> forza. Equazione<br />
del moto <strong>di</strong> una particella. Risultante delle forze applicate. Equilibrio statico e <strong>di</strong>namico. Vincoli e<br />
reazioni vincolari. Classificazione delle forze esistenti in natura. Forza peso e forza elastica. Forze<br />
d'attrito statico e <strong>di</strong>namico. Moto <strong>di</strong> una particella in un fluido. Moto curvilineo <strong>di</strong> una particella:<br />
componenti tangenziale e centripeta della risultante delle forze agenti. Sistemi non inerziali. Forze<br />
apparenti. Sistemi in rotazione uniforme: forza centrifuga e forza <strong>di</strong> Coriolis. Momento della quantità<br />
<strong>di</strong> moto, momento <strong>di</strong> una forza e teorema del momento angolare. Forze centrali. Conservazione del<br />
momento angolare. Legge della gravitazione universale <strong>di</strong> Newton. Leggi <strong>di</strong> Keplero.<br />
• Energia e Lavoro: Integrali primi della forza: impulso e lavoro. Teorema dell'impulso. Lavoro<br />
elementare e lavoro finito: proprietà degli integrali <strong>di</strong> linea. Potenza. Unità <strong>di</strong> misura del lavoro e<br />
della potenza. Energia cinetica. Teorema dell'energia cinetica. Invarianza del lavoro dal cammino <strong>di</strong><br />
integrazione fra due punti. Forze conservative. Energia potenziale. Principio <strong>di</strong> conservazione<br />
dell'energia meccanica. Lavoro <strong>di</strong> una forza <strong>di</strong>ssipativa. Proprietà della funzione energia potenziale.<br />
Relazione fra energia potenziale e forza. Concetto <strong>di</strong> derivata <strong>di</strong>rezionale. Gra<strong>di</strong>ente <strong>di</strong> una funzione.<br />
Campi <strong>di</strong> forze centrali. Natura conservativa <strong>di</strong> un campo <strong>di</strong> forze centrali. Moto sotto l'azione della<br />
forza gravitazionale. Potenziale gravitazionale e centrifugo. Potenziale efficace. Orbita <strong>di</strong> equilibrio.<br />
•<br />
Dinamica dei sistemi <strong>di</strong> punti materali: Generalizzazione dei risultati relativi alla <strong>di</strong>namica <strong>di</strong> una<br />
particella a un sistema <strong>di</strong>screto <strong>di</strong> punti materiali: quantità <strong>di</strong> moto, momento angolare ed energia<br />
cinetica. Forze interne, forze esterne e loro momenti. Terzo principio della <strong>di</strong>namica. Equazioni
car<strong>di</strong>nali della <strong>di</strong>namica <strong>di</strong> un sistema <strong>di</strong> particelle. Centro <strong>di</strong> massa (CM): definizione e proprietà.<br />
Moto del CM, e moto rispetto al CM . Teoremi <strong>di</strong> König. Problema dei due corpi. Massa ridotta.<br />
Leggi <strong>di</strong> conservazione delle grandezze <strong>di</strong>namiche <strong>di</strong> un sistema <strong>di</strong> punti materiali. Urti fra 2 punti<br />
materiali. Approssimazione <strong>di</strong> impulso.Urti elastici e anelastici. Urti centrali.<br />
• Dinamica del corpo rigido: Definizione e proprietà meccaniche. Gra<strong>di</strong> <strong>di</strong> libertà <strong>di</strong> moto. Moto <strong>di</strong><br />
rotazione. Momento angolare. Momento <strong>di</strong> inerzia. Teorema <strong>di</strong> Huygens−Steiner. Energia cinetica.<br />
Equazioni del moto del corpo rigido. Moti <strong>di</strong> un corpo rigido libero e vincolato. Moto <strong>di</strong> puro<br />
rotolamento (cenni). Leggi <strong>di</strong> conservazione nel moto <strong>di</strong> un corpo rigido. Urti tra particelle libere e<br />
corpi rigi<strong>di</strong> vincolati. Conservazione del momento angolare.<br />
• Moti oscillatori: Cinematica del moto armonico semplice (MAS). Dinamica del MAS. Forza ed<br />
energia nel MAS. Pendolo semplice e pendolo composto. Oscillazioni non armoniche. Oscillazioni<br />
smorzate. Oscillazioni forzate. Risonanza <strong>di</strong> ampiezza e risonanza dell'energia.<br />
• Flui<strong>di</strong>: Grandezze cinematiche e <strong>di</strong>namiche nei flui<strong>di</strong>. Pressione idrostatica. Compressibilità e modulo<br />
<strong>di</strong> volume. Idrostatica nel campo gravitazionale. Leggi <strong>di</strong> Archimede e <strong>di</strong> Stevino. Idro<strong>di</strong>namica <strong>di</strong> un<br />
fluido perfetto, teorema <strong>di</strong> Bernoulli. Flui<strong>di</strong> reali, viscosità (cenni).<br />
• Sistemi e stati termo<strong>di</strong>namici: Sistema e ambiente. Universo termo<strong>di</strong>namico. Sistemi aperti, chiusi e<br />
isolati. Variabili termo<strong>di</strong>namiche: concentrazione, pressione, volume e temperatura. Stati <strong>di</strong> equilibrio<br />
termo<strong>di</strong>namico. Variabili <strong>di</strong> stato. Gas ideali o perfetti: definizione e proprietà. Legge <strong>di</strong> stato <strong>di</strong> un<br />
gas perfetto. Equilibrio termico. Principio zero della termo<strong>di</strong>namica. Pareti <strong>di</strong>atermiche e a<strong>di</strong>abatiche.<br />
Contatto termico. Definizione operativa <strong>di</strong> temperatura. Punti fissi. Scale termometriche: scale Celsius<br />
e Kelvin. Termometri. Elementi <strong>di</strong> calorimetria. Temperature e calore. Capacità termica e quantità <strong>di</strong><br />
calore scambiata. Calori specifici molari e calore specifico <strong>di</strong> un solido. Cambiamenti <strong>di</strong> fase. Calori<br />
latenti. Calorimetri. Trasformazioni reversibili ed irreversibili. Il piano <strong>di</strong> Clepeyron. Trasformazioni<br />
isoterme, isocore e isobare. Cicli termo<strong>di</strong>namici. Lavoro termo<strong>di</strong>namico: <strong>di</strong>pendenza dalla<br />
trasformazione termo<strong>di</strong>namica. Lavoro per trasformazioni reversibili ed irreversibili.<br />
• Primo principio della termo<strong>di</strong>namica: Esperimenti <strong>di</strong> Joule. Equivalenza fra lavoro e calore. Energia<br />
interna. Conservazione dell'energia <strong>di</strong> un sistema termo<strong>di</strong>namico. Energia interna <strong>di</strong> un gas perfetto.<br />
Interpretazione microscopica (cenni). Calori specifici molari dei gas ideali. Relazione <strong>di</strong> Mayer.<br />
Calore specifico e energia interna dei corpi soli<strong>di</strong>. Il primo principio della termo<strong>di</strong>namica per un gas<br />
perfetto. Applicazione del primo principio nelle trasformazioni reversibili dei gas ideale: isoterma,<br />
isocora, isobara. Trasformazioni a<strong>di</strong>abatiche. Trasformazione a<strong>di</strong>abatica reversibile <strong>di</strong> un gas perfetto.<br />
Trasformazioni cicliche <strong>di</strong> un gas. Cicli termici e cicli frigoriferi. Ren<strong>di</strong>mento <strong>di</strong> un ciclo termico.<br />
Ciclo <strong>di</strong> Carnot. Efficienza o coefficiente operativo <strong>di</strong> prestazione <strong>di</strong> un ciclo frigorifero.<br />
• Secondo principio della termo<strong>di</strong>namica: Macchine termiche e macchine frigorifere. Sorgenti <strong>di</strong> calore<br />
e termostati. Enunciati del secondo principio della termo<strong>di</strong>namica. Equivalenza fra l'enunciato <strong>di</strong><br />
Kelvin−Planck e <strong>di</strong> Clausius. Teorema <strong>di</strong> Carnot. Ren<strong>di</strong>mento massimo. Conseguenze del teorema <strong>di</strong><br />
Carnot. Temperatura termo<strong>di</strong>namica assoluta. Diseguaglianza <strong>di</strong> Clausius. Entropia. Definizione e<br />
proprietà. Stato <strong>di</strong> riferimento. Calcolo della variazione <strong>di</strong> entropia. Trasformazioni a<strong>di</strong>abatiche. Il<br />
principio <strong>di</strong> aumento dell'entropia. Diagrammi T−S. Scambi <strong>di</strong> calore con sorgenti. Entropia<br />
dell'universo termo<strong>di</strong>namico.<br />
• Campo elettrico: Carica elettrica. Isolanti e conduttori. Legge <strong>di</strong> Coulomb. Campo elettrici e linee <strong>di</strong><br />
forza. Campo elettrico generato da una <strong>di</strong>stribuzione <strong>di</strong> cariche puntiformi. Teorema <strong>di</strong> Gauss.<br />
• Potenziale elettrico: Energia potenziale elettrostatica. Potenziale elettrostatico. Superfici<br />
equipotenziali. Differenza <strong>di</strong> potenziale. Relazione fra campo e potenziale elettrico.<br />
• Capacità elettrica: Condensatori e capacità. Condensatori in serie e in parallelo. Energia<br />
immagazzinata in un campo elettrico. Condensatore in presenza <strong>di</strong> un <strong>di</strong>elettrico.<br />
• Corrente elettrica: Cariche in movimento. Conduzione elettrica nei metalli. Corrente elettrica. Densità<br />
<strong>di</strong> corrente. Resistenza e resistività. Legge <strong>di</strong> Ohm. Intensità <strong>di</strong> corrente. Resistenze in serie e in<br />
parallelo. Energia e potenza nei circuiti elettrici. Legge <strong>di</strong> Joule. Semiconduttori e superconduttori<br />
(cenni).<br />
•<br />
Circuiti elettrici in corrente continua. Forza elettromotrice e resistenza interna <strong>di</strong> una batteria. Calcolo<br />
della corrente. Leggi <strong>di</strong> Kirchhoff. Teorema <strong>di</strong> Thevenin. Carica e scarica <strong>di</strong> un condensatore. Circuiti<br />
RC.
• Correnti variabili nel tempo: Circuiti oscillanti. Induzione elettromagnetica. Legge <strong>di</strong><br />
Faraday−Newmann−Lenz.<br />
La verifica del profitto avviene me<strong>di</strong>ante la prova d'esame, effettuata al termine del 3 quadrimestre. Le date<br />
degli appelli sono decisi in armonia con il calendario delle sessioni d'esame deliberato dalla Facoltà.<br />
L'iscrizione all'esame avviene con le usuali modalità tramite supporto informatico. L'esame consiste <strong>di</strong> una<br />
prova scritta e <strong>di</strong> una prova orale. L'ammissione alla prova orale è subor<strong>di</strong>nata al superamento della prova<br />
scritta. La prova scritta consiste nella risoluzione <strong>di</strong> alcuni esercizi e problemi su argomenti del programma<br />
svolto in aula, e può considerarsi superata se la votazione riportata dallo studente non è inferiore a 15/30. La<br />
prova orale consiste in un colloquio finalizzato all'approfon<strong>di</strong>mento della verifica delle conoscenze dello<br />
studente muovendo dai principi e dalle leggi fisiche utilizzate nella prova scritta. La vali<strong>di</strong>tà della prova scritta<br />
è limitata a tre appelli consecutivi d'esame, compreso quello in cui lo scritto è stato superato. Il superamento<br />
dell'esame porta all'acquisizione <strong>di</strong> 8 cre<strong>di</strong>ti.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
D. Halliday, R.<br />
Resnick, J. Walker<br />
M. Alonso, E.J.<br />
Finn<br />
Fondamenti <strong>di</strong> Fisica: Vol. I − Meccanica,<br />
Termologia; Vol. II − Elettrologia, Magnetismo,<br />
Ottica.<br />
Casa E<strong>di</strong>trice<br />
Ambrosiana<br />
2001 8821405389<br />
Elementi <strong>di</strong> Fisica per l'Universita': Vol. I −<br />
Masson S.p.A. 1982 8821405486<br />
Meccanica e Termo<strong>di</strong>namica; Vol. II − Campi e Onde<br />
Fondamenti dell'informatica<br />
Docente Roberto Giacobazzi − titolare<br />
Cre<strong>di</strong>ti 6<br />
Periodo 1º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~giaco/fondamenti3.html<br />
Obiettivi formativi<br />
Scopo del corso è quello <strong>di</strong> fornire gli strumenti formali e le nozioni fondamentali che stanno alla base<br />
dell'informatica vista come scienza. Il corso, fondamentale per la Laurea in Informatica e Tecnologie<br />
dell'informazione, sviluppa la teoria della cacolabilità arricchendo semplici macchine a stati (automi a stati<br />
finiti) con strutture dati via via piu' complesse, fino ad ottenere la potenza espressiva dei moderni linguaggi <strong>di</strong><br />
<strong>programmazione</strong>. Partendo dalla teoria degli automi e dei linguaggi formali, teoria a fondamento della<br />
descrizione e dell'implementazione dei linguaggi <strong>di</strong> <strong>programmazione</strong>, si arriva a delineare i concetti e la<br />
natura dei problemi che ammettono soluzione effettiva, ovvero dei problemi risolvibili me<strong>di</strong>ante strumenti<br />
automatici <strong>di</strong> calcolo quali i computers, e dei problemi che non sono risolvibili me<strong>di</strong>ante gli stessi strumenti,<br />
defininendo i limiti <strong>di</strong> cio' che è calcolabile. Il corso è propedeutico per tutti i corsi <strong>di</strong> informatica teorica ed<br />
applicata, in particolar modo per i corsi <strong>di</strong> Complessità, Meto<strong>di</strong> formali, Sicurezza e crittografia, i corsi <strong>di</strong><br />
linguaggi (III, compilatori etc.), deduzione automatica, e Semantica.<br />
Attività formative<br />
Il corso ha carattere prevalentemente teorico. Sono previste esercitazioni orientate allo stu<strong>di</strong>o <strong>di</strong> semplici<br />
problemi ed alla loro classificazione all'interno della teoria classica della calcolabilità.
Programma del corso<br />
• Automi e linguaggi formali (25h):<br />
Linguaggi e grammatiche<br />
Automi a stati finiti e linguaggi regolari<br />
Linguaggi liberi da contesto<br />
Forme normali <strong>di</strong> Chomsky e Greibach<br />
Automi a pila non deterministici<br />
Classificazione <strong>di</strong> Chomsky<br />
• Calcolabilità (30h):<br />
Nozione intuitiva <strong>di</strong> algoritmo<br />
Modelli formali per il calcolo: Macchine <strong>di</strong> Turing/funzioni ricorsive/programmi while<br />
Espressività <strong>di</strong> un linguaggio <strong>di</strong> <strong>programmazione</strong><br />
Tesi <strong>di</strong> Church<br />
Goedelizzazione, Universalità e Teorema s−m−n<br />
Meta<strong>programmazione</strong>: compliazione, interpretazione e specializzazione<br />
Problemi risolvibili e non: il problema della terminazione<br />
Insiemi ricorsivi e r.e.<br />
Teoremi <strong>di</strong> Ricorsione e Teorema <strong>di</strong> Rice<br />
Riducibilità funzionale e completezza in r.e.<br />
Insiemi creativi, produttivi e semplici<br />
Risultati <strong>di</strong> incompletezza (cenni)<br />
TESTI<br />
Dispense <strong>di</strong>stribuite a lezione a integrazione dei seguenti testi:<br />
• Hopcroft and Ullman, "Introduction to Automata Theory, languages and computation", Ad<strong>di</strong>son<br />
Wesley, 1979<br />
• Jones, "Computability and Complexity", MIT Press, 1997<br />
• Rogers, "Theory of recursive functions and effective computability", MIT Press, 1988<br />
• O<strong>di</strong>fred<strong>di</strong>, "Classical recursion theory", Elsevier North−Holland, 1989<br />
L'esame è composto da una prova scritta, orientata all'accertamento della capacità del can<strong>di</strong>dato <strong>di</strong> risolvere<br />
esercizi nell'ambito dei linguaggi formali e della teoria della calcolabilità, ed una prova orale, principalmente<br />
orientata all'accertamento della conoscenza dei principali risultati della teoria vista a lezione.<br />
Informatica <strong>di</strong> base<br />
Docente Matteo Cristani − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 1º quadrimestre<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> fornire le conoscenze introduttive dell'Informatica. Si richiede allo studente, al termine<br />
dello stesso corso, <strong>di</strong> sapere manipolare i concetti elementari <strong>di</strong> Architetture dei sistemi <strong>di</strong> elaborazione,<br />
Sistemi Operativi, Teoria degli Automi e Progammazione. Inoltre lo studente stesso deve essere preparato<br />
nell'uso <strong>di</strong> strumenti <strong>di</strong> Produttivita' in<strong>di</strong>viduale, in particolare video e<strong>di</strong>tor, spreadsheet, posta elettronica,<br />
navigazione web.
Attività formative<br />
Il corso si svolge sia in aula che in laboratorio con equivalente impegno (2 cre<strong>di</strong>ti + 2 cre<strong>di</strong>ti).<br />
Programma del corso<br />
• Modulo 1: Elementi <strong>di</strong> Architettura degli elaboratori<br />
Che cos'è un calcolatore elettronico: cenni alla storia dei circuiti <strong>di</strong>gitali;<br />
Struttura <strong>di</strong> un elaboratore elettronico;<br />
Reti locali <strong>di</strong> calcolatori;<br />
Reti geografiche <strong>di</strong> calcolatori.<br />
• Modulo 2:Elementi <strong>di</strong> Teoria degli Automi e della Computazione<br />
Macchine a stati e concetto <strong>di</strong> calcolo;<br />
Nozione formale <strong>di</strong> problema <strong>di</strong> elaborazione;<br />
Linguaggi e loro riconoscimento;<br />
Problemi teoricamente risolubili e problemi praticamente risolubili.<br />
• Modulo 3: Introduzione ai sistemi operativi<br />
Concetto <strong>di</strong> sistema operativo;<br />
Struttura <strong>di</strong> un sistema operativo;<br />
Componenti logiche <strong>di</strong> un ambiente operativo;<br />
Nozione <strong>di</strong> concorrenza;<br />
Sistemi multiutente: autorizzazioni e ruoli.<br />
• Modulo 4: Introduzione alla Programmazione ed all'Ingegneria del Software<br />
Nozioni e teminologia della <strong>programmazione</strong>;<br />
Linguaggi <strong>di</strong> <strong>programmazione</strong>;<br />
Linguaggi ad oggetti;<br />
Progetto <strong>di</strong> applicazioni;<br />
Classificazione del software.<br />
• Modulo 5: <strong>Laboratorio</strong> <strong>di</strong> Sistemi Operativi<br />
Sistema Operativo Linux;<br />
Operazioni utente fondamentali nel sistema operativo Linux.<br />
• Modulo 6: <strong>Laboratorio</strong> <strong>di</strong> Informatica Generale<br />
Navigazione Internet e Posta Elettronica;<br />
Elaborazione <strong>di</strong> Testi e Fogli elettronici;<br />
Uso della rete locale e <strong>di</strong> internet: stampa <strong>di</strong> documenti, trasferimento <strong>di</strong> file in locale e su rete<br />
geografica.<br />
La verifica avviene tramite una prova scritta. A richiesta dello studente è possibile svolgere una prova orale.
Interazione uomo−macchina e multime<strong>di</strong>a<br />
Docente Vittorio Murino − supplente<br />
Cre<strong>di</strong>ti 5<br />
Periodo 3º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~swan/Teaching/courses.html<br />
Obiettivi formativi<br />
Il corso intende fornire le basi teoriche e le linee guida per il progetto <strong>di</strong> interfaccie uomo−calcolatore, con<br />
particolare attenzione alle interfacce grafiche o visuali.<br />
La prima parte del corso è de<strong>di</strong>cata allo stu<strong>di</strong>o delle basi dell'interazione vera e propria in termini <strong>di</strong> fattori<br />
umani, modello <strong>di</strong> utente, stili <strong>di</strong> interazione, usabilità, multimodalità e strumenti software utilizzati. La<br />
seconda parte del corso è de<strong>di</strong>cata allo stu<strong>di</strong>o degli strumenti per progettare un'interfaccia fornendo i principi<br />
<strong>di</strong> base per il trattamento delle immagini e la grafica. Lungo il corso, saranno inoltre presentati esempi relativi<br />
ad interfaccie multimodali e percettive (visuali, u<strong>di</strong>tive, aptiche), iperme<strong>di</strong>a e world wide web, interfaccie<br />
tri<strong>di</strong>mensionali, con applicazioni rivolte alla realtà virtuale, ubiquitous computing e alle interfaccie indossabili<br />
(wearables).<br />
L'obiettivo finale del corso è duplice: da una parte fornire i principi e le tecniche <strong>di</strong> base delle interfaccie, e<br />
dall'altra mostrare lo stato dell'arte delle tecnologie esistenti e il loro utilizzo nell'ambito dell'interazione<br />
uomo−macchina.<br />
Attività formative<br />
Il corso viene svolto in 40 ore <strong>di</strong> lezioni frontali e 15 ore <strong>di</strong> laboratorio. L'attività <strong>di</strong> laboratorio prevede lo<br />
stu<strong>di</strong>o e l'analisi <strong>di</strong> interfaccie esistenti al fine <strong>di</strong> effettuare una valutazione critica basata sui criteri visti a<br />
lezione. Inoltre, è prevista un'attività iniziale <strong>di</strong> progetto <strong>di</strong> un'interfaccia propria sulla base <strong>di</strong> specifiche del<br />
docente.<br />
Programma del corso<br />
• Principi dell'interazione: fattori umani e psicologici, stili <strong>di</strong> interazione, usabilità, modelli e<br />
para<strong>di</strong>gmi, strumenti software e hardware per l'interazione.<br />
• Formazione ed elaborazione <strong>di</strong> immagini: formati, immagini a colori, manipolazione del colore,<br />
filtraggio e operazioni geometriche, formati <strong>di</strong> compressione.<br />
• Ru<strong>di</strong>menti <strong>di</strong> grafica: geometria affine e trasformazioni geometriche, rappresentazione <strong>di</strong> oggetti,<br />
rappresentazioni poliedrali (mesh), visualizzazione e primitive grafiche, pipeline grafica, coor<strong>di</strong>nate e<br />
trasformazioni <strong>di</strong> vista, rimozione facce nascoste.<br />
• Applicazioni: interfaccie WWW, interfaccie tri<strong>di</strong>mensionali, interfaccie multimodali, realtà virtuale,<br />
mixed reality, visualizzazione dellinformazione.<br />
La verifica del profitto avverà me<strong>di</strong>ante un'attività <strong>di</strong> progetto e una breve prova orale. Il progetto riguarderà<br />
l'analisi <strong>di</strong> interfaccie esistenti e nella realizzazione <strong>di</strong> una propria interfaccia. La prova orale verterà sui temi<br />
sviluppati a lezione e potrà essere sostituita da una prova scritta con brevi domande simili alla prova orale.<br />
Il superamento delle prove porta all'acquisizione <strong>di</strong> 5 cre<strong>di</strong>ti.
<strong>Laboratorio</strong> <strong>di</strong> algoritmi<br />
Docente Roberto Posenato − supplente<br />
Cre<strong>di</strong>ti 2<br />
Periodo 2º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~posenato/Courses/Lasd2001<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> raffinare le conoscenze dello studente circa la pratica della <strong>programmazione</strong> a oggetti<br />
soprattutto nell'implementazione <strong>di</strong> algoritmi e strutture dati avanzate.<br />
Il linguaggio con il quale si svolgeranno le esercitazioni è il Java <strong>di</strong> cui si assume una conoscenza <strong>di</strong> base.<br />
Attività formative<br />
Il corso viene svolto in 30 ore <strong>di</strong> esercitazione in laboratorio. Si ricorda che il corso vale 2 CFU, per cui sono<br />
previste ulteriori 20 ore <strong>di</strong> lavoro in<strong>di</strong>viduale da svolgersi presso i laboratori <strong>di</strong>dattici.<br />
Programma del corso<br />
1. Uso del meccanismo dell'Interfaccia. Esempio <strong>di</strong> applicazione con l'implementazione dell'ADT<br />
Lista, Coda e Pila.<br />
2. Uso dell'interfaccia Comparable. Implementazione degli algoritmi <strong>di</strong> or<strong>di</strong>namento per inserimento<br />
(InsertionSort) e per passo calante (ShellSort).<br />
3. Tecniche <strong>di</strong> confronto <strong>di</strong> implementazioni. Confronto tra due implementazioni <strong>di</strong> algoritmi <strong>di</strong><br />
or<strong>di</strong>namento: QuickSort e MergeSort.<br />
4. Implementazioni dell'ADT HashTable.<br />
5. Implementazione <strong>di</strong> un algoritmo <strong>di</strong> <strong>programmazione</strong> <strong>di</strong>namica: ricerca massima sottosequenza<br />
comune (MaxSSC).<br />
6. Implementazioni dell'ADT Albero e Albero <strong>di</strong> ricerca binario. Uso dell'interfaccia Iterator.<br />
Implementazioni meto<strong>di</strong> <strong>di</strong> visita.<br />
7. Implementazione <strong>di</strong> un algoritmo greedy: algoritmo <strong>di</strong> Kruskal.<br />
L'esame <strong>di</strong> laboratorio <strong>di</strong> algoritmi e strutture dati è in concomitanza con l'esame <strong>di</strong> algoritmi e strutture dati.<br />
Le modalià sono quin<strong>di</strong> spiegate nella pagina del corso <strong>di</strong> Algoritmi e strutture dati.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
Adam Drozdek Algoritmi e strutture dati in Java Apogeo 2001 8873038956<br />
<strong>Laboratorio</strong> <strong>di</strong> architettura degli elaboratori<br />
Docente Franco Fummi − titolare<br />
Cre<strong>di</strong>ti 2<br />
Periodo 2º 3º quadrimestre
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> dare allo studente le conoscenze necessarie alla descrizione <strong>di</strong> <strong>di</strong>spositivi <strong>di</strong>gitali<br />
me<strong>di</strong>ante linguaggi de<strong>di</strong>cati e alla realizzazione <strong>di</strong> programmi assembly per piattaforme Intel 80X86.<br />
Attività formative<br />
Il corso ha un carattere strettamente pratico e prevede l'utilizzo dei laboratori <strong>di</strong>dattici del <strong>di</strong>partimento.<br />
Programma del corso<br />
• Progettazione <strong>di</strong>gitale:<br />
• ♦ La minimizzazione esatta <strong>di</strong> funzioni a due livelli: Espresso.<br />
♦ La minimizzazione approssimata <strong>di</strong> circuiti combinatori: MIS.<br />
♦ La minimizzazione degli stati: Stamina.<br />
♦ L'assegnamento degli stati: Nova.<br />
♦ La progettazione automatica <strong>di</strong> FSM: SIS.<br />
♦ Componenti <strong>di</strong> libreria combinatori e sequenziali.<br />
♦ Modellazione e progettazione <strong>di</strong> FSMD.<br />
• Il linguaggio assemblatore dell'Intel 80X86:<br />
• ♦ Gestione della memoria.<br />
♦ La rappresentazione dei dati.<br />
♦ Le strutture <strong>di</strong> controllo.<br />
♦ Procedure e funzioni.<br />
♦ I servizi <strong>di</strong> sistema operativo.<br />
Allo studente verra` richiesto <strong>di</strong> realizzare un circuito sequenziale ed un programma assembler che<br />
implementano un algoritmo dato. Parte delle lezioni in laboratorio saranno utilizzate per lo sviluppo <strong>di</strong> questi<br />
due progetti.<br />
<strong>Laboratorio</strong> <strong>di</strong> architetture software<br />
Docente Giuseppe Scollo − titolare<br />
Cre<strong>di</strong>ti 2<br />
Periodo 1º 2º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~scollo/ais2001−2/index.html<br />
Obiettivi formativi<br />
Per il lavoro <strong>di</strong> laboratorio, il docente fornisce alcune in<strong>di</strong>cazioni e proposte tematiche utili alla definizione <strong>di</strong><br />
progetti, e adempie al coor<strong>di</strong>namento dei gruppi <strong>di</strong> lavoro, <strong>di</strong> formazione e composizione <strong>di</strong>namica.<br />
È compito <strong>di</strong> ciascun gruppo <strong>di</strong> lavoro la scelta dell'area tematica, la definizione del titolo e degli obiettivi del<br />
progetto, la sua pianificazione e la sua realizzazione, alla quale dovrebbero essere sufficienti le ore <strong>di</strong><br />
laboratorio riservate al corso.<br />
Attività formative<br />
Il Corso consta <strong>di</strong> 30 ore <strong>di</strong> esercitazioni <strong>di</strong> laboratorio in presenza del docente, e <strong>di</strong> ulteriori attività <strong>di</strong><br />
progetto in laboratorio senza assistenza <strong>di</strong>retta del docente, per le quali si rinvia alla documentazione <strong>di</strong> dette<br />
attività, all'in<strong>di</strong>rizzo: http://profs.sci.univr.it/~scollo/ais2001−2/lab/proj/index.html
Programma del corso<br />
I progetti <strong>di</strong> questo laboratorio sono concepiti come parti <strong>di</strong> un unico progetto, sulla tematica:<br />
gestione delle configurazioni e aspetti economici nell'ingegneria del software e nello sviluppo<br />
<strong>di</strong> architetture del software ad oggetti<br />
La pianificazione <strong>di</strong> questo progetto è parte integrante del lavoro <strong>di</strong> laboratorio. Per questa si rinvia alla<br />
documentazione del piano del progetto, all'in<strong>di</strong>rizzo:<br />
http://profs.sci.univr.it/~scollo/ais2001−2/lab/act/plan/index.html<br />
La verifica del profitto avviene me<strong>di</strong>ante la valutazione, in un colloquio in<strong>di</strong>viduale, del contributo dello<br />
studente al lavoro <strong>di</strong> progetto realizzato in laboratorio. La documentazione <strong>di</strong> riferimento a questo scopo sarà<br />
quella resa <strong>di</strong>sponibile dallo studente nello spazio <strong>di</strong> lavoro con<strong>di</strong>viso in cui si è sviluppato il suo lavoro <strong>di</strong><br />
laboratorio:<br />
studenti del corso<br />
accesso pubblico<br />
Il superamento della prova porta all'acquisizione <strong>di</strong> 2 cre<strong>di</strong>ti, da sommarsi a quelli acquisiti nel resto del<br />
colloquio d'esame (<strong>di</strong> Ingegneria del software o <strong>di</strong> Architetture del software).<br />
<strong>Laboratorio</strong> <strong>di</strong> basi <strong>di</strong> dati e WEB<br />
Docente Roberto Posenato − supplente<br />
Cre<strong>di</strong>ti 2<br />
Periodo 2º 3º quadrimestre<br />
Pagina Web http://profs.sci.univr.it/~posenato/Courses/BDW2001<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> introdurre lo studente a:<br />
• l'uso <strong>di</strong> un Database Management System (DBMS) per la creazione/gestione/interrogazione <strong>di</strong> un<br />
database,<br />
• la realizzazione <strong>di</strong> siti web <strong>di</strong>namici basati su database.<br />
Le tecnologie principali utilizzate nelle esercitazioni sono le servlet e le Java Server Pages (JSP), per cui si<br />
assume che lo studente abbia una <strong>di</strong>screta conoscenza del linguaggio <strong>di</strong> <strong>programmazione</strong> Java.<br />
Attività formative<br />
Il corso viene svolto in 30 ore <strong>di</strong> esercitazione in laboratorio. Si ricorda che il corso vale 2 CFU, per cui sono<br />
previste ulteriori 20 ore <strong>di</strong> lavoro in<strong>di</strong>viduale da svolgersi presso i laboratori <strong>di</strong>dattici.<br />
Programma del corso<br />
1. Introduzione al DBMS PostgreSQL: Connessione ad un database, uso <strong>di</strong> semplici coman<strong>di</strong> <strong>di</strong><br />
controllo, creazione <strong>di</strong> tabelle.<br />
2. PostgreSQL: vincoli <strong>di</strong> integrità, politiche <strong>di</strong> reazione alle violazioni dei vincoli <strong>di</strong> integrità<br />
referenziale.<br />
3. PostgreSQL: interrogazioni SQL semplici.<br />
4.<br />
PostgreSQL: interrogazioni SQL complesse.
5. Linguaggio HTML: struttura <strong>di</strong> un documento HTML, fogli <strong>di</strong> stile, marcatori fondamentali, tabelle.<br />
6. Linguaggio HTML: form. Attivazione <strong>di</strong> un programma CGI (shell script).<br />
7. Installazione <strong>di</strong> un engine sul server WEB per la gestione delle servlet. Esempi <strong>di</strong> servlet semplici.<br />
Interazione servlet−dbms PostgreSQL.<br />
8. Uso form e servlet per la gestione <strong>di</strong> dati.<br />
9. Java bean e servlet.<br />
10. Java Server Pages (JSP) e interazione con le form HTML.<br />
11. JSP e servlet per un approccio <strong>di</strong> sviluppo Model View Controller.<br />
L'esame <strong>di</strong> laboratorio <strong>di</strong> base <strong>di</strong> dati e web è in concomitanza con l'esame <strong>di</strong> basi <strong>di</strong> dati e web. Le modalià<br />
sono quin<strong>di</strong> spiegate nella pagina del corso <strong>di</strong> Basi <strong>di</strong> dati e web.<br />
<strong>Laboratorio</strong> <strong>di</strong> calcolo numerico<br />
Docente Angelo Pica − titolare<br />
Cre<strong>di</strong>ti 2<br />
Periodo 1º 2º quadrimestre<br />
Si faccia riferimento al corso <strong>di</strong> Calcolo Numerico, <strong>di</strong> cui il laboratorio è parte<br />
integrante.<br />
Si faccia riferimento al corso <strong>di</strong> Calcolo Numerico, <strong>di</strong> cui il laboratorio è parte<br />
integrante.<br />
<strong>Laboratorio</strong> <strong>di</strong> <strong>programmazione</strong><br />
Docente Andrea Fusiello − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 2º quadrimestre<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> introdurre lo studente alla <strong>programmazione</strong> strutturata ed ad oggetti, in modo graduale<br />
ed utilizzando un linguaggio semplice e <strong>di</strong>uffuso come Java. Essendo un corso <strong>di</strong> laboratorio, l'enfasi è<br />
sull'imparare facendo.<br />
Attività formative<br />
Il corso viene svolto in 60 ore <strong>di</strong> esercitazione in laboratorio nell'arco <strong>di</strong> un periodo.<br />
Programma del corso<br />
• Introduzione alla <strong>programmazione</strong>. Processo <strong>di</strong> risoluzione <strong>di</strong> un problema. Correttezza: tipi <strong>di</strong> errori,<br />
tecniche <strong>di</strong> verifica (cenni) Compilatori ed interpreti.<br />
•<br />
Il linguaggio JAVA caratteristiche generali. Ambiente <strong>di</strong> sviluppo JDK (compilatore, interprete,<br />
debugger). Struttura del programma (applicazione). Variabili, tipi <strong>di</strong> dati, espressioni, istruzioni <strong>di</strong><br />
assegnamento, casting. Operatori relazionali ed espressioni logiche (boolean). Literals stringhe,
caratteri. Semplice input/output.<br />
• Programmazione strutturata e strutture <strong>di</strong> controllo. Diagrammi <strong>di</strong> flusso. Istruzioni composte.<br />
L'istruzione if. L'istruzione switch. Ciclo while. Ciclo for.<br />
• Vettori e or<strong>di</strong>namento. Vettori (array) mono<strong>di</strong>mensionali e bi<strong>di</strong>mensionali. Gestione degli array per<br />
riferimento, allocazione con new, aliasing. Ricerca lineare in un vettore e or<strong>di</strong>namento <strong>di</strong> vettori (per<br />
Selezione).<br />
• Meto<strong>di</strong> <strong>di</strong> classe (static). Chiamate <strong>di</strong> meto<strong>di</strong>. Parametri formali e parametri attuali. Passaggio <strong>di</strong><br />
parametri per valore. Passaggio <strong>di</strong> parametri per riferimento (Java non lo prevede). Variabili locali.<br />
Effetti collaterali. Sovraccarico (overloa<strong>di</strong>ng) dei meto<strong>di</strong>.<br />
• Modello runtime. Pila <strong>di</strong> attivazione, allocazione degli oggetti nello heap, durata degli oggetti,<br />
visibilità (scope) delle variabili. Effetti collaterali. Esempio: pila <strong>di</strong> attivazione <strong>di</strong> chiamate annidate.<br />
• Ricorsione. Chiamate ricorsive <strong>di</strong> meto<strong>di</strong>. Pila <strong>di</strong> attivazione <strong>di</strong> chiamate ricorsive. Esempi <strong>di</strong><br />
programmi ricorsivi: ricerca binaria, or<strong>di</strong>namento per Fusione,<br />
• Programmazione orientata agli oggetti. Oggetti software, messaggi, interfaccia. Concetto <strong>di</strong> classe e <strong>di</strong><br />
esemplare. Meto<strong>di</strong> istanza, sintassi (dot notation). La classe String. Standard UML per i grafici.<br />
• Classi ed oggetti. Definizione <strong>di</strong> classi. Meto<strong>di</strong> e variabili istanza. Uso del this. Costruttori.<br />
Mo<strong>di</strong>ficatori <strong>di</strong> visibilità (public e private). Gestione degli oggetti per riferimento, aliasing. Classi<br />
mutabili e immutabili, Meto<strong>di</strong> client. In<strong>di</strong>pendenza dalla rappresentazione ed occultamento<br />
dell'informazione. Implementazione del TDA ``Pila''.<br />
• Ere<strong>di</strong>tarietà. Estensione <strong>di</strong> classi. Polimorfismo con sovrascrittura (overri<strong>di</strong>ng). Il meccanismo del<br />
dynamic bin<strong>di</strong>ng. Differenza tra variabili oscurate e meto<strong>di</strong> sovrascritti, uso del super. Classi astratte.<br />
Interfaccie. Eccezioni.<br />
• Packages. Java API. Uso dei packages e definizione <strong>di</strong> packages. Regole <strong>di</strong> visibilità (riviste). Il<br />
package java.io, flussi (streams) <strong>di</strong> ingresso e uscita. Lettura e scrittura <strong>di</strong> file binari e <strong>di</strong> file <strong>di</strong> testo<br />
UNICODE.<br />
Da definire.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
Stefano Mizzaro Introduzione alla <strong>programmazione</strong> con il linguaggio Java Franco Angeli 2000 8846416961<br />
<strong>Laboratorio</strong> <strong>di</strong> sistemi operativi<br />
Docente Massimo Poncino − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 2º 3º quadrimestre<br />
Obiettivi formativi<br />
Il corso è una introduzione ai principi ed al progetto <strong>di</strong> sistemi operativi, essenziali per coor<strong>di</strong>nare le attività e<br />
le risorse <strong>di</strong> un sistema <strong>di</strong> calcolo. Sono affrontati i principali temi dalle architetture software alla gestione dei<br />
processi e delle risorse (es. memoria) del sistema. Nel corso <strong>di</strong> <strong>Laboratorio</strong> viene stu<strong>di</strong>ato un sistema<br />
operativo reale della famiglia UNIX.<br />
Attività formative<br />
Il corso viene svolto in 60 ore <strong>di</strong> laboratorio svolte in un unico periodo <strong>di</strong>dattico.
Programma del corso<br />
• Introduzione a UNIX: Struttura <strong>di</strong> UNIX; strutture dati del kernel; UNIX utente: la shell, gli<br />
strumenti <strong>di</strong> ausilio alla <strong>programmazione</strong> (make,prof,awk,lex,yacc).<br />
• La <strong>programmazione</strong> <strong>di</strong> shell: Script <strong>di</strong> shell. Tipi <strong>di</strong> shell. Coman<strong>di</strong> <strong>di</strong> shell; Interazione tra shell e<br />
programmi utente e <strong>di</strong> sistema; Filtri,<br />
• La <strong>programmazione</strong> <strong>di</strong> sistema: la libreria C delle system call UNIX; Classi <strong>di</strong> system call;<br />
• Gestione del file system: Creazione/manipolazione <strong>di</strong> file; I/O raw; link e special file;<br />
• Gestione dei processi: Creazione e <strong>di</strong>struzione <strong>di</strong> processi; system call fork() ed exec();<br />
• Sincronizzazione e Comunicazione tra processi: segnali, pipe, IPC (code <strong>di</strong> messaggi, Memoria<br />
con<strong>di</strong>visa, semafori)<br />
• Programmazione <strong>di</strong> rete in ambiente UNIX: L'interfaccia socket; socket a connessione e datagram.<br />
L'interfaccia RPC;<br />
• Programmazione <strong>di</strong> sistema in ambiente Java: Thread e RMI (Remote Method Invocation).<br />
La verifica del profitto è parte della verifica del corso <strong>di</strong> Sistemi Operativi. La parte riguardante il laboratorio<br />
consisterà nella stesura <strong>di</strong> un programma in linguaggio C o Java per la soluzione <strong>di</strong> un problema <strong>di</strong><br />
sincronizzazione e/o comunicazione tra processi.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
W.R. Stevens Advanced Programming in the UNIX Environment Ad<strong>di</strong>son Wesley 1999 0201563177<br />
Linguaggi <strong>di</strong> <strong>programmazione</strong> e compilatori<br />
Docente Fausto Spoto − supplente<br />
Cre<strong>di</strong>ti 10<br />
Periodo 2º 3º quadrimestre<br />
Linguaggi <strong>di</strong> Programmazione e Compilatori<br />
Il corso presenta i vari linguaggi <strong>di</strong> <strong>programmazione</strong>, la loro specifica sintattica e semantica, le strutture per la<br />
gestione dei dati e del flusso <strong>di</strong> controllo. Vengono considerate le caratteristiche dei vari linguaggi, allo scopo<br />
<strong>di</strong> permettere allo studente <strong>di</strong> scegliere il linguaggio piú adatto alle proprie necessità. Vengono considerati<br />
linguaggi imperativi, logici e funzionali, soffermandosi in particolare sul para<strong>di</strong>gma dei linguaggi a oggetti. Si<br />
considerano poi le tecniche per la realizzazione <strong>di</strong> un compilatore, ovvero <strong>di</strong> uno strumento automatico <strong>di</strong><br />
traduzione da un linguaggio <strong>di</strong> <strong>programmazione</strong> a un altro. I risultati teorici sono presentati insieme a degli<br />
strumenti standard che li sfruttano nell'implementazione dei compilatori. Il corso mostra l'applicazione <strong>di</strong> tali<br />
strumenti alla realizzazione <strong>di</strong> un compilatore da un semplice linguaggio <strong>di</strong> <strong>programmazione</strong> imperativo a un<br />
linguaggio macchina per un processore a registri.<br />
Programma del corso<br />
Parte I<br />
• Linguaggi, sintassi e semantica.<br />
• Tipi <strong>di</strong> dato elementari.<br />
• Semantica dei tipi <strong>di</strong> dato elementari.<br />
• Incapsulazione dei dati. Para<strong>di</strong>gma a oggetti.<br />
• Semantica del para<strong>di</strong>gma a oggetti.<br />
•<br />
Strutture <strong>di</strong> controllo <strong>di</strong> flusso.
Parte II<br />
• Semantica delle strutture <strong>di</strong> controllo <strong>di</strong> flusso.<br />
• Chiamate <strong>di</strong> procedura. Scoping statico e <strong>di</strong>namico.<br />
• Stack <strong>di</strong> attivazione.<br />
• Eccezioni.<br />
• Concorrenza.<br />
• Linguaggi <strong>di</strong> <strong>programmazione</strong> per il web. CGI.<br />
• Esempi <strong>di</strong> linguaggi <strong>di</strong> <strong>programmazione</strong>: Fortran, C, Pascal, C++, Java, ML, Prolog.<br />
• Le fasi <strong>di</strong> un compilatore.<br />
• Un semplice linguaggio imperativo: Tiger.<br />
• Analisi lessicale.<br />
• Automi a stati finiti.<br />
• Uno strumento per l'analisi lessicale: JLex.<br />
• Analisi sintattica.<br />
• Grammatiche LR(k).<br />
• Uno strumento per l'analisi sintattica: Cup.<br />
• Sintassi astratta.<br />
• Analisi semantica.<br />
• Generazione del co<strong>di</strong>ce interme<strong>di</strong>o.<br />
• Selezione delle istruzioni.<br />
• Analisi <strong>di</strong> liveness.<br />
• Analisi dataflow.<br />
• Ottimizzazione dei cicli.<br />
Testi <strong>di</strong> riferimento<br />
• Pratt: ``Linguaggi <strong>di</strong> Programmazione''. Gruppo e<strong>di</strong>toriale Jackson. Oppure la versione inglese, Pratt<br />
& Zelkowitz: ``Programming Languages: Design and Implementation'', Prentice Hall−International.<br />
• Andrew W. Appel: ``Modern Compiler Implementation in Java''. Cambridge University Press.<br />
Modalità d'esame<br />
L'esame è formato da un progetto, uno scritto e un orale. Il progetto consiste in una mo<strong>di</strong>fica del compilatore<br />
per Tiger descritto durante il corso.<br />
Modalità d'esame non inserito<br />
Logica matematica<br />
Docente Ruggero Ferro − titolare<br />
Cre<strong>di</strong>ti 6<br />
Periodo 2º quadrimestre
Obiettivi formativi<br />
L'esistenza stessa dell'informatica <strong>di</strong>pende dalla capacità <strong>di</strong> rappresentare adeguatamente nozioni ed elaborarle<br />
attraverso opportune trasformazionidelle loro rappresentazioni. Detto altrimenti l'informatica <strong>di</strong>pende<br />
dalle<strong>di</strong>stinzioni e legami tra semantica e sintassi. Lo scopo <strong>di</strong> questo insegnamentoè l'evidenziazione e lo<br />
stu<strong>di</strong>o del rapporto tra semantica e sintassi,mettendo in luce potenzialità e limiti dei linguaggi formali.<br />
Attività formative<br />
Il corso viene svolto in 54 ore <strong>di</strong> lezione/esercitazione frontale.<br />
Programma del corso<br />
Richiami a strutture, linguaggi formali del primo or<strong>di</strong>ne, definizionebase <strong>di</strong> verità in una realizzazione,<br />
sod<strong>di</strong>sfacibilità, vali<strong>di</strong>tà, conseguenza logica. Il problema del controllo sintattico della sod<strong>di</strong>sfacibilità. Alberi<br />
<strong>di</strong> confutazione per l'analisi delle formule a blocchi. Insiemi <strong>di</strong> Hintikka.Teoremi <strong>di</strong> vali<strong>di</strong>tà, <strong>di</strong> completezza e<br />
<strong>di</strong> compattezza rispetto aglialberi <strong>di</strong> confutazione. Teoremi <strong>di</strong> Lowenheim Skolem. Categoricità e alfa<br />
categoricità. Paradosso <strong>di</strong> Skolem. Linguaggi numerabili e alberi per l'analisi delle formule una ad una. Cenni<br />
alla deduzione naturale. Forme normali. Il metodo <strong>di</strong> risoluzione. Deduzione alla Hilbert. Teorema <strong>di</strong><br />
deduzione. Insiemi massimali consistenti. Insiemi <strong>di</strong> Henkin. Teoremi <strong>di</strong> vali<strong>di</strong>tà e completezza per la<br />
deduzione alla Hilbert.<br />
Modalità <strong>di</strong> verifica<br />
La verifica del profitto avviene me<strong>di</strong>ante una prova orale in modalità scritta.<br />
Matematica <strong>di</strong> base<br />
Docente Ruggero Ferro − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 1º quadrimestre<br />
Obiettivi formativi<br />
Obiettivo dell'insegnamento è chiarire e precisare le nozioni fondamentali e in<strong>di</strong>spensabili per lo sviluppo<br />
della matematica e <strong>di</strong> ogni altra <strong>di</strong>sciplina scientifica.<br />
Attività formative<br />
Il corso viene svolto in 36 ore <strong>di</strong> lezione/esercitazione frontale.<br />
Programma del corso<br />
Le nozioni basilari <strong>di</strong> teoria degli insiemi. Particolarità degli insiemi infiniti. La nozione <strong>di</strong> relazione.<br />
Relazioni <strong>di</strong> equivalenza e relazioni d'or<strong>di</strong>ne. Funzioni. Caratteristiche delle funzioni e operazioni<br />
fondamentali su <strong>di</strong> esse. Strutture. Linguaggio del primo or<strong>di</strong>ne e nozione <strong>di</strong> verità<strong>di</strong> una formula in una<br />
struttura. Vali<strong>di</strong>tà, sod<strong>di</strong>sfacibilità e conseguenza logica. I numeri naturali e il principio d'induzione.<br />
Modalità <strong>di</strong> verifica<br />
La verifica del profitto avviene me<strong>di</strong>ante una prova orale in modalità scritta.
Probabilità e Statistica [1° anno]<br />
Docente Laura Morato − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 3º quadrimestre<br />
Obiettivi formativi<br />
Acquisizione dei concetti <strong>di</strong> base del Calcolo delle Probabilita' e possibilita' <strong>di</strong> utilizzare alcuni semplici<br />
strumenti statistici<br />
Attività formative<br />
Lezione teoriche ed esercitazioni in aula<br />
Programma del corso<br />
• Elementi <strong>di</strong> statistica descrittiva<br />
• Spazi <strong>di</strong> probabilita'. Misura <strong>di</strong> probabilita'. Probabilita' combinatoria<br />
• Con<strong>di</strong>zionamento e in<strong>di</strong>pendenza<br />
• Variabili aleatorie <strong>di</strong> comune utilita'<br />
• Cenni su legge dei gran<strong>di</strong> numeri e Teorema Centrale Limite<br />
• Descrizione qualitativa <strong>di</strong> una variabile aleatoria. Stimatori <strong>di</strong> me<strong>di</strong>a e varianza<br />
• Intervalli <strong>di</strong> confidenza . Cenni sui test statistici<br />
• Cenni su regressioni lineari<br />
L'esame cosistera' in una prova scritta con esercizi e domande <strong>di</strong> teoria.<br />
Probabilità e Statistica<br />
Docente Paola Siri − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 3º quadrimestre<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> fornire agli studenti alcuni concetti fondamentali del calcolo delle probabilita' che<br />
risulteranno utili per il proseguimento del corso <strong>di</strong> laurea in questione.<br />
Attività formative<br />
Il corso viene svolto in 40 ore <strong>di</strong> lezione/esercitazione frontali, in un periodo <strong>di</strong>dattico.<br />
Programma del corso<br />
• 1. Spazi <strong>di</strong> Probabilita'. Introduzione al Calcolo delle Probabilita'. Definizione assiomatica <strong>di</strong> spazio<br />
<strong>di</strong> probabilita', secondo Kolmogorov. Spazi <strong>di</strong> probabilita' finiti e uniformi. Elementi <strong>di</strong> calcolo<br />
combinatorio. Probabilita' con<strong>di</strong>zionata. Formula della probabilita' totale e formula <strong>di</strong> Bayes.<br />
In<strong>di</strong>pendenza fra eventi. Schema <strong>di</strong> Bernoulli finito.<br />
•<br />
2. Variabili aleatorie <strong>di</strong>screte. Legge <strong>di</strong>screta. Esempi: In<strong>di</strong>catrice, Uniforme, Bernoulli, Binomiale,<br />
Poisson, Ipergeometrica. Approssimazione <strong>di</strong> una v.a. Binomiale con una v.a. <strong>di</strong> Poisson. Schema <strong>di</strong><br />
Bernoulli infinito e v.a. Geometrica. Vettori aleatori <strong>di</strong>screti: legge congiunta e marginali. Esempio:<br />
v.a. multinomiale. Definizione <strong>di</strong> in<strong>di</strong>pendenza <strong>di</strong> piu' v.a.. Legge <strong>di</strong>screta con<strong>di</strong>zionata. Me<strong>di</strong>a <strong>di</strong> una
v.a. e sue proprieta'. Varianza, deviazione standard e momenti <strong>di</strong> una v.a. Covarianza e coefficiente <strong>di</strong><br />
correlazione tra due v.a.. Proprieta' <strong>di</strong> varianza e covarianza. Matrice delle covarianze <strong>di</strong> un vettore<br />
aleatorio <strong>di</strong>screto.<br />
• 3. Variabili aleatorie continue. V.a. a valori non <strong>di</strong>screti: legge e funzione <strong>di</strong> ripartizione <strong>di</strong> una<br />
generica v.a.. V.a. assolutamente continue: funzione <strong>di</strong> densita'. Esempi: Uniforme, esponenziale,<br />
Gaussiana, Gamma, Beta. Me<strong>di</strong>a, varianza e momenti <strong>di</strong> v.a. assolutamente continue. Vettori aleatori<br />
non <strong>di</strong>screti e assolutamente continui: funzione <strong>di</strong> ripartizione e funzione <strong>di</strong> densita' congiunte e<br />
marginali. Covarianza e coefficiente <strong>di</strong> correlazione tra v.a. assolutamente continue e matrice delle<br />
covarianze. In<strong>di</strong>pendenza <strong>di</strong> v.a. assolutamente continue. Funzione <strong>di</strong> densita' con<strong>di</strong>zionata. Attesa<br />
con<strong>di</strong>zionata. La v.a. gaussiana multivariata. Trasformazioni <strong>di</strong> v.a. assolutamente continue: il metodo<br />
della funzione <strong>di</strong> ripartizione. Somma <strong>di</strong> due v.a..<br />
• 4. Convergenza e approssimazione. Vari tipi <strong>di</strong> convergenza <strong>di</strong> successioni <strong>di</strong> v.a.: convergenza quasi<br />
certa, in probabilita', in legge. Il Teorema Limite Centrale e applicazioni. La <strong>di</strong>suguaglianza <strong>di</strong><br />
Chebichev. La Legge dei Gran<strong>di</strong> Numeri e applicazioni.<br />
La verifica del profitto avviene attraverso una prova scritta alla fine del periodo <strong>di</strong>dattico, costituita da due<br />
parti: una pratica (svolgimento <strong>di</strong> esercizi proposti) ed una teorica (definizioni, enunciati e <strong>di</strong>mostrazioni visti<br />
durante il corso, nonche' esercizi <strong>di</strong> imme<strong>di</strong>ata soluzione). La votazione e' quella definitiva, fatto salvo il<br />
<strong>di</strong>ritto <strong>di</strong> ciascuno studente <strong>di</strong> richiedere l'effettuazione <strong>di</strong> una prova orale, da concordare con il docente.Il<br />
superamento della prova porta all'acquisizione <strong>di</strong> 4 cre<strong>di</strong>ti.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
P. Bal<strong>di</strong> Calcolo delle Probabilità e Statistica Mc Graw−Hill 1998 8838607370<br />
Programmazione<br />
Docente Ugo Solitro − supplente<br />
Cre<strong>di</strong>ti 8<br />
Periodo 1º 2º quadrimestre<br />
Obiettivi formativi<br />
Con il corso <strong>di</strong> Programmazione è ci si propone <strong>di</strong> introdurre i principi fondamentali della <strong>programmazione</strong><br />
con l'obiettivo <strong>di</strong> consentire allo studente <strong>di</strong> acquisire gli strumenti concettuali utili per l'appren<strong>di</strong>mento e l'uso<br />
pratico <strong>di</strong> un qualunque linguaggio <strong>di</strong> <strong>programmazione</strong>.L'insegnamento <strong>di</strong> uno specifico linguaggio <strong>di</strong><br />
<strong>programmazione</strong> è oggetto invece del corso <strong>di</strong> <strong>Laboratorio</strong> <strong>di</strong> Programmazione.<br />
Attività formative<br />
Il corso prevede una parte comune che consiste <strong>di</strong> 80 ore <strong>di</strong> lezione in aula.<br />
Programma del corso<br />
•<br />
Parte I. Programmazione Imperativa.<br />
• Introduzione agli algoritmi.<br />
Problemi e Specifiche:nozione generale <strong>di</strong> problema,specifiche formali dei problemi.<br />
Linguaggi <strong>di</strong> <strong>programmazione</strong>:nozione <strong>di</strong> agente <strong>di</strong> calcolo,struttura <strong>di</strong> una macchina astratta e
elativo linguaggio−macchina.<br />
Un linguaggio imperativo minimale:tipo <strong>di</strong> dato intero, variabili, espressioni, assegnamento,<br />
con<strong>di</strong>zionale, iterazione.<br />
Correttezza e Terminazione:correttezza rispetto alle specifiche,questione della<br />
terminazione,definizioni <strong>di</strong> correttezza parziale e totale,tecniche elementari per le verifiche <strong>di</strong><br />
correttezza.<br />
• Strutture Dati.<br />
Introduzione ai tipi <strong>di</strong> dati:nozione <strong>di</strong> tipo e sue caratteristiche fondamentali: nome, insieme degli<br />
elementi e operazioni consentite;tipi semplici: integer, real, boolean, char.Tipi <strong>di</strong> dati astratti<br />
(ADT):introduzione.array e record, files; stringhe.Strutture dati ricorsive<br />
• Programmi e sottoprogrammi.<br />
•<br />
•<br />
Funzioni (e procedure); passaggio dei parametri.<br />
Programmazione ricorsiva<br />
Parte II. Complementi <strong>di</strong> Programmazione<br />
• Introduzione alla semantica.<br />
• Introduzione alla Programmazione Object Oriented.<br />
• Introduzione alla Programmazione Funzionale<br />
Esame scritto e colloquio orale.<br />
Programmazione avanzata e <strong>di</strong> rete<br />
Docente Giuseppe Scollo − supplente<br />
Cre<strong>di</strong>ti 5<br />
Periodo 3º quadrimestre<br />
Obiettivi formativi<br />
Il corso mira a dotare gli allievi <strong>di</strong> solide basi tecniche e metodologiche per lo sviluppo del software nei<br />
moderni ambienti <strong>di</strong>stribuiti. Un ambiente <strong>di</strong>stribuito è un sistema <strong>di</strong> componenti autonomi, connessi da una<br />
rete <strong>di</strong> risorse <strong>di</strong> comunicazione e utilizzanti servizi <strong>di</strong> coor<strong>di</strong>namento delle attività e <strong>di</strong> con<strong>di</strong>visione delle<br />
risorse, tale da essere percepito dai suoi utenti quale sistema integrato <strong>di</strong> servizi. Internet è l'esempio più ovvio<br />
<strong>di</strong> ambiente <strong>di</strong>stribuito.<br />
L'approfon<strong>di</strong>mento del para<strong>di</strong>gma <strong>di</strong> <strong>programmazione</strong> ad oggetti con i concetti ed i costrutti per la<br />
concorrenza e la cooperazione in architetture software <strong>di</strong> oggetti <strong>di</strong>stribuiti costituisce il primo obiettivo del<br />
corso, sul quale si innestano i successivi. Questi sono prevalentemente orientati allo sviluppo <strong>di</strong> applicazioni<br />
in ambienti <strong>di</strong>stribuiti. Non si trascurano tuttavia gli aspetti più salienti della <strong>programmazione</strong> <strong>di</strong> sistema<br />
(comunicazione, sicurezza, controllo e gestione), al fine <strong>di</strong> sviluppare il bagaglio tecnico necessario alla<br />
comprensione <strong>di</strong> fenomeni chiave che si manifestano negli ambienti <strong>di</strong>stribuiti.<br />
Il programma del corso presuppone una <strong>di</strong>screta familiarità con la <strong>programmazione</strong> ad oggetti in Java e/o<br />
C++.
Attività formative<br />
Il corso prevede lo svolgimento <strong>di</strong> 40 ore <strong>di</strong> lezioni ed esercitazioni frontali in aula, e <strong>di</strong> attività <strong>di</strong> progetto in<br />
laboratorio, in parte <strong>di</strong>rette dal docente. Per queste ultime, sono previste ulteriori 15 ore <strong>di</strong> esercitazioni <strong>di</strong><br />
laboratorio in presenza del docente, e sono riservate ulteriori risorse <strong>di</strong> laboratorio.<br />
L'appren<strong>di</strong>mento della materia è sostenuto dallo stu<strong>di</strong>o dei materiali <strong>di</strong>dattici <strong>di</strong> riferimento e dal loro uso<br />
nella realizzazione <strong>di</strong> progetti in laboratorio, che vertono su temi speciali <strong>di</strong> interesse proposti dal docente.<br />
Programma del corso<br />
• Programmazione ad oggetti in ambienti <strong>di</strong>stribuiti: concetti <strong>di</strong> base, progettazione <strong>di</strong> sistemi<br />
<strong>di</strong>stribuiti, costrutti per la <strong>programmazione</strong> <strong>di</strong> oggetti <strong>di</strong>stribuiti: dall'invocazione <strong>di</strong> procedura remota<br />
ai costrutti RMI in Java.<br />
• Architetture software <strong>di</strong> oggetti <strong>di</strong>stribuiti: CORBA, COM, Java/RMI: analisi, confronti ed<br />
integrazioni; problemi associati ad eterogeneità e genericità.<br />
• Tecniche speciali <strong>di</strong> <strong>programmazione</strong> <strong>di</strong> oggetti <strong>di</strong>stribuiti: tecniche avanzate <strong>di</strong> comunicazione,<br />
localizzazione, ciclo <strong>di</strong> vita <strong>di</strong> oggetti <strong>di</strong>stribuiti; persistenza, controllo della concorrenza e<br />
transazioni; sicurezza.<br />
La verifica del profitto avviene me<strong>di</strong>ante un colloquio in<strong>di</strong>viduale sugli argomenti del programma e sul lavoro<br />
<strong>di</strong> laboratorio prodotto dallo studente. Il superamento della prova porta all'acquisizione <strong>di</strong> 5 cre<strong>di</strong>ti.<br />
Reti <strong>di</strong> calcolatori: applicazioni<br />
Docente Carlo Combi − titolare<br />
Cre<strong>di</strong>ti 5<br />
Periodo 2º 3º quadrimestre<br />
Obiettivi formativi<br />
L'obbiettivo del corso è introdurre lo studente alle problematiche relative all'utilizzo <strong>di</strong> reti <strong>di</strong> calcolatori. Lo<br />
scopo del corso è duplice: da una parte, infatti, ci si propone <strong>di</strong> fornire allo studente una visione globale degli<br />
aspetti tecnologici e metodologici inerenti le reti <strong>di</strong> calcolatori; dall'altra, si intende fornire specifiche<br />
competenze riguardanti le applicazioni <strong>di</strong> rete per Internet ed i linguaggi <strong>di</strong> markup (HTML e XML)<br />
attualmente in uso per la definizione <strong>di</strong> documenti accessibili in rete.<br />
Attività formative<br />
Il corso viene svolto in 55 ore <strong>di</strong> lezione/esercitazione frontale. Sono previste attivita' <strong>di</strong> laboratorio,<br />
focalizzate sulla definizione <strong>di</strong> documenti attraverso i linguaggi HTML e XML.<br />
Programma del corso<br />
• Introduzione alle reti: reti <strong>di</strong> trasmissione dati e standard dei sistemi aperti. Dopo aver illustrato<br />
globalmente le caratteristiche tecnologiche delle reti <strong>di</strong> calcolatori ed aver sottolineato l'importanza<br />
degli standard, verranno descritti il modello <strong>di</strong> riferimento ISO−OSI e lo standard TCP/IP per<br />
l'interconnessione <strong>di</strong> reti <strong>di</strong> calcolatori.<br />
• Reti locali: topologie e protocolli. Verranno descritti gli aspetti fisici, topologici e tecnologici dei<br />
principali tipi <strong>di</strong> reti locali (ethernet e token ring).<br />
•<br />
Reti geografiche: tipologie e protocolli. Verranno esaminate le caratteristiche ed i protocolli delle reti<br />
pubbliche per la trasmissione dati: reti a commutazione <strong>di</strong> pacchetto; reti a commutazione <strong>di</strong> circuito.
• Interconnessione <strong>di</strong> reti: concetti, architetture e protocolli. Verrà trattato in dettaglio l'insieme dei<br />
protocolli TCP/IP: in<strong>di</strong>rizzi IP e spazio <strong>di</strong> in<strong>di</strong>rizzamento; risoluzione degli in<strong>di</strong>rizzi, trasmissione e<br />
consegna dei messaggi; datagrammi IP; notifica degli errori (ICMP); servizio <strong>di</strong> trasporto affidabile<br />
(TCP).<br />
• Applicazioni <strong>di</strong> rete per Internet. Verranno approfon<strong>di</strong>ti gli aspetti applicativi relativi ad Internet: il<br />
modello client/server, l'interfaccia socket, DNS, FTP e Telnet, e−mail, HTTP, SNMP, CGI, applet e<br />
servlet.<br />
• Linguaggi per Internet. L'ultima parte del corso riguarda i linguaggi utilizzati per la definizione <strong>di</strong><br />
documenti accessibili in Internet, con particolare riferimento a HTML e XML.<br />
La verifica del profitto avviene me<strong>di</strong>ante una prova scritta, nella quale vengono proposte sia domande sulle<br />
parti più teoriche sia brevi esercizi sugli aspetti più applicativi. È facoltà dello studente richiedere<br />
l'effettuazione <strong>di</strong> una prova orale che integri il risultato della prova scritta.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
Fred Halsall Reti <strong>di</strong> Calcolatori e Sistemi Aperti Ad<strong>di</strong>son−Wesley 1998 887192049X<br />
Douglas Comer Internet e Reti <strong>di</strong> Calcolatori Ad<strong>di</strong>son−Wesley 2000 8871920864<br />
A. Tanenbaum Reti <strong>di</strong> <strong>Computer</strong> Prentice Hall International 1997 8877504536<br />
Ricerca operativa<br />
Docente Angelo Pica − supplente<br />
Cre<strong>di</strong>ti 4<br />
Periodo 1º quadrimestre<br />
Obiettivi formativi<br />
Il corso si propone <strong>di</strong> introdurre lo studente ad alcune problematiche <strong>di</strong> base inerenti al campo<br />
dell'ottimizzazione, con particolare riferimento alla Programmazione Lineare ed alcuni problemi <strong>di</strong><br />
Ottimizzazione su reti ed ai relativi algoritmi <strong>di</strong> risoluzione.Viene inoltre fornito qualche cenno <strong>di</strong><br />
modellistica, me<strong>di</strong>ante l'analisi <strong>di</strong> semplici problemi lineari che rientrano in questa casistica e la conseguente<br />
formulazione matematica.<br />
Attività formative<br />
Il corso viene svolto in 40 ore <strong>di</strong> lezione/esercitazione frontale ed ha luogo nel primo periodo dell'anno<br />
accademico.<br />
Programma del corso<br />
• Modelli ed algoritmi. Processi decisionali. Problemi <strong>di</strong> ottimizzazione e <strong>di</strong> esistenza: funzione<br />
obiettivo, vincoli e variabili decisionali. Esempi <strong>di</strong> classi <strong>di</strong> problemi. Classi <strong>di</strong> algoritmi: algoritmi<br />
greedy, <strong>di</strong> ricerca locale ed enumerativi.<br />
•<br />
Programmazione lineare e dualità. Il problema <strong>di</strong> <strong>programmazione</strong> lineare: definizione, regole <strong>di</strong><br />
trasformazione ed interpretazione geometrica dei dati. Il problema duale: coppia simmetrica e coppia<br />
asimmetrica, tabella delle corrispondenze, interpretazione geometrica. Programmazione lineare su<br />
coni: teorema fondamentale delle <strong>di</strong>suguaglianze lineari e procedura Simplesso−su−coni. Direzioni<br />
ammissibili e <strong>di</strong>rezioni <strong>di</strong> crescita. Teorema debole e teorema forte della dualità e loro conseguenze.<br />
Primale e duale ristretti. Algoritmo del Simplesso Primale−Duale: procedura ed interpretazione
grafica. Teorema degli scarti complementari e sue conseguenze. Matrici <strong>di</strong> base e basi complementari:<br />
definizione, ammissibilità e degenerazione. Con<strong>di</strong>zioni <strong>di</strong> ottimo. Algoritmi del Simplesso Primale e<br />
del Simplesso Duale e loro interpretazione grafica. Cenni sul simplesso a variabili limitate.<br />
Riottimizzazione: variazione del vettore c, del vettore b ed aggiunta <strong>di</strong> vincoli al primale.<br />
• Problema <strong>di</strong> flusso <strong>di</strong> costo minimo. Formulazione e regole <strong>di</strong> trasformazione. Problema duale (<strong>di</strong><br />
potenziale). Visita <strong>di</strong> un grafo. Con<strong>di</strong>zioni degli scarti complementari e relativa curva. Algoritmo<br />
Primale−Duale: soluzione iniziale, fase primale e fase duale. Soluzioni <strong>di</strong> base: matrice ed albero <strong>di</strong><br />
base, visite anticipata e posticipata <strong>di</strong> un albero per la determinazione <strong>di</strong> soluzioni complementari.<br />
Simplesso−per−flusso e Simplesso−per−potenziale.<br />
• Problema <strong>di</strong> flusso massimo. Problema <strong>di</strong> flusso e problema <strong>di</strong> taglio. Con<strong>di</strong>zioni <strong>di</strong> ottimalità.<br />
Algoritmo <strong>di</strong> Edmonds e Karp.<br />
• Problema dei cammini minimi. Formulazione. Con<strong>di</strong>zioni <strong>di</strong> ottimalità (<strong>di</strong> Bellman). Algoritmo SPT<br />
ed algoritmo <strong>di</strong> Dijkstra.<br />
La verifica del profitto avviene me<strong>di</strong>ante una prova scritta. La votazione riportata nella prova è quella<br />
definitiva, fatto salvo il <strong>di</strong>ritto <strong>di</strong> ciascuno studente <strong>di</strong> richiedere l'effettuazione <strong>di</strong> una prova orale, le cui<br />
modalità vanno definite caso per caso.<br />
Sistemi operativi<br />
Docente Massimo Poncino − titolare<br />
Cre<strong>di</strong>ti 6<br />
Periodo 2º 3º quadrimestre<br />
Obiettivi formativi<br />
Il corso è una introduzione ai principi ed al progetto <strong>di</strong> sistemi operativi, essenziali per coor<strong>di</strong>nare le attività e<br />
le risorse <strong>di</strong> un sistema <strong>di</strong> calcolo. Sono affrontati i principali temi dalle architetture software alla gestione dei<br />
processi e delle risorse (es. memoria) del sistema. Nel corso <strong>di</strong> <strong>Laboratorio</strong> viene stu<strong>di</strong>ato un sistema<br />
operativo reale della famiglia UNIX.<br />
Attività formative<br />
Il corso viene svolto in 60 ore <strong>di</strong> lezione/esercitazione frontale, sud<strong>di</strong>vise in due perio<strong>di</strong> <strong>di</strong>dattici (40 ore + 20<br />
ore).<br />
Programma del corso<br />
• Introduzione: Ruolo del sistema operativo e sua evoluzione. Elementi architetturali. Struttura e<br />
funzioni <strong>di</strong> un sistema operativo.<br />
• Gestione dei Processi: Processi. Stati dei processi. Cambiamento <strong>di</strong> contesto. Creazione e<br />
terminazione <strong>di</strong> processi. Thread. Thread a livello utente e a livello kernel. Cooperazione e<br />
comunicazione fra processi: memoria con<strong>di</strong>visa, messaggi. Comunicazione <strong>di</strong>retta ed in<strong>di</strong>retta.<br />
• Scheduling: Modello a ciclo <strong>di</strong> burst <strong>di</strong> CPU−I/O. Scheduling a lungo, me<strong>di</strong>o, breve termine.<br />
Scheduling con prelazione e cooperativo. Criteri <strong>di</strong> scheduling. Algoritmi <strong>di</strong> scheduling: FCFS, SJF, a<br />
priorità RR, a code multiple e con feedback. Valutazione degli algoritmi: con modelli deterministici,<br />
probabilistici o simulazione<br />
•<br />
Sincronizzazione fra Processi: Coerenza <strong>di</strong> dati con<strong>di</strong>visi, operazioni atomiche. Sezioni critiche.<br />
Approccio software alla mutua esclusione: algoritmi <strong>di</strong> Peterson e Dekker, algoritmo del panettiere.<br />
Supporto hardware per la mutua esclusione: test and set, swap. Costrutti per sincronizzazione:<br />
semafori, semafori binari, mutex, monitor. Deadlock, starvation. Alcuni problemi tipici <strong>di</strong><br />
sincronizzazione: produttore/consumatore, lettori/scrittore, problema dei <strong>di</strong>ning philosophers .
• Deadlock: Con<strong>di</strong>zioni per l'innesco <strong>di</strong> un deadlock. Rappresentazione dello stato <strong>di</strong> un sistema con<br />
grafi <strong>di</strong> allocazione. Tecniche <strong>di</strong> deadlock prevention. Deadlock avoidance. Algoritmo del banchiere.<br />
Deadlock detection e recovery.<br />
• Gestione della Memoria: Memoria primaria. In<strong>di</strong>rizzamento logico e fisico. Rilocazione, address<br />
bin<strong>di</strong>ng. Swapping. Allocazione contigua della memoria. Frammentazione interna ed esterna.<br />
Paginazione. Supporti hardware alla paginazione: registri specializzati e TLB. Tabella delle pagine.<br />
Paginazione a piu` livelli. Segmentazione. Tabella dei segmenti. Segmentazione con paginazione.<br />
• Memoria Virtuale: Paginazione su richiesta. Gestione <strong>di</strong> page−fault. Algoritmi <strong>di</strong> sostituzione delle<br />
pagine: FIFO, ottimale, LRU, approssimazioni LRU. Buffering <strong>di</strong> pagine. Allocazione <strong>di</strong> frames in<br />
memoria fisica, allocazione locale o globale. Thrashing. Località dei riferimenti. Working set model.<br />
Controllo della frequenza <strong>di</strong> page−fault. Blocco <strong>di</strong> pagine in memoria.<br />
• Memoria secondaria Struttura logica e fisica dei <strong>di</strong>schi. Tempo <strong>di</strong> latenza. Scheduling del <strong>di</strong>sco:<br />
algoritmi FCFS, SSTF, SCAN, C−SCAN, LOOK, C−LOOK. Gestione della memoria <strong>di</strong> paginazione.<br />
• Sistema <strong>di</strong> I/O: Sistemi <strong>di</strong> Input/Output Hardware per I/O. Tecniche <strong>di</strong> I/O: programmato, con<br />
interrupt, con DMA. Device driver ed interfaccia verso le applicazioni. Servizi <strong>di</strong> kernel per I/O:<br />
scheduling, buffering, caching, spooling.<br />
• File System: Concetto <strong>di</strong> file, attributi ed operazioni relative. Tipi <strong>di</strong> file. Accesso sequenziale e<br />
<strong>di</strong>retto. Concetto <strong>di</strong> <strong>di</strong>rectory. Struttura <strong>di</strong> <strong>di</strong>rectory. Protezioni nell'accesso a file. Attributi e modalità<br />
<strong>di</strong> accesso. Semantica della consistenza. Realizzazione Struttura <strong>di</strong> un file−system. Montaggio <strong>di</strong><br />
file−systems. Meto<strong>di</strong> <strong>di</strong> allocazione dello spazio su <strong>di</strong>sco: contigua, concatenata, in<strong>di</strong>cizzata. Gestione<br />
dello spazio libero su <strong>di</strong>sco: tramite vettore <strong>di</strong> bit, tramite liste. Realizzazione delle <strong>di</strong>rectory: liste<br />
lineari, tabelle hash.<br />
• Casi <strong>di</strong> stu<strong>di</strong>o: Il sistema UNIX e Windows NT:: struttura del kernel, strutture dati, implementazione<br />
delle funzionalità principali.<br />
La verifica del profitto avviene me<strong>di</strong>ante una prova scritta che consiste <strong>di</strong> domande teoriche ed esercizi sugli<br />
argomenti del programma del corso e del relativo laboratorio. La votazione riportata nella prova è quella<br />
definitiva. Il superamento della prova porta all'acquisizione <strong>di</strong> 10 cre<strong>di</strong>ti.<br />
Testi <strong>di</strong> riferimento<br />
Autore Titolo Casa e<strong>di</strong>trice Anno ISBN<br />
Silberschatz, Galvin Sistemi Operativi Ad<strong>di</strong>son Wesley 1998 0−471−4174<br />
W. Stallings<br />
Operating Systems − Internal and Design<br />
Principles<br />
Realizzazione a cura <strong>di</strong> Alberto Belussi, Carlo Combi, Roberto Posenato.<br />
Prentice Hall 1998 0138874077