TECNICHE DI PROGRAMMAZIONE PER I SISTEMI DISTRIBUITI

Anno accademico 2017/2018 - 1° anno
Docente: Giuseppe MANGIONI
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 146 di studio individuale, 49 di lezione frontale, 30 di esercitazione
Semestre:
ENGLISH VERSION

Obiettivi formativi

  • Capacita’ di sviluppare applicazioni software per ambienti di esecuzione distribuiti, utilizzando linguaggi per la programmazione ad oggetti.
  • Conoscere il linguaggio Java, con particolare riferimento agli strumenti per la programmazione distribuita.
  • Conoscere il linguaggio Python e le librerie per il networking e la programmazione distribuita.

Prerequisiti richiesti

Fondamenti di programmazione


Frequenza lezioni

Frequenza non obbligatoria


Contenuti del corso

  1. La programmazione orientata agli oggetti. Definizioni, proprietà, classificazione dei linguaggi di programmazione. Programmazione orientata agli oggetti.
  2. Il linguaggio di programmazione Java. JAVA. Caratteristiche generali, tipi di dato, operatori, espressioni, strutture di controllo. Classi, oggetti, interfacce, ereditarietà e polimorfismo, package. Concorrenza, gestione delle eccezioni, eventi. Input/Output. Grafica di base, applet.
  3. Il linguaggio di programmazione Python. PYTHON. Introduzione al linguaggio. Variabili, espressioni ed istruzioni. Funzioni. Istruzioni condizionali, iterazione e ricorsione. Stringhe, liste, tuple e dizionari. File ed eccezioni. Classi ed oggetti. Ereditarietà. Utilizzo di librerie.
  4. La programmazione per i sistemi distribuiti. JAVA: Concorrenza. Networking. RMI. PYTHON: Concorrenza. Networking. Internet protocols.

Testi di riferimento

Nessun testo di riferimento.


Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

Elaborato pratico e prova orale.