Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
INGEGNERIA MECCATRONICA
Insegnamento
PROGRAMMAZIONE DI SISTEMI EMBEDDED
IN01122661, A.A. 2015/16

Informazioni valide per gli studenti immatricolati nell'A.A. 2015/16

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INGEGNERIA MECCATRONICA
IN0529, ordinamento 2011/12, A.A. 2015/16
N0
porta questa
pagina con te
Crediti formativi 9.0
Tipo di valutazione Voto
Denominazione inglese EMBEDDED SYSTEMS PROGRAMMING
Dipartimento di riferimento Dipartimento di Tecnica e Gestione dei Sistemi Industriali (DTG)
Sito E-Learning https://elearning.unipd.it/dtg/course/view.php?idnumber=2015-IN0529-000ZZ-2015-IN01122661-N0
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede VICENZA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile MONICA REGGIANI ING-INF/05

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
AFFINE/INTEGRATIVA Attività formative affini o integrative ING-INF/05 8.0
ALTRO Altre conoscenze utili per l'inserimento nel mondo del lavoro -- 1.0

Organizzazione dell'insegnamento
Periodo di erogazione Primo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 9.0 72 153.0

Calendario
Inizio attività didattiche 26/09/2016
Fine attività didattiche 28/01/2016
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2011

Commissioni d'esame
Commissione Dal Al Membri
11 2018 01/10/2018 15/03/2020 REGGIANI MONICA (Presidente)
TRAMARIN FEDERICO (Membro Effettivo)
TAGLIAPIETRA LUCA (Supplente)
10 2017 01/10/2017 15/03/2019 TRAMARIN FEDERICO (Presidente)
REGGIANI MONICA (Membro Effettivo)
9 2016 - dal 14/02/2017 14/02/2017 15/03/2018 TRAMARIN FEDERICO (Presidente)
GHIDONI STEFANO (Membro Effettivo)
CESERACCIU ELENA (Supplente)
PAGELLO ENRICO (Supplente)
SATTA GIORGIO (Supplente)
8 2016 01/10/2016 31/07/2017 GHIDONI STEFANO (Presidente)
REGGIANI MONICA (Membro Effettivo)
SATTA GIORGIO (Membro Effettivo)
CESERACCIU ELENA (Supplente)
PAGELLO ENRICO (Supplente)
7 2015 01/10/2015 30/09/2016 REGGIANI MONICA (Presidente)
SATTA GIORGIO (Membro Effettivo)
CESERACCIU ELENA (Supplente)
GHIDONI STEFANO (Supplente)
PAGELLO ENRICO (Supplente)

Syllabus
Prerequisiti: Corso di informatica di base. Conoscenza ed esperienza nella programmazione sequenziale.
Conoscenze e abilita' da acquisire: Il corso offre l'opportunità agli studenti di apprendere i concetti fondamentali, insieme ai loro usi pratici, nell'area della programmazione di sistemi embedded. Il corso si concentrerà principalmente nelle tecniche per la concorrenza e il real-time.

Al superamento con successo del corso, gli studenti saranno in grado di:
- comprendere le specifiche di un sistema embedded
- spiegare diversi meccanismi per la comunicazione e sincronizzazione tra processi
- comprendere le caratteristiche dei sistemi real-time
- programmare applicazioni embedded concorrenti
- progettare, strutturare e analizzare programmi per sistemi embedded
- comparare, selezionare e applicare construtti linguistici progettati per la concorrenza
Modalita' di esame: La valutazione sarà composta da:
20% assegnamento di programmazione da svolgere a casa
20% esame scritto
60% esame orale sui contenuti del corso
Criteri di valutazione: L'assegnamento di programmazione da svolgere a casa valuta le capacità dello studente di progettare e sviluppare una applicazione software di importanza pratica.
L'esame scritto si concentra sulla capacità dello studente di risolvere una problema concorrente di sezione critica.
L'esame orale verifica le competenze acquisite dallo studente sui fondamenti presentati dal corso. Questa parte di valutazione permette inoltre di valutare l'abilità di presentare con termini appropriati dei progetti ingegneristici.
Contenuti: Introduzione ai sistemi embedded. Programmazione vicino all'hardware. Programmi che reagiscono agli eventi. Gestione dei processi: concetto, schedulazione. Programmazione concorrente: Problema della sezione critica, semafori, monitor, algoritmi per sistemi distribuiti. Deadlock e starvation. Sistemi Real-Time: affidabilità e ripetibilità, sistemi sincroni e asincroni, priority inversion e priority inheritance. Schedulazione di sistemi real time: schedulazione ciclica, rate-monotonic, EDF, condivisione di risorse, analisi di deadlock e di schedulabilità.
Sviluppi pratici: linguaggio di programmazione C, compilazione automatica, profiling, POSIX Threads, Sockets, Real-Time Linux, Rasperry Pi.
Attivita' di apprendimento previste e metodologie di insegnamento: Una serie di lezioni frontali presenta concetti, metodi, problemi e soluzioni. Diversi esercizi di base vengono proposti al calcolatore sotto la supervisione diretta del docente. Quattro attività di laboratorio più complesse permettono allo studente di formulare soluzioni personali.
Eventuali indicazioni sui materiali di studio: Le lezioni frontali si basano sui testi di riferimento indicati. Ulteriore materiale online e articoli distribuiti in classe sarà inoltre richiesto.
Le sorgenti degli articoli includono:
- IEEE Spectrum Magazine (spectrum.iee.org) - EE- related articles
- IEEE Computer Magazine (www.computer.org/computer) -
- ACM Magazine
- embedded system programming magazine (www.embedded.com)
- TED.com (visionary talks by great minds)
Testi di riferimento:
  • A. Burns, A. J. Wellings, Real Time Systems and Their Programming Languages (3rd edition). --: Addison Wesley, 2001.
  • M. Ben-Ari, Principles of Concurrent and Distributed Programming (2nd edition). --: Addison Wesley, 2006. Cerca nel catalogo