I am currently Adjunct Professor at the Department of Engineering and Architecture of the University Of Parma (Link) teaching "Mobile Systems Development" (italian course name is "Programmazione di Sistemi Mobili"). The course is at the third year of the first cycle degree (Bachelor Degree) of "Compuer, Electronic and Communication Engineering" - and particular I teach the Android Development module. Furthermore, at the same University I am responsbile of two lectures for the "Internet of Things" course of the second cycle degree (Master Degree) of "Communication Engineering".
The course covers the basic principles for developing applications targeting mobile devices, such as smartphones and tablets, and presents the main challenges related to the design, implementation, and distribution of mobile applications. The class focuses on the main aspects of mobile application programming and emphasizes on Android and iOS platforms. After a short introduction focusing on common aspects of mobile application development, the course is divided into two modules dedicated to Android and iOS development, respectively. The class has a strong programming component and aims at enhancing the programming skills of the students. A final project, either targeting Android or iOS platform, is assigned to each student.
The aim of the course is to address the forefront of technologies and research activity in the IoT ecosystem, by presenting state-of-the-art research together with the current and future challenges in building new smart applications (e.g., Smart Cities, Smart Buildings, and Industrial IoT) in an efficient, scalable, and sustainable way. The course deals with the main pillars of the IoT world (Connectivity, Interoperability, Discoverability, and Security/Privacy) with a complete analysis of existing technologies, protocols, and architectures. Covered topics will involve also an overview and a discussion about the integration of IoT technologies with Cloud and Fog Computing paradigms and how this vision will play a fundamental role in the design and deployment of large scale IoT applications.
The objective of the course is to illustrate the fundamentals characteristics and the state of the art researchs related to the combination of Edge Computing and Microservice Architectures for Internet of Things application scenarios. The combination of these challenging technologies will represent a new pillar for the IoT, thus that the next generation of IoT applications will be scalable, dynamic and interoperable by design. The course involved 16 hours including lectures and a final evaluation. It has been included in the official PhD Courses for the academic year 2019-2020 at the Department of Engineering and Architecture of the University of Parma (Italy).
The target of the course has been to address the forefront of technologies and research activity in the IoT ecosystem, by presenting state-of-the-art research together with the current and future challenges in building new smart applications (e.g., Smart Cities, Smart Buildings, and Industrial IoT) in an efficient, scalable, and sustainable way.
I am the organizer and the lecturer of the module Android Application Development in the course of Calcolatori Elettronici at the Department of Information Engineering of Universita’ degli Studi di Parma. The module has been structured with ten lessons (20 hours) each of them with an introduction/theoretical part and development session. The module covers main topics of Android Platform and tries to address the challenges of mobile application design and development.
I have been responsible for tutorials and practical sessions on P2P networks and middleware for distributed architecture (sip2peer), mobility models and discrete event simulations. The purpose of the course is to define and characterize the information processing systems. In particular, the student will be given the ability to understand: Theoretical models (discrete-time, continuous-time and event-driven), Models of parallel and distributed programming, Systems for client / server and peer-to-peer, Autonomic systems, and Simulation techniques. The student learn to apply such a knowledge to: develop computing systems models, in particular for performance analysis, program parallel and distributed systems, design client/server and peer-to-peer distributed systems, design autonomic computing systems, develop discrete event simulations.