INFORMAZIONI SU

Informatica

Programma dell'insegnamento - Corsi di laurea in Matematica

Docente

  • Prof. Fabio Alessi

Indirizzo e-mail
alessifabio_02@yahoo.com

Indirizzo Pagina Web Personale

http://www.dimi.uniud.it/alessi


Crediti

12 CFU

Finalità

Oltre a fornire una prima “alfabetizzazione informatica”, il corso ha come scopo principale quello di sviluppare nello studente la sensibilità per l’aspetto “computazionale” dell’attività scientifico-matematica, e di acquisire gli elementi sufficienti per padroneggiare un linguaggio di programmazione di alto livello.

Programma

- Preliminari matematici: elementi di combinatoria, algebra e statistica. Principio di induzione. Approccio ricorsivo alla soluzione di problemi.
- Elementi di teoria della complessità computazionale. Big O notation.
Introduzione al linguaggio C. I tipi fondamentali: (long) int, char, float, double. Rappresentazione dei numeri e aritmetica dei computer.
- Variabili e array. Programmazione strutturata. If, While, For statements a test. Paradigma iterativo e paradigma ricorsivo. Cicli annidati.
- Array multidimensionali. Funzioni. Chiamata per valore e per riferimento.
Strutture e puntatori.
- Algoritmi di ordinamento.
- Metodi di Montecarlo e loro applicazioni per risolvere problemi di analisi e di fisica.
- Tecniche di programmazione rivolte all'efficienza: memoization e programmazione dinamica.
- Strutture dati astratti: code, pile, liste e alberi, e qualche loro applicazione.
- Grafi e principali algoritmi di esplorazione: DFS, BFS, Minimum Spanning Tree. Applicazioni.

Bibliografia

Deitel & Deitel: C Corso Completo di Programmazione, Edizioni APOGEO.
Cormen, Leiserson, Rivest, Stein: Introduzione agli Algoritmi e strutture dati, Edizioni Mc Graw Hill.

Modalità d'esame

L'esame consiste in una prova scritta comprensiva di domande di teoria, esercizi e stesura di programmi.

Sono possibili (la scelta è facoltativa) approfondimenti da parte degli studenti concordati con il docente.