Checking date: 21/02/2025


Course: 2024/2025

Foundations of internet of things
(19476)
Academic Program of Computer Engineering via Bachelor in Computer Engineering (Plan: 509 - 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 (Year 1 / Semester 1) * Software Development (Year 2 / Semester 2) * Operating Systems (Year 2 / Semester 2)
Objectives
The objective of this course is for students to learn about the organisation and structure of systems based on the Internet of Things. Likewise, students will learn the services that integrate this type of systems based on sensors and actuators and understand the influence that design decisions have on the behaviour of an Internet of Things system.
Learning Outcomes
RA1.2: Knowledge and understanding of engineering disciplines underlying their specialisation, at a level necessary to achieve the other programme outcomes, including some awareness at their Forefront. RA2.1: Ability to analyse complex engineering products, processes and systems in their field of study; to select and apply relevant methods from established analytical, computational and experimental methods; to correctly interpret the outcomes of such analyses. RA2.2: Ability to identify, formulate and solve engineering problems in their field of study; to select and apply relevant methods from established analytical, computational and experimental methods; to recognise the importance of non-technical societal, health and safety, environmental, economic and industrial constraints. RA4.2: Ability to consult and apply codes of practice and safety regulations in their field of study. RA4.3: Laboratory/workshop skills and ability to design and conduct experimental investigations, interpret data and draw conclusions in their field of study. RA5.3: Understanding of applicable materials, equipment and tools, engineering technologies and processes, and of their limitations in their field of study. RA6.1: Ability to gather and interpret relevant data and handle complexity within their field of study, to inform judgements that include reflection on relevant social and ethical issues. RA6.2: Ability to manage complex technical or professional activities or projects in their field of study, taking responsibility for decision making. RA7.1: Ability to communicate effectively information, ideas, problems and solutions with engineering community and society at large. RA7.2: Ability to function effectively in a national and international context, as an individual and as a member of a team and to cooperate effectively with engineers and non-engineers. RA8.2: Ability to follow developments in science and tech. CB3: Students have the ability to gather and interpret relevant data (usually within their field of study) in order to make judgements which include reflection on relevant social, scientific or ethical issues. CG9: Efficiently use ICT resources to write technical reports and project and work reports on computing, as well as quality presentations. CGB3: Ability to understand and master the basic concepts of discrete mathe- matics, logic, algorithmic and computational complexity, and their application to the resolution of engineering problems. CGB5: Knowledge of the structure, organisation, operation and interconnection of computer systems, the fundamentals of their programming, and their application to the resolution of engineering problems. CGO3: Ability to design, develop, evaluate and ensure the accessibility, ergonomics, usability and security of computer systems, services and applications, as well as the information they manage. CECRI5: Knowledge, administration and maintenance of computer systems, services and applications. CECRI6: Knowledge and application of the basic algorithmic procedures of com- puter technologies to design solutions to problems, analysing the suitability and complexity of the proposed algorithms. CECRI10: Knowledge of the characteristics, functionalities and structure of Operating Systems and design and implement applications based on their services. CECRI14: Knowledge and application of the fundamental principles and basic techniques of parallel, concurrent, distributed and real-time programming. CTE7: Ability to design and implement system and communications software. CTE8: Ability to analyse, evaluate and select the most appropriate hardware and software platforms for the support of embedded and real-time applications.
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. Packaging and deployment of componentes for IoT platforms 6. IoT Edge to Cloud Protocols 7. Microservices for IoT Devices Cloud Management
Learning activities and methodology
* Lectures: 1 ECTS. They aim to achieve the specific cognitive competences of the subject, as well as the transversal competences of analysis and abstraction. * Practical classes: 1 ECTS. They aim to initiate the development of the specific instrumental competences, as well as the transversal competences problem solving and application of knowledge. * Practical workbooks: 3 ECTS. Initiated during the practical classes and completed outside of them, they aim to complete the development of the specific instrumental competences and to initiate the development of the specific attitudinal competences, as well as the transversal competences problem solving and application of knowledge. Final exam: 1 ECTS. It aims at influencing and complementing the development of the specific cognitive and procedural skills. It reflects especially the use of master classes. Tutorials: TUTORIALS. Individualized assistance (individual tutorials) or in group (collective tutorials) to the students by the professor. Relation between results and evaluable activity.
Assessment System
  • % end-of-term-examination 60
  • % of continuous assessment (assigments, laboratory, practicals...) 40

Calendar of Continuous assessment


Extraordinary call: regulations
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.