Checking date: 10/07/2020


Course: 2020/2021

Operating systems design
(13889)
Bachelor in Computer Science and Engineering (2011 Study Plan) (Plan: 256 - Estudio: 218)


Coordinating teacher: GARCIA GUZMAN, JAVIER

Department assigned to the subject: Computer Science and Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




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 (PO a) - Abilities to organize and to plan (PO a) - Problem resolution abilities (PO c) - Capacity to apply theoretical concepts (PO a, c) Specific competences: - Cognitive (knowledge) (PO a) 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) (PO b, e, j, k, g) 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) (PO c, d, i) 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-learing capacities. General and Transversal Competences * To use in an efficient way electronic tools for writing technical report, project memos and reports about computer science, including high quality presentations (CG9) * Basic knowledge about the usage and the programming of computers, operating systems, data bases, and computer applications with engineering applications (CGB4) Computer Science's related competences * Knowledge of characteristics, functionality and structure of operating systems, and to design and implement software based on its services (CECRI10)
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. Platforms for IoT Device Cloud Management 8. Packaging and deployment of microservices for IoT
Learning activities and methodology
- Lectures (PO a) - Practical lessons (PO a, b, c, e, k) - Guided Exercises, Challenges and Exams (PO a, b, c, e) - Student's work Relationship between outcomes and evaluable activities: * PO a, b, e, j: Exams * PO c, k: labs, and guided labs * PO d, g: labs * PO i: guided labs * CG9: Guided Exercises and Challenges * CGB4: Guided Exercises and Challenges * CECRI10: Guided Exercises and Challenges Soft-skills: work in a group
Assessment System
  • % end-of-term-examination 30
  • % of continuous assessment (assigments, laboratory, practicals...) 70

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.