INFORMAZIONI SU

Informatica

Programma dell'insegnamento - Corsi di laurea in Matematica

Docente

  • Prof. Fabio Alessi

Indirizzo e-mail
fabio.alessi@uniud.it

Indirizzo Pagina Web Personale
Sito Web 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.
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. Algoritmi di ordinamento ed elementi di analisi della complessita'. Metodi di Montecarlo e loro applicazioni per risolvere problemi di analisi e di fisica. Tecniche di programmazione per una migliore efficienza: memoization e programmazione dinamica. Puntatori e strutture in C. Strutture dati astratti: code, pile, liste e alberi, e qualche loro applicazione. Elementi di Teoria della Calcolabilita': macchine di Turing, funzioni ricorsive, Tesi di Church e risultati di decidilita'/indecidibilita'

Bibliografia

Deitel & Deitel: C Corso Completo di Programmazione, Edizioni APOGEO

N. J. Cutland: Computability theory - Cambridge University Press

Modalità d'esame

Esame scritto, comprensivo di stesura di programmi e domande di teoria.