Riepilogo dell'insegnamento: Programmazione
10 cfu così ripartiti nelle aree:
- 10 CFU nell'area C - Programmazione
Sillabo dell'insegnamento
- C - Programmazione
- *
R - Ricorsione
Definizioni ricorsive. Ricorsione generale e ricorsione di coda (tail recursion). Approccio iterativo come ricorsione di coda.
- *
P - Procedure
Astrazione procedurale. Procedure funzionali come astrazione di espressioni.
- *
SDTD - Strutture Dati e Tipi di Dati astratti
Introduzione all'astrazione sui dati attraverso semplici dati strutturati. Specifica astratta di una struttura dati e diversita' delle scelte realizzative.
- *
CB - Costrutti di Base
Costrutti di scelta e valori di verita'. Costrutto let. Principali comandi e costrutti del linguaggio Java.
-
PP - Paradigmi di Programmazione
Rivisitazione delle strutture di dati elementari attraverso il paradigma imperativo. Programmi iterativi.
- *
PSA - Problem Solving e Algoritmi
Costi computazionali di un algoritmo. Tecniche di memoization e programmazione dinamica.
- *
SCP - Sviluppo e Correttezza dei Programmi
Dimostrazioni di correttezza per induzione e concetto di invariante nella ricorsione di coda. Invarianti e correttezza dei programmi iterativi; problema della terminazione. Concetto di invariante di classe.
- *
POO - Programmazione Orientata agli Oggetti
Elementi di programmazione object-oriented in Java: classi e oggetti; campi, costruttori e metodi.
- *
SDTD - Strutture Dati e Tipi di Dati astratti
Strutture dati dal punto di vista dell'utilizzatore e dal punto di vista dell'implementatore. Concetto di stato e paradigma imperativo/sequenziale.
- *
P - Procedure
Procedure secondo il paradigma imperativo. Metodi nella programmazione orientata agli oggetti.
(*) Le sottoaree con asterisco sono quelle che il GRIN ritiene essenziali