Course name: Telemedicine
Course code: 503189
Degree course: Bioingegneria
Disciplinary field of science: ING-INF/06
University credits: CFU 12
Course website: http://telemed.unipv.it
Specific course objectives
The course provides a broad overview concerning the methodologies, technologies and architectures useful for implementing distributed information processing systems with special emphasis on a Telemedicine context. It is partitioned into two modules. The first one touches on the basic skills required for the analysis, design and development of software applications. Teaching is complemented with exercises and code chunks discussed in classroom to better understand and grasp the practice of software development. The second module introduces instead a distributed development environment with some small applications demonstrating how different pieces of a system may fit together. Students are then asked to design and implement a small prototypical application addressing Telemedicine working in a small team. Lectures may also be scheduled based on actual research topics and prototyping at the Laboratory for Biomedical Informatics.
The course, administered during the Master Degree of Biomedical Engineering, blends methodological and technological issues. More specifically it involves since its very inception either classes where the methodological issues concerning distributed multi-agent systems are taught and exercise sessions where Students are asked to apply those issues coding examples and developing a project.
Section A: Java Language and Object Orientation
The course will address a quick review involving the fundamentals of computer programming. Then the Java Language will be introduced within an Object Oriented programming context.
Section A: Designing and Implementing Software Systems
The course will touch on some of the methodologies and tools which now represent standards for the design of software systems. The most important UML diagrams will be introduced so that they can be subsequently applied by the Student for documenting the project to be developed. The methodological review will also touch on software patterns, some of which will be introduced through class examples. Finally some examples concerning how UML diagrams and software patterns may be applied to the implementation of a telemedicine system will be provided.
Section B: Telemedicine Systems
A broad review concerning the state of the art of Telemedicine and Health Care distributed systems will be presented. The review will address either some applications presently in production as well as some research projects carried out by some of the most important research groups worldwide. Some lectures addressing specific and relevant issues concerning technologies and prototypes developed by the Laboratory of BioMedical Informatics at the Pavia University will also be provided.
Section B: Practicing and Development Environment
The development environment adopted within the course will be introduced. That environment will be used as a foundation for implementing the group projects based on the Multi Agent Distributed programming paradigm. Some applications will be introduced and discussed with the aim of practicing with their code and illustrating the software library which allows the exchange of messages interacting with the broker. Furthermore some basic remarks concerning the Object Oriented paradigm will also be considered in order to further investigate specific issues of the Java Language useful for implementing projects.
Course entry requirements
The course requires a basic (and firm) understanding on the fundamental of computer programming (i.e. variables, statements, functions/methods and control structures) along with the capability of coding simple algorithms. Additional requirements involve knowledge on the methodologies and technologies concerning analysis and design of relational databases and the ability of fluently writing simple SQL queries. All those skills can be acquired by preceding modules. The Student should also own the basic skills required for using a PC and navigating on the Web along with the design ability, logic perception, acumen, and open-mindedness which are mandatory for joining the School of Engineering.
Course structure and teaching
Lectures (hours/year in lecture theatre): 90
Practical class (hours/year in lecture theatre): 0
Practicals / Workshops (hours/year in lecture theatre): 0
Suggested reading materials
During the classes some material is distributed concerning application code and working notes. Nevertheless it is useful to have some of the textbooks included in the following list as references or for further elaboration on some subjects.
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 Pages, 2006).
Martin Fowler. UML Distilled Third Edition. Addison Wesley. ISBN: 0-321-19368-7 (192 Pages, Sep 2003)
Craig Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice Hall. ISBN: 978-0131489066 (736 Pages)
James Gosling, Bill Joy, Guy Steele, Gilad Bracha. The Java Language Specification (Third Edition). Addison Wesley. ISBN 0321246780 (688 Pages, June 2005).
Testing and exams
Section A: "Fundamentals"
Preliminary test addressing the Object Oriented paradigm applied in a Java context and subsequent test involving the development of a small piece of code based on some given requirements. Both tests should be passed in order to take part to the project of Section B.
Section B: "Applications"
Students team up in small groups for the implementation of a project exploiting methods and techniques learned in Section A within the development environment introduced in Section B. Specifications are provided jointly by the whole team through a written report including UML diagrams. Then each component individually undertakes the development of a specific module. The final test may require applying some modifications to the project.
The final grade is assigned after the project and is based on the outcomes of all the tests involved by both course sections.