SITE TITLE

LOGO DIETI

Linguaggi di programmazione I

Titolo insegnamento in inglese: Programming Languages I 

Lingua:Italiano

Insegnamento: Linguaggi di programmazione I

Anno di corso: II

CFU: 6

SSD: INF/01

Ore di lezione: 48

Semestre: 2

Modulo: Nessuno

Codice: 07661

Obiettivi formativi:
Fornire gli elementi tecnici per classificare i numerosissimi linguaggi di programmazione esistenti (per esempio rispetto a paradigma di computazione, caratteristiche del sistema di tipi, modalità di gestione della memoria, ecc.). Cominciare a rendere gli studenti "utenti intelligenti" dei linguaggi di programmazione, cioè capaci di pensare così come la classe a cui il linguaggio scelto appartiene prescrive, capaci di scegliere il paradigma più adatto alla particolare applicazione che desiderano sviluppare, capaci effettivamente di usare in modo efficace il linguaggio scelto e capaci di apprendere rapidamente nuovi linguaggi appartenenti allo stesso paradigma. Ove possibile, le caratteristiche dei linguaggi di programmazione verranno introdotte seguendo una prospettiva storica. Inoltre il corso fornisce una introduzione a UML e un trattamento approfondito del core di Java.

Contenuti:
Introduzione ai linguaggi di programmazione. Cenni storici. Richiami degli elementi informatica teorica rilevanti per il corso. Cenni ai paradigmi di programmazione. Compilazione e interpretazione dei linguaggi. Supporto a run-time e gestione della memoria. Modalità di passaggio dei parametri. Strutturazione dei dati e controllo dei tipi. Tipi elementari e user defined. Encapsulation: tipi di dato astratti, moduli. UML: diagrammi delle classi e delle sequenze; object orientation, sottotipi ed ereditarietà. Java: Costrutti di controllo e sistema di tipi. Tipi parametrici (programmazione generica). Strutturazione della computazione: gestione delle eccezioni. Gestione della memoria in Java (inclusi costruttori, stringhe, garbage collection e gestione dell'ambiente non locale in presenza di classi interne). Cenni al parallelismo.

Prerequisiti: Elementi di Informatica Teorica / Propedeuticità: Programmazione II

Modalità didattiche: Lezioni frontali. Esercitazioni.

Materiale didattico:

Dershem & Jipping. Programming languages:  structures and models

Wampler. The essence on object oriented programming with Java and UML

Gabbrielli & Martini. Linguaggi di programmazione: Principi e paradigmi

Slides del docente

Modalità di esame: 

L'esame si articola in prova

Scritta e orale

 

         

 

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono

A risposta multipla

 

 

A risposta libera

 

   

 

Altro

 

Docente: Bonatti Piero