Laurea in Informatica - Dipartimento di Statistica, Informatica, Applicazioni "G. Parenti" (DiSIA)

Calcolo Numerico  e' un corso annuale (9 cfu) del terzo anno nel quale innanzi tutto vengono spiegati concetti fondamentali e trasversali dell'analisi numerica (come l'aritmetica finita e il condizionamento di un problema).

Inoltre vengono introdotti i metodi di base per la risoluzione di fondamentali problemi matematici (calcolo dello zero di una funzione, risoluzione di sistemi lineari, approssimazione di funzioni mediante interpolazione, approssimazione di integrali definiti) e dei corrispondenti algoritmi viene studiata la complessita' computazionale. 

Nel corso si prevede l'utilizzo dell'applicativo Matlab che e' un ambiente interattivo per lo sviluppo di software, per eseguire sperimentazione numerica e visualizzare adeguatamente i risultati ottenuti.

Anno accademico: 2015-2016

Obiettivi formativi

Il corso mira a trasmettere agli studenti i principi alla base della programmazione, specifica e verifica dei sistemi concorrenti. Questo scopo viene perseguito mediante l'introduzione di un modello di riferimento, nel quale descrivere alcuni algoritmi di sincronizzazione fondamentali, ed analizzare la loro correttezza tramite metodi di verifica formale.


Programma di massima
Panoramica sulla Programmazione Concorrente. Il modello Interleaving. Correttezza: proprietà di Safety, Liveness, Fairness. Linguaggi: Java e Promela. Il problema della Sezione Critica. Metodi formali di verifica: invarianti, prove induttive e la logica LTL. Algoritmi avanzati per la S.C. Semafori e loro implementazione. Il problema dei filosofi a cena. Produttori-consumatori e lettori-scrittori. Il concetto di Monitor. Comunicazione tramite primitive di sincronizzazione su canali.

Anno accademico: 2015-2016

Il corso si propone di portare a conoscenza dello studente le problematiche inerenti la progettazione e la realizzazione delle varie parti che costituiscono un sistema operativo, evidenziando i legami hardware/software e le interazioni con i programmi utente. Dalla conoscenza della struttura interna del sistema operativo, e non solo della sua interfaccia, può derivare un utilizzo più consapevole e mirato dello stesso ed un uso efficace dei suoi strumenti.

Anno accademico: 2015-2016

Il corso mira a fornire allo studente i principi che consentano di valutare criticamente la struttura di una rete e gli algoritmi per la trasmissione delle informazioni a seconda delle applicazioni da realizzare. Lo studente verrà introdotto agli strumenti che consentono di valutare soluzioni alternative in funzione del contesto in cui la rete deve operare. 

Anno accademico: 2015-2016

Scopo del corso è (1) fornire le basi metodologiche e le relative conoscenze dei paradigmi di programmazione procedurale e di quello orientato agli oggetti (con definizione e utilizzazione del linguaggio Java) e (2) trasmettere allo studente quelle competenze e abilità necessarie per saper analizzare e schematizzare un problema, saper progettare un algoritmo risolutivo, saperne provare la correttezza e valutarne la complessità e, infine, saperlo implementare e testare mediante un programma.

Anno accademico: 2015-2016