Ottimizzazione combinatoria - A.A. 2016-17
Il corso verte sulla discussione di problemi di ottimizzazione, in
particolare di problemi di ottimizzazione combinatoria, con brevi cenni
all'ottimizzazione continua. Si pone come obiettivo quello di
familiarizzare lo studente con problemi di ottimizzazione che occorrono
frequentemente in applicazioni pratiche, permettendogli di riconoscere
la difficoltà del problema e fornendogli gli strumenti per risolvere
tali problemi. Gli strumenti vanno dagli algoritmi esatti, in grado di
restituire sempre la soluzione ottima di un problema, alle euristiche,
alle quali ricorrere quando una risoluzione esatta del problema
richiederebbe tempi di esecuzione troppo elevati.
Programmazione per Dispositivi Mobili (aa 2016-2017)
Architettura degli Elaboratori II a.a. 2016-2017
Architettura degli Elaboratori II
Modelli Concorrenti e Algoritmi Distribuiti 16/17
Il corso si propone di fornire le metodologie e gli strumenti per la programmazione concorrente, ponendo l'enfasi sui vari modelli cui i linguaggi fanno riferimento e sugli strumenti tipici di ogni modello.
Un secondo obiettivo è l'introduzione allo studio di algoritmi per ambienti distribuiti. A tal fine viene discusso e analizzato un insieme di algoritmi distribuiti "classici" per ambienti a rete.
Sviluppo Software per Componenti e Servizi Web A.A. 2016-2017
Sviluppo Software per Componenti e
Servizi Web
A.A. 2016-2017
Programma in sintesi:
Metodologie e strumenti di Project Management per permettere di gestire lo sviluppo di progetti Software dall'analisi al testing. Le basi del Project Management unite all'applicazione della metodologie Agile, in particolare xP di Ingegneria del Software si applicheranno allo sviluppo del progetto svolto in laboratorio.
Controllo di version e GIT Code repository BitBucket
Le diverse architetture per la progettazione di applicazioni client/server distribuite sulla rete, dalle soluzioni two-tiers alle three-tiers, tipologie varie di middleware e di oggetti distribuiti: i business objects. La distribuzione dei processi applicativi nelle reti Internet ed Intranet.
L'architettura per oggetti distribuiti dello standard CORBA: l'IDL, il linguaggio per la definizione delle interfacce, e gli ORB, gli Object Request Broker.
L'architettura Java 2 Enterprise: gli Enterprise Java Beans. Nuove soluzioni per le applicazioni Internet ed il commercio elettronico: Java Server Pages per le interfacce utente e XML per l'interscambio di dati. I Web Services e gli standard UML.
Introduzione e utilizzo del framework Spring, in particolare per l'uso di Microservices.
Definizione e successiva realizzazione dell'applicazione distribuita in Java ed EJB, utilizzando l'application server di Sun J2EE e Netbeans o Eclipse, ambienti di sviluppo per J2EE. Si utilizzera' UML (Unified Modeling Language) nel progetto preliminare di un'applicazione distribuita. Si costruiranno Web Services sia SOAP che RESTful. Inoltre l'applicazione dovra' integrare servizi offerti dagli Open APIpiu' noti, come Facebook, Google e si sviluppera' una parte dell'interfaccia per Smartphone nuova generazione ( Android)
LEZIONI:
- lunedi 9-11 aula E
- martedi 11-13 Laboratorio Von Neumann
- mercoledi 9-11 Laboratorio Von Neumann
- giovedi 16-18 Laboratorio Von Neumann