Checking date: 29/06/2021

Course: 2021/2022

Operating systems design
Study: Dual Bachelor in Computer Science and Engineering, and Business Administration (233)

Coordinating teacher: GARCIA GUZMAN, JAVIER

Department assigned to the subject: Department of Computer Science and Engineering

Type: Compulsory
ECTS Credits: 6.0 ECTS


Requirements (Subjects that are assumed to be known)
* Programming * Software Development * Operating Systems
The goal of this course is to introduce students into the organization, structure and internal vision of the operating systems necessary for Internet of Things systems. Students will learn the services that integrate sensor and actuator based systems and understand the influence that design decisions have on the behavior of an Internet of Things System. In order to archive this goal, the student have to acquire several generic skills, knowledge, capacities and attitudes. General/transversal competences: - Analysis and synthesis capacities - Abilities to organize and to plan - Problem resolution abilities - Capacity to apply theoretical concepts Specific competences: - Cognitive (knowledge) 1. Know the different types of devices and operating systems of an Internet of Things System. 2. Know different types of use and applications of IoT technology in today's society. 3. Know the structure of an Embedded Operating System that allows the operation of sensors and actuators to be controlled. 4. Know the criteria for selecting the Embedded Operating Systems necessary to control sensors and actuators. 5. Know the programming interfaces (APIs) that embedded systems provide to customize the operation of sensors and actuators. 6. Know the fundamentals for programming IoT devices through the APIs provided by the Embedded Operating Systems. 7. Know operating systems and base platforms to manage clouds of IoT devices. 8. Know the fundamentals of operating systems to package and virtualize microservices to manage clouds of IoT devices. - Procedimental/Instrumental (Know how) 1. Configure the Hardware and Operating System that controls the operation of sensors and actuators 2. Program the basic operation of IoT devices using the APIs provided by the Operating System. 3. Program basic microservices for IoT device cloud management 4. Virtualize microservices to manage IoT device clouds - Attitudinal (To be) 1. Critical attitude towards the internal architecture of current IoT systems. 2. Concern for the quality of the components of an IoT system. 3. Motivation for archiving better solutions. 4. Self-learning capacities.
Skills and learning outcomes
Description of contents: programme
1. IoT Systems Architecture 2. Sensors and Actuators 3. Embedded Operating Systems for IoT devices 4. Fundamentals of programming IoT Devices 5. IoT Edge to Cloud Protocols 6. Microservices for IoT Devices Cloud Management 7. Packaging and deployment of microservices for IoT
Learning activities and methodology
- Lectures - Practical lessons - Guided Exercises, Challenges and Exams - Student's work Soft-skills: work in groups
Assessment System
  • % end-of-term-examination 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40
Calendar of Continuous assessment
Basic Bibliography
  • Anand Tamboli. Build Your Own IoT Platform: Develop a Fully Flexible and Scalable Internet of Things Platform in 24 Hours. Apress. 2019
  • Bob Familiar. Microservices, IoT, and Azure: Leveraging DevOps and Microservice Architecture to Deliver SaaS Solutions. Apress. 2015
  • Gabriel N. Schenker, Hideto Saito, Hui-Chuan Chloe Lee, Ke-Jou Carol Hsu. Getting Started with Containerization. Packt Publishing. 2019
  • Perry Lea. Internet of Things for Architects. Packt Publishing. 2018
  • Peter Waher. Mastering Internet of Things. Packt Publishing. 2018
  • Qusay F. Hassan. Internet of Things A to Z. Wiley-IEEE Press. 2018
  • Richard Blum, Christine Bresnahan. Sams Teach Yourself Python Programming for Raspberry Pi in 24 Hours, Second Edition. Sams. 2015

The course syllabus may change due academic events or other reasons.