PROGRAMMING TECHNIQUES FOR DISTRIBUTED SYSTEMS
Anno accademico 2019/2020 - 1° annoCrediti: 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: 2°
ENGLISH VERSION
Obiettivi formativi
Conoscenze:
- 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.
Competenze:
- Capacita’ di sviluppare applicazioni software per ambienti di esecuzione distribuiti, utilizzando linguaggi per la programmazione ad oggetti.
Modalità di svolgimento dell'insegnamento
Lezioni frontali teoriche ed esercitazioni al calcolatore.
Prerequisiti richiesti
Fondamenti di Informatica
Frequenza lezioni
Opzionale, ma fortemente consigliata
Contenuti del corso
1. La programmazione orientata agli oggetti |
Definizioni, proprietà, classificazione dei linguaggi di programmazione. Programmazione orientata agli oggetti. |
0.5 CFU |
2. Il linguaggio di programmazione Java |
JAVA. Caratteristiche generali, tipi di dato, operatori, espressioni, strutture di controllo. |
3 CFU |
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. |
3 CFU |
4.La programmazione per i sistemi distribuiti |
JAVA: Concorrenza. Networking. RMI. Enterprise Java Beans. |
2.5 CFU |
Testi di riferimento
Qualunque testo che tratti gli argomenti
Verifica dell'apprendimento
Modalità di verifica dell'apprendimento
Realizzazione progetto di sistema distribuito in Java/Python.
Prova orale.
Esempi di domande e/o esercizi frequenti
Disponibili su Studium