|SCIENTIFIC DISCIPLINARY SECTOR||ING-INF/01|
The course is structured in two main parts. The first concerns the advanced programming of microncontrollers, with topics ranging from analog-digital conversion to communication protocols, from the use of dedicated cards (eg MEMS) to embedded operating systems.
The second concerns machine learning, in particular deep learning, with the study of the main types of neural networks: multilayer perceptron, convolutional networs and recurrent neural network.
The course aims to provide the fundamental elements of edge computing, with particular attention to advanced programming of microcontrollers. The main topics covered concern analog-to-digital conversion, communication protocols, the use of dedicated cards (eg MEMS), embedded operating systems (FreeRTOS).
Particular attention is also dedicated to machine learning, with a roundup that starts from the training of linear models to focus on deep learning (with various versions of neural networks: multilayer perceptron, convolutional networs and recurrent neural network).
Each topic is covered through numerous examples and exercises. The final project intends to put the acquired knowledge into practice and verify the student's design and synthesis skills in the field.
The course aims to provide the fundamental elements of edge computing, with particular attention to the development of applications on microcontrollerS. The training objectives concern learning the foundations of architecture, peripheral management, timing, analog-digital conversion, communication protocols, the use of dedicated cards (eg MEMS), real-time operating systems. embedded. Each topic is covered through numerous examples and exercises on the Nucleo STM32 F4 board. Half of the course is dedicated to machine learning topics, with a roundup that starts from training linear models to focus on deep learning (with various versions of neural networks: multilayer perceptron, convolutional networs and recurrent neural network). The student will be asked to analyze and train various types of neural network models for different applications (classification / regression / prediction on datasets, images, time series). The course proposes a project, to be carried out individually or in pairs, aimed at putting into practice and verifying in an application case the concepts presented in a general / theoretical way and with relatively simple exercises. The learning outcomes concern the achievement of the above training objectives, including through the implementation of a project.
Object oriented programming
Lectures, with the use of slides, and exercises carried out both on the blackboard and on the PC, using the development / simulation tools indicated in the lesson, microcontroller boards, sensors, electronic components and instrumentation. Proposal, discussion and implementation of application projects.
C. Noviello, Mastering STM32
A. Geron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition, O'Reilly
All class schedules are posted on the EasyAcademy portal.
Application project to be agreed with the teachers
The evaluation will take place in the preparatory interviews and during the design / implementation and in the final discussion of a descriptive report of the project carried out.
The course includes 50 hours, carried out in half by the two teachers of the course