Docente/i:
Giordano Lanzola
Denominazione del corso: Telemedicina
Codice del corso: 064176
Corso di laurea: Ingegneria Biomedica
Settore scientifico disciplinare: ING-INF/06
L'insegnamento è caratterizzante per: Ingegneria Biomedica
Crediti formativi: CFU 5
Sito web del corso: http://telemed.unipv.it
Obiettivi formativi specifici
Il corso fornisce un quadro generale su metodologie, tecnologie ed architetture per la realizzazione di sistemi distribuiti per l'elaborazione delle informazioni, con particolare riguardo all'ambito della Telemedicina. E' diviso in due moduli. Il primo tratta le competenze per l'analisi, la progettazione e lo sviluppo di applicazioni software e le lezioni si alternano a svolgimento di esercizi e discussione di elementi di codice. Nel secondo modulo viene introdotto un ambiente per lo sviluppo di applicazioni distribuite e si forniscono piccole applicazioni come base per illustrare l'integrazione di moduli distinti. Infine si richiede agli Studenti di sviluppare di un prototipo di applicazione da realizzare in un piccolo gruppo di lavoro. Sono previsti infine alcuni seminari monografici su argomenti di particolare rilevanza metodologica e tecnologica che verranno concordati di anno in anno in relazione con le attività di ricerca ed i prototipi realizzati in laboratorio.
Programma del corso
Il corso, collocato nel biennio della Laurea Specialistica in Ingegneria Biomedica riunisce sapientemente aspetti metodologici e tecnologici. Esso prevede, sin dal suo inizio, una stretta alternanza fra lezioni in cui vengono esposti concetti metodologici relativi ai sistemi distribuiti ad agenti ed esercitazioni in cui lo Studente è chiamato ad applicarli elaborando gli esempi proposti e sviluppando un proprio progetto.
Parte A: Il Linguaggio Java e l'Obiect Orientation
Vengono effettuati alcuni brevi richiami sui concetti basilari relativi alla programmazione. Successivamente viene introdotto il Linguaggio Java e si procede con la sua collocazione nell'ambito di un paradigma di sviluppo Object Oriented.
Parte A: Progettazione di Sistemi Software Distribuiti
Durante il corso verranno presentate metodologie e strumenti che costituiscono ormai degli standard consolidati per la progettazione dei sistemi informatici. Si introdurranno i principali diagrammi previsti dal linguaggio UML che verrà successivamente richiesto di applicare nella fase di modellizzazione del proprio progetto. La rassegna metodologica si completerà con un accenno ai pattern di sviluppo software che saranno illustrati attraverso alcuni esempi in aula. Infine, si discuterà come un sistema di telemedicina possa essere realizzato ricorrendo a tale paradigma e se ne vedranno alcune possibili implementazioni.
Parte B: Sistemi di Telemedicina
Verrà presentata una panoramica sullo stato dell'arte relativo ai Sistemi di Telemedicina ed Health Care sia dal punto di vista delle applicazioni attualmente in esercizio che delle metodologie e dei progetti e/o gruppi di ricerca maggiormente attivi in questo settore. L'argomento sarà integrato da alcuni seminari monografici che illustreranno in maniera più approfondita alcuni sistemi realizzati presso il Laboratorio di Informatica Medica.
Parte B: Esercitazioni e Ambiente di Sviluppo
Si fornirà una illustrazione dell'ambiente software appositamente realizzato per il corso e che verrà utilizzato dagli Studenti per sviluppare i loro prototipi di Sistemi Distribuiti Multi Agente. E' previsto l'uso di alcune applicazioni di esempio con il duplice scopo di analizzarne il codice e illustrare le funzionalità della libreria applicativa che consente di interagire con il broker per lo scambio dei messaggi di interazione. Sono altresì previsti alcuni richiami alla programmazione ad oggetti con particolare riferimento al Linguaggio Java volti ad approfondire aspetti funzionali alla successiva realizzazione del progetto.
Prerequisiti
Il corso richiede una conoscenza elementare (ma solida) relativa ai concetti fondamentali connessi con la programmazione dei computer (i.e. variabili, istruzioni, funzioni/metodi e strutture di controllo) abbinate alla capacita' di sapere codificare semplici algoritmi. Ulteriori requisiti riguardano la conoscenza delle metodologie e tecnologie per l'analisi e la progettazione di database relazionali e la capacita' di sapere scrivere correntemente semplici interrogazioni in linguaggio SQL. Tutti questi prerequisiti vengono acquisiti attraverso moduli precedenti. Completano il profilo dello Studente una conoscenza basilare relativa all’uso del PC e della navigazione su Web, oltre a quel mix di capacita' progettuale, abilita' logica, acume e senso critico che dovrebbero peraltro rappresentare un requisito essenziale per potersi collocare proficuamente in una Scuola di Ingegneria.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 18
Esercitazioni (ore/anno in aula): 18
Attività pratiche (ore/anno in aula): 36
Materiale didattico consigliato
Durante il corso viene fornito materiale didattico costituito da dispense e codice. E' tuttavia opportuno acquisire alcuni dei seguenti testi sia come riferimento che per ulteriori approfondimenti.
Cay Horstmann & Gary Cornell. Core Java, Volume I - Fundamentals (8th edition). Prentice-Hall. ISBN: 978-0132354769.
Cay Horstmann. Object-Oriented Design & Patterns. John Wiley & Sons , Inc. ISBN: 978-0-471-74487-0 (450 Pagine, 2006).
Martin Fowler. UML Distilled Third Edition. Addison Wesley. ISBN: 0-321-19368-7 (192 Pagine, Settembre 2003).
Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall. 736 pages - ISBN: 978-0131489066 .
James Gosling, Bill Joy, Guy Steele, Gilad Bracha. The Java Language Specification (Third Edition). Addison Wesley. ISBN 0321246780 (688 Pagine, Giugno 2005).
Modalità di verifica dell'apprendimento
Parte A: "Fondamenti"
Prova di soglia relativa ai concetti fondamentali del paradigma ad Oggetti in ambiente Java e successiva prova consistente nello sviluppo di elementi di codice basato su specifiche fornite in sede di esame. E' necessario il superamento di entrambe per partecipare al progetto previsto dalla parte B.
Parte B: "Applicazioni"
Gli Studenti formano gruppi per realizzare un progetto che sfrutti metodologie e tecnologie apprese nella parte A integrate con quanto previsto dalla parte B. Le specifiche sono fornite dall'intero gruppo tramite una relazione ed utilizzando diagrammi UML. Il lavoro viene quindi diviso tra i componenti e ciascuno sviluppa la propria parte. In sede di valutazione puo' essere richiesto di apportare modifiche al progetto.
Esito
Il voto viene assegnato al termine della prova a progetto e consiste in una valutazione complessiva dei risultati ottenuti dal candidato su tutte le prove previste dai due moduli.
|