

Internet of Things
This course covers IoT systems, the Raspberry Pi platform, and the ESP8266 environment for building devices that can sense and control the physical world. We will introduce the students to the concept of the Internet of Things, its role, components, current status and future directions of development. We will dive into the Raspberry Pi and ESP8266 environments, IoT most used protocols and learn to connect devices to Cloud services in order to achieve a complete solution.
About the course
Internet of Things solutions have become an important part of everyday life. In this course, you will be able to learn about IoT principles and how to use popular platforms to create such a practical IoT application.
This course is about building smart systems called IoT systems and it has two main goals: first, to teach students about architectures and building blocks of such systems, and second, to motivate students to envision their own applications of such systems. After successfully finishing this course, students will be able come up with a simple IoT application and build it.
An IoT system architecture typically consists of microcontrollers, sensors, actuators and protocols. There are many choices when it comes to microcontrollers, varying both in strength and capabilities and in prices. In this course, we will learn about and use two popular microcontrollers together with their working environments: ESP8266 and Raspberry Pi. The ESP8266 platform is very popular mostly because of its integrated WiFi capabilities and the ease of use, while Raspberry Pi is popular for being very cheap but powerful Linux-based development platform. We will use sensors such as temperature, humidity and CO2 sensors and export their readings via standard protocols (MQTT, TCP/IP) to Cloud service, where they will be stored in database and visualized.
As a prerequisite, students should have at least basic programming skills in any object-oriented language.
Lecturer
Goran Djambic, PhD, is the Head of the Software Engineering Department at the University College Algebra. He previously worked as a Software Architect at M San Group and Croatia Airlines. He earned his BSc and MSc at the Faculty of Electrical Engineering and Computing and his PhD at the Faculty of Humanities and Social Sciences at the University of Zagreb. He is the author of several research and professional papers in topics of programming, databases, information systems and higher education qualifications frameworks. His current areas of interest include designing and developing modern web information systems, application of machine learning models in higher education and development in Internet of Things area.
In his professional career, Goran has been mostly working with web applications, as he has been designing, building and supporting them since 1999. Today, his favourite web application architecture includes SQL Server, ASP.NET C# MVC, LLBLGEN Pro ORM and jQuery+Bootstap.
Together with programming skills, Goran has been brushing up on his teaching skills by holding numerous professional programming courses, high school courses and technical conference sessions in Croatia, Serbia, Slovenia and Malta.
Currently, Goran’s intensively studying machine learning applications in MATLAB, C# and Python and Internet of Things applications with Arduino/C++ and RaspberryPi/Python.