Università degli studi dell'Insubria

PROGRAMMAZIONE

A.A. di erogazione 2018/2019
Insegnamento obbligatorio

Laurea triennale in MATEMATICA (A.A. 2018/2019)
Docenti
Anno di corso: 
1
Crediti: 
12
Ore di attivita' frontale: 
96

L'obiettivo del corso è quello di fornire allo studente competenze di base sulla rappresentazione delle principali strutture di dati e sui principali algoritmi per la loro gestione. Introduce inoltre sulle tecniche per la valutazione della complessità computazionale di un algoritmo e di un problema. Il corso introduce gli studenti al linguaggio Java.

Prerequisiti: 

nessuna

Modulo A
Introduzione alla programmazione in Java:
• Variabili, costanti e tipi di dato elementare.
• Assegnamento e statement composto.
• Input/output di base.
• Espressioni e operatori.
• Strutture di controllo: selezione e cicli.
• Metodi e classi.
• Array.
• Introduzione alla ricorsione.

Modulo B

Introduzione allo studio della complessità di un algoritmo.

Algoritmi ricorsivi, modalità di realizzazione e rientranza

Algoritmi di ordinamento:
• Definizione del problema e lower bound alla complessità del problema.
• Insertion sort - studio caso pessimo e caso ottimo.
• Merge sort - studio caso pessimo e caso ottimo.
• Heap sort - studio caso pessimo e caso ottimo.
• Quick sort - studio caso pessimo e caso medio.
• Random Quick sort.

Programmazione per oggetti (java):
• Ereditarietà
• Polimorfismo
• Incapsulamento e cenni sulle interfacce

Strutture dati elementari: Pile, Liste, alberi (cenni).

Esempi di calcolo con numeri costituiti da moltissime cifre (Pgreco, numeri primi, ecc)
• Uso della libreria “big integer” e “big decimal” in java
• Prototipazioni con Python

Lezioni frontali.

Modalita' di verifica dell'apprendimento: 

Esiste il solo esame finale, che accerta l’acquisizione delle conoscenze e delle abilità attese tramite lo svolgimento di una prova scritta e una prova orale.

Libri di Testo:
• Introduction To Algorithms. Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein. MIT Press.
• C. Thomas Wu: "Java. Fondamenti di Programmazione.". McGraw-Hill.

Appunti del docente: disponibili sul portale della didattica.

Orario di ricevimento
Su appuntamento fissato via e-mail.

Insegnamenti

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2017/2018

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2016/2017

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2015/2016

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2014/2015

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2013/2014

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2012/2013

Anno di corso: 1
Curriculum: PERCORSO COMUNE

A.A. 2011/2012

Anno di corso: 1
Curriculum: