Logo

Internet of Things

Code: 105075
Credits: 6
2026/2027
Degree programme Type Course
Computer Engineering OP 4

Contact lecturer

Name :
Marc Codina Barbera
Email :
marc.codina@uab.cat

Teaching staff

Marc Codina Barbera
Jordi Carrabina Bordoll

Group languages

You can consult this information at the end of the document.

Prerequisites

The course is self-contained and therefore there are no specific pre-requisites.

The IoT system project to be developed uses the knowledge acquired in the Project Management course.

This year, we will add (i) EdgeAI as essential element of the IoT value chain; (ii) better understanding of the energy budget along the Chain; (iii) a more application-oriented approach and (iv) new development platforms.

Objectives

The ICT world is being structured on various concepts. One of them is the Internet of Things, which is based on expanding the computing domain to connected objects (devices) of small size and energy consumption that interact with the real world via sensors and actuators in different areas: personal / wearables, health, home automation, environment, security & safety, distribution of utilities (energy, water, gas), automotive, etc. These connect through various protocols to a fixed or mobile intermediate platform (edge) that manages, filters and processes part of the data locally. In turn, it is connected to the cloud where the data is stored, processed and displayed. The implementation of these systems requires integrating the various concepts, acquired in previous courses, in this new device-edge-cloud paradigm associated with different types of computing platforms (single-, multi-, many-core processors) with different requirements of functionality, power, latency, bandwidth and cost; different programming and communication models; and different cloud options for back-end and (front-end for the user interface), so a higher level of abstraction is required at the interface level (APIs and Middleware) and virtualization (computing and communications). All this with the everyday more important need to apply AI at different levels of the chain.

  • Establish the fundamentals of the internet of things (IOT): device, periphery (edge) and cloud (cloud); together with the user interfaces and artificial intelligence.
  • Learn to classify and select processors, sensors, actuators, and systems, and select communications protocols.
  • Evaluate the functional requirements and the performance in terms of cost, real time condition and energy efficiency.
  • Develop data structures for sensors, computing, communication, storage and visualization and evaluate its cost at each level.
  • Select embedded and mobile platforms for the edge and cloud solutions for back-end and front-end.
  • Manage the virtualization of computing and communications
  • Design a theoretical and practical example case of the entire IoT chain for a specific application

Learning outcomes

  1. Use English as the language of communication and professional relations .
  2. Identify the security needs that embedded systems have to fulfil.
  3. Design and develop computer systems that fulfil the specifications of the system and the application, and in particular in reference to embedded and real time systems.
  4. Compare and evaluate the possible platforms that can fulfil the requirements of applications.
  5. Select the most suitable platform for a specific application and design and develop the solution based on the corresponding microprocessor.
  6. Communicate efficiently, orally or in writing, knowledge, results and skills, both in the professional environment and before non-expert audiences.
  7. Manage information by critically incorporating the innovations of one's professional field, and analysing future trends.
  8. Recognise and identify the methods, systems and technologies of computer engineering.
  9. Generate proposals that are innovative and competitive.

Contents

Lectures contents are strongly linked to the development to the project and labs such that they provide the fundamentals required for the design decisions and implementation code.

1. Global View of the Internet of Things & Virtualization

  • IoT Systems: Functionality & Architecture. Device, edge, cloud, UI
  • IoT Value Chain
  • AI & IoT

2. How do you select chips (SoCs & sensors) and connect them in IoT devices?

  • HW Components: processors, sensors, actuators, batteries
  • Selection criteria: cost, real-time (latency, throughput), and energy efficiency
  • Procurement access and set of available relevant information (data-sheets, example circuits, etc.)
  • On-board protocols
  • Examples and Use Cases (Nordic Thingy)

3. Which are the available Wireless Device-to-Edge Communications?

  • Device to Edge Wireless Networks: WBAN, WPAN, WLAN, LPWAN
  • Data formats and protocols
  • The bluetooth (and BLE) case

4. Options for edge platforms?

  • With or without OS/RTOS?
  • EdgeAI: training & deployment
  • Examples and Use Cases (Arduino UNO Q)

5. What do you need to know about virtualization?

  • Containers.
  • Data bases.
  • Virtual machines.

Guided project: Design of an (original) IoT system

  • P1. Original ideas for the design of an IoT system and preliminary market study
  • P2. Functional and performance specifications of the project
  • P3. Block and communications architecture of the IoT system and implementation alternatives
  • P4. System implementation. Selection of components and platforms
  • P5. Estimation of planning, costs and business model
  • P6. Document, presentation and defense of the project

Labs: Prototyping the (original) IoT system - 6-session, self-paced team project builds a complete IoT solution step-by-step:

  • Device: Programming the microcontroller (MCU) and sensors to capture physical variables from the environment.
  • Edge Processing: Extracting data via BLE to a mobile device or microprocessor for local processing and packaging (JSON) before uploading it to the network.
  • Cloud: Implementing the back-end to store data and, if necessary, apply advanced computation or Artificial Intelligence (AI).
  • User Interface (UI): Developing the front-end so the end user can visualize and understand the processed information.
  • Final Presentation: Practical demonstration of the entire integrated system working in real-time, from the sensor to the screen.

Learning activities and methodology

Title Hours ECTS Learning outcomes
Lessons and Seminars 30 1.2 1, 2, 3, 4, 5, 6, 8
Study & Homework 90 3.6 1, 3, 4, 5, 6, 7, 8, 9
Laboratories & Design Project 28 1.12 1, 3, 6, 8

The learning methodology will combine: master classes, activities in tutored sessions, project based-learning and use cases, debates and other collaborative activities; and laboratory sessions.

There are three ways to choose a project:

  • By agreement among the group members. In the initial phases, a brainstorming session with the professors will be encouraged, from which students must choose the one they find most viable.
  • Choosing from challenge proposals offered by the professors.
  • Choosing from challenge proposals proposed by external entities. Currently, we have proposals from the Molins de Rei Town Council, channeled through the UAB Research Park (PRUAB). To participate in these proposals, in addition to the course activities, it will be necessary to complete 6-8 hours of entrepreneurship training at the PRUAB and present the work at the Molins Town Council in a public event on December 11, 2026. In return, students will receive 3 elective credits and can win a prize.

Attendance will be mandatory for the Design of the IoT project and Laboratory sessions, which will be organized on the same multidisciplinary groups of 2 or 3 people from the different degrees that take the subject.

The laboratory sessions will use a supervised format (not guided) to offer greater autonomy to students and a more personalized support.

Any lack of attendance must be communicated in advance to the teacher in charge, attaching the corresponding reasonable justified reasons.

This course will use UAB's virtual campus at https://cv.uab.cat.

The use of AI is allowed in this course and it is recommended to validate its result before submitting any report since it can make serious errors that may imply negative evaluations. Students will have to report which AI tools did they use and were.

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Individual activities (i.e. exercices) 20% 0 0 1, 2, 3, 4, 5, 6, 8
Report and defence of the design project 40% 2 0.08 1, 2, 3, 4, 5, 6, 7, 8, 9
Evaluation of activities developed in tutored sessions (laboratories) 40% 0 0 3, 6, 8

This course does not provide for the single assessment system (No exam).

The evaluation of the course will follow the rules of the continuous evaluation and the final grade for the course, is calculated in the following way:

  • A - 20% from the mark obtained by the student through the evaluation of activities (i.e. exercises). When an evaluation activity is scheduled, the evaluation indicators will be reported and its weight in this qualification.
  • B - 40% from the mark obtained through the evaluation of the IoT design project.
  • C - 40% from the mark obtained by the student of the laboratory work and reports. It is necessary to exceed 5 (out of 10) in this item to pass the subject.

All activities will require delivering report through the virtual campus.

  • Type A individual activities will be proposed along the course for groups of lectures.
  • Type B gruop activities, will require delivering partial reports of a global IoT project document every 2 weeks.
  • Type C gruop activities, will require delivering two partial reports (one by mid semester and a 2nd one at the end).

To obtain MH it will be necessary that the students have an overall qualification higher than 9 with the limitations of the UAB (1MH/20students). As a reference criterion, they will be assigned in descending order.

A final weighted average mark not lower than 50% is sufficient to pass the course, provided that a score over one third of the range is attained in every one of the Marks for items B and C. If not reached, the mark will be 4.0.

Plagiarism will not be tolerated. All students involved in a plagiarism activity will be failed automatically. A final mark no higher than 30% will be assigned.

Open source code or available libraries can be used but they must be referred in the corresponding reports.

An student not having achieved a sufficient final weighted average mark, may opt to apply for remedial activities (individual workor additional synthesis examination) the subject under the following conditions:

  • the student must have participated in the laboratory activities and design project, and
  • the student must have a final weighted average higher than 30%, and
  • the student must not have failed any activity due to plagiarism.

The student will receive a grade of "Not Evaluable" if:

  • the student has not been able to be evaluated in the laboratory activities due to not attendance or not deliver the corresponding reports without justified cause.
  • the student has not carried out a minimum of 50% of the activities proposed.
  • the student has not done the design project.

For each assessment activity, the student or the group will be given the corresponding comments. Students can make complaints about the grade of the activity, which will be evaluated by the teaching staff responsible for the subject.

Students have the right to request the rescheduling of evaluation activities exclusively in cases of serious illness, a justified exceptional situation, or when the affected activity accounts for more than 20% of the final grade (or is mandatory to pass the course). To exercise this right, a request must be submitted to the corresponding academic management office (gestió acadèmica).

Repeating students will be able to “save” their grade in laboratory activity.

Note: Given that this subject belongs to a non-linguistic degree, enrolled students have the right to request an additional academic recognition of 1.5 ECTS credits once they have passed the subject. These credits will be added to the transcript as an elective subject (with a grade of "Pass"), always respecting the UAB's maximum regulatory limit of 12 total credits for language proficiency (6 credits in the case of double degree students). For more information regarding deadlines and the associated fee, please contact Academic Management directly.

Bibliography

  • C. Pfister. Getting Started with the Internet of Things: Connecting Sensors and Microcontrollers to the Cloud (Make: Projects) . O'Really. 2011.
  • A. McEwen, H. Cassimally. Designing the Internet of Things.2014. Willey.
  • A. Bahga, V. Madisetti. Internet of Things: A Hands-on Approach. VTP. 2015.
  • S. Greengard, The Internet of Things. The MIT Press Essential Knowledge series.
  • V. Zimmer. Development Best Practices for the Internet of Things.
  • A. Bassi, M. Bauer, M. Fiedler, T. Kramp, R. van Kranenburg, S. Lange, S. Meissner. (Eds) Enabling Things to Talk - Designing IoT solutions with the IoT Architectural Reference Model. Springer.
  • J. Olenewa, Guide to Wireless Communications, 3rd Edition, Course Technology, 2014.
  • P. Raj and A. C. Raman, The Internet of Things: Enabling Technologies, Platforms and Use Cases, CRC Press 2017.
  • H. Geng (Ed.), Internet of the Things and Data Analytics Handbook, Wiley 2017.
  • Y. Noergaard, \"Embedded Systems Architecture\" 2nd Edition, 2012, Elsevier
  • K. Benzekki, Softwaredefined networking (SDN): a survey, 2017, https://doi.org/10.1002/sec.1737
  • https://blogs.cisco.com/innovation/barcelona-fog-computing-poc
  • https://aws.amazon.com/
  • A.K. Bourke et al. Evaluation of waist-mounted tri-axial accelerometer based fall-detection algorithms during scripted and continuous unscripted activities, Journal of Biomechanics, Volume 43, Issue 15, 2010, pp. 3051-3057
  • N. Jia. Detecting Human Falls with a 3-Axis Digital Accelerometer. Analog Devices. http://www.analog.com/en/analog-dialogue/articles/detecting-falls-3-axis-digital-accelerometer.html

Software

  • Students will use the SoC-BLE from Nordic Semiconductors as a device; the Android smartphone as Edge; and any server cloud option (selected by the students) with front-end i back-end.
  • Improvements are expected in this whole chain (that will keep the same structure).

Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 410 English first semester morning-mixed
(PLAB) Practical laboratories 411 English first semester morning-mixed
(PLAB) Practical laboratories 412 English first semester morning-mixed