01.11.2012 Views

Laboratorio di programmazione - Computer Science - Università ...

Laboratorio di programmazione - Computer Science - Università ...

Laboratorio di programmazione - Computer Science - Università ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!