From Agentgroup
Jump to: navigation, search
(Esercizi presentati a lezione)
(Esercizi presentati a lezione)
Line 117: Line 117:
 
# [[Media:Es06-RPC.pdf|RPC exercises]] - [[Media:RPC.zip | solutions]]
 
# [[Media:Es06-RPC.pdf|RPC exercises]] - [[Media:RPC.zip | solutions]]
 
# [[Media:Es07-RMI.pdf|RMI exercises]]
 
# [[Media:Es07-RMI.pdf|RMI exercises]]
# [[Media:Es09-MRA.pdf|Android managers, resources and activities]]- [[Media:Es09-solutions.zip | solutions]]
+
# [[Media:Es09-MRA.pdf|Android managers, resources and activities]] - [[Media:Es09-solutions.zip | solutions]]
  
  

Revision as of 22:16, 26 October 2017

Questa pagina fornisce il materiale didattico e le informazioni relative all'insegnamento di Programmazione distribuita e mobile (9 CFU) per il Corso di Laurea Magistrale in Informatica a partire dall'AA 2017/2018.


News

Ultime news

Vecchie news

Informazioni sul docente

Docente.png

Prof. Giacomo Cabri

Dipartimento di Scienze Fisiche, Informatiche e Matematiche

Università di Modena e Reggio Emilia, Via Campi 213/B - 41125 Modena

Telefono 0592058320 - Fax 0592055216

giacomo.cabri@unimore.it

Orario delle Lezioni

Orario dell'AA 2017/18

Le lezioni dell'AA 2017/18 inizieranno il 25 settembre 2017 con il seguente orario:

  • Mercoledì dalle 9 alle 11 in aula M2.5 presso Matematica
  • Giovedì dalle 11 alle 13 in aula M2.3 presso Matematica
  • Venerdì dalle 14 alle 16 in aula M2.1 presso Matematica

Obiettivi formativi

Gli obiettivi dell'insegnamento sono:

  • introdurre le problematiche dello sviluppo dei sistemi distribuiti e dei sistemi mobili
  • presentare le tecnologie per lo sviluppo di applicazioni distribuite
  • presentare le piattaforme per i dispositivi mobili
  • presentare le tecnologie di sviluppo di applicazioni mobili


Contenuti dell'insegnamento

Programmazione distribuita

  • Dalle reti di comunicazione ai sistemi distribuiti, sistemi operativi di rete e distribuiti, modelli di interazione tra componenti distribuiti
  • Comunicazione e sincronizzazione distribuita, clock logici e fisici, mutua esclusione distribuita
  • Tecnologie ad oggetti per lo sviluppo di applicazioni distribuite, problematiche
  • Esempio: Java RMI
  • Sistemi a multiagente: definizioni, problematiche, modelli decisionali ed esempi d'applicazione
  • Autonomic Computing: definizioni, problematiche e applicazioni.

Programmazione mobile

  • Progettazione software su Android: dalle problematiche di progettazione alla gestione di memoria ed energia
  • Architetture per lo sviluppo su multipiattaforma
  • Virtual Machine per dispositivi mobili
  • Un esempio: Android


Verifica dell'apprendimento

La verifica di svolgerà attraverso lo sviluppo di un progetto e una prova orale. Il progetto consisterà nello sviluppo di una applicazione distribuita o mobile, in accordo con il docente, e nella produzione della relativa documentazione. Il progetto potrà essere svolto anche in gruppo nominando un project leader. La prova orale consisterà nella presentazione del progetto e in domande per la verifica della comprensione del programma svolto.


Appelli

Iscrizione.png

Le date degli appelli sono disponibili sul sito ESSE3 (http://www.esse3.unimore.it).

Testi Consigliati

Dispense a cura del docente.

Libri consigliati:

  • A. Tanenbaum, M. van Steen, Distributed Systems - Principles and Paradigms, Prentice Hall


Slide dell'insegnamento

Lucidi.png

In questa pagina sono riportati alcuni lucidi usati a lezione.

  1. Introduzione ai sistemi distribuiti / Introduction to distributed systems
  2. Comunicazione e sincronizzazione / Communication and synchronization
  3. Sistemi di naming / Naming systems
  4. File system distribuiti / Distributed file systems
  5. Oggetti distribuiti / Distributed objects
  6. Remote Procedure Call (RPC)
  7. Remote Method Invocation (RMI)
  8. Introduzione ai sistemi mobili / Introduction to mobile systems



Seminari

Esercizi presentati a lezione

EserciziLezione.png
  1. Socket exercises
  2. RPC exercises - solutions
  3. RMI exercises
  4. Android managers, resources and activities - solutions


Strumenti Software

Strumenti.png

Si indicano di seguito gli strumenti software che si utilizzano durante l'insegnamento e si indica dove e' possibile reperirli.

Programmazione socket in Java: è sufficiente un JDK di qualsiasi versione; si raccomanda un JDK >= 1.5

RMI: è necessario un JDK di versione >= 1.2; si raccomanda un JDK >= 1.5



Esercitazioni di laboratorio