TECNICHE DI PROGRAMMAZIONE FUNZIONALE E IMPERATIVA
Obiettivi formativi
Obiettivi generali: Apprendimento del paradigma di programmazione funzionale e di aspetti avanzati di programmazione imperativa. Studio comparato di diversi paradigmi di programmazione (imperativo, funzionale e a oggetti) per sviluppare un senso critico nell'apprendimento e valutazione dei linguaggi di programmazione. Obiettivi specifici: Conoscenza e Comprensione: Aspetti avanzati di programmazione C (in particolare uso di puntatori espliciti e (de)allocazione dinamica di memoria, valutazione della complessità concreta dei programmi). Aspetti base ed avanzati di programmazione funzionale in Haskell (in particolare tipi polimorfi, funzionali di ordine superiore, laziness). Applicare Conoscenza e Comprensione: Applicare la metodologie specifiche di diversi paradigmi di programmazione alla soluzione dei problemi. Capacità Critiche e di Giudizio: Lo studio comparato dei paradigmi di programmazione permette di valutare ad esempio quale sia il linguaggio più adatto per risolvere un certo problema o sviluppare un progetto software. Le tecniche di ragionamento sui programmi possono guidare sia il testing che lo sviluppo dei programmi. Inoltre, lo studente dovrebbe acquisire strumenti necessari per valutare criticamente altri linguaggi di programmazione. Capacità Comunicative Lo studente è stimolato, soprattutto nella presentazione da fare a fine corso, a esporre concisamente ma in modo preciso le idee necessarie allo sviluppo di una brillante soluzione a un problema computazionale ed anche l'analisi di un programma. Capacità di Apprendimento: Lo studio comparato di diversi paradigmi di programmazione stimola la capacità di apprendimento di altri linguaggi di programmazione, dando allo studente gli strumenti per distinguere gli aspetti caratterizzanti di un linguaggio di programmazione (logica del core language, come ad esempio passaggio di parametri, sistema dei tipi, semantica dei comandi) da quelli più strettamente tecnici (come imparare a usare librerie e strumenti di sviluppo, come IDE e debugger).
Programmi - Frequenza - Esami
Programma
Prerequisiti
Testi di riferimento
Frequenza
Modalità di esame
Bibliografia
Modalità di erogazione
- Codice insegnamento10589652
- Anno accademico2025/2026
- CorsoInformatica
- CurriculumMetodologico
- Anno3º anno
- Semestre2º semestre
- SSDINF/01
- CFU6