SITE TITLE

LOGO DIETI

Linguaggi di programmazione II magistrale

Titolo insegnamento  in inglese:  Programming Languages II

 Lingua: Italiano

Insegnamento: Linguaggi di programmazione II

Anno di corso: I/II 

CFU: 6

SSD: INF/01

Ore di lezione: 48

Semestre: 1

Modulo: unico

Codice: 07662

Obiettivi formativi:
Il corso intende esporre gli studenti ad un'ampia gamma di problematiche di programmazione avanzata, con particolare riguardo alla programmazione orientata agli oggetti in linguaggio Java. Dal punto di vista della progettazione, verranno discussi principi generali ed esempi specifici di organizzazione di gerarchie di classi, avendo come riferimento i più comuni Design Pattern. Dal punto di vista dell'implementazione, verranno presentate tecnologie e caratteristiche avanzate proprie dei linguaggi di programmazione moderni, come la programmazione generica (o template), il multithreading e le librerie di collezioni.

Contenuti:
Richiami di linguaggio Java. Classi interne, locali e anonime. Il sistema dei tipi Java. Algoritmo di risoluzione del binding dinamico. Confronto e ordinamento tra oggetti. Clonazione. Classi e metodi parametrici (generics). Programmare con le collezioni. Programmazione multithread; comunicazione e sincronizzazione tra thread. Riflessione. Design Pattern e loro implementazione in Java.

Propedeuticità: Linguaggi di Programmazione I

Modalità didattiche: Lezioni frontali. Esercitazioni, anche con uso del sistema web CrowdGrader.

Materiale didattico: 

- P. Sestoft, Java Precisely (3a edizione). MIT Press 2016

- C.S. Horstmann, Core Java - Volume I (10a edizione). Pearson/Prentice Hall

- Trasparenze disponibili sul sito del docente

  • P. Sestoft, Java Precisely (3a edizione). MIT Press 2016
  • Inoltre, trasparenze del corso disponibili sul sito del docente

Modalità di esame:P

L'esame si articola in prova

Scritta e orale

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In caso di prova scritta i quesiti sono

 

 

 

A risposta libera

 

 

Esercizi numerici

 

Altro

 

Docente:  Faella Marco