Titolo insegnamento in inglese: Programming Languages II

Lingua: italiano

Insegnamento: Linguaggi di Programmazione II

Anno di corso: III

CFU: 6

Semestre: 2

Docenti:

  • Canale unico:  Marco Faella

Insegnamenti propedeutici previsti

Linguaggi di Programmazione I, Object Orientation, Algebra

Obiettivi Formativi

Il corso intende esporre gli studenti ad un'ampia gamma di funzionalità dei moderni linguaggi di programmazione, approfondendo ed espandendo le tematiche affrontate dal corso di Linguaggi di Programmazione I, con particolare riferimento ai linguaggi orientati agli oggetti. Alla fine del corso, gli studenti saranno in grado di utilizzare i costrutti linguistici più appropriati per raggiungere gli obiettivi di chiarezza, manutenibilità, robustezza ed efficienza dei manufatti software.

Contenuti

  1. Richiami di linguaggi Java e C++. 
  2. Classi interne, locali e anonime.
  3. Tipi enumerati.
  4. Algoritmi di risoluzione del binding dinamico.
  5. Operazioni di base su oggetti: confronto ordinale e di uguaglianza, copia.
  6. Polimorfismo parametrico e sue implementazioni: i generics e i template.
  7. Programmare con collezioni ed iteratori.
  8. Programmazione multi-thread: comunicazione e sincronizzazione tra thread.
  9. Riflessione.
 

Modalità didattiche

Lezioni frontali. Esercitazioni.

Modalità di esame

L'esame si articola in prova scritta e orale.

La prova scritta è a risposta multipla e libera.