Skip to main content

Architectural Design and Applications in IoT

Enrollment is Closed

About This Course

This course provides an introduction to the key aspects of an IoT system architecture with emphasis on cloud computing solutions (service models, deployment models, public cloud providers and services). Furthermore, it presents the non-functional requirements (or quality attributes) that should be taken into account when designing IoT applications, followed by the software architectural styles in IoT applications (client-server, peer-to-peer, publish-subscribe, etc.) and how they relate to the aforementioned quality attributes. The learners will be familiar (a) with the major IoT application domains as well as (b) with a detailed presentation of selected IoT applications. The last section of the course provides an overall recommended architecture for IoT solutions in terms of core and optional subsystems along with a discussion of cross-cutting concerns for IoT applications. For each subsystem, a subsection is dedicated to describing the subsystem responsibilities and technology alternatives for implementation. At the end of the course, you will be asked to complete quizzes to apply your newly acquired skills and knowledge.


Basic understanding of ICT principles and IoT fundamentals.

Prior knowledge of a scripting language (e.g. Python) is helpful but not mandatory.

Knowledge of IoT fundamentals.


Self-assessment quizzes

Course Creator

Dr. Pavlos Antoniou,

University of Cyprus

Department of Computer Science