- Docente: Alessandro Ricci
- Credits: 6
- SSD: ING-INF/05
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Cesena
- Corso: First cycle degree programme (L) in Computer Science and Engineering (cod. 8615)
Learning outcomes
The course introduces the basic principles and techniques for
designing and programming embedded software systems (based on
micro-controllers, without an operating system, and based on
micro-processors/SOC, equipped with an OS) and systems based
on Internet of Things/M2M.
Course contents
- Introduction to Embedded Systems and Internet of Things (IoT) /
Machine-to-Machine Systems (M2M)
-- characteristics, HW architectures and technologies, examples of
applications
-- introduction to embedded system electronics, sensors,
actuators
- Models and techniques for programming embedded systems
-- finite state machines - synchronous/time-oriented and event
triggered
-- task oriented models, event-driven models
-- techniques based on Embedded OS and Real-time OS
- IoT e M2M
-- models, architectures, communication protocols for networks of
devices
-- asynchronous message passing and actors
-- high-level frameworks/middlewares/infrastructures
In lab:
- Arduino UNO as reference platform for embedded systems based on
micro-controllers
-- introduction to C++, used to implement programs on Arduino
UNO
- RaspberryPi as reference platform for embedded systems
based on micro-processors (and an OS)
-- Linux Kernel as reference OS
-- Java as high-level programming language/platform
- Android as a mobile platform for IoT systems
Readings/Bibliography
- An Embedded Software Primer (David E. Simon) - Addison Wesley
- Computers as Components (Wolf) - Morgan Kaufman
- Making Embedded Systems (E. White) - O'Reilly
- Building Internet of Things with The Arduino (C. Doukas)
- Designing the Internet of Things (McEwen & Cassimally) -
Wiley
Teaching methods
Three credits (about 30 hours) are devoted to theory and exercises in the classroom and three credits (about 30 hours) to practice in lab.
Assessment methods
The assessment is based on the development of a project (in group) and an oral exam - with questions about the theory and discussion of the project.
Teaching tools
Slides projected during the lectures, available on the course web
site. Use of a course kit available in lab - including
Arduino and Raspberry Pi platforms.
Links to further information
https://elearning-cds.unibo.it/course/view.php?id=5286
Office hours
See the website of Alessandro Ricci