Studiare

In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.

Tipologia di Attività formativa D e F

Le attività formative di tipologia D sono a scelta dello studente, quelle di tipologia F sono ulteriori conoscenze utili all’inserimento nel mondo del lavoro (tirocini, competenze trasversali, project works, ecc.). In base al Regolamento Didattico del Corso, alcune attività possono essere scelte e inserite autonomamente a libretto, altre devono essere approvate da apposita commissione per verificarne la coerenza con il piano di studio. Le attività formative di tipologia D o F possono essere ricoperte dalle seguenti attività.

1. Insegnamenti impartiti presso l'Università di Verona

Comprendono gli insegnamenti sotto riportati e/o nel Catalogo degli insegnamenti (che può essere filtrato anche per lingua di erogazione tramite la Ricerca avanzata).

Modalità di inserimento a libretto: se l'insegnamento è compreso tra quelli sottoelencati, lo studente può inserirlo autonomamente durante il periodo in cui il piano di studi è aperto; in caso contrario, lo studente deve fare richiesta alla Segreteria, inviando a carriere.scienze@ateneo.univr.it il modulo nel periodo indicato.

2. Attestato o equipollenza linguistica CLA

Oltre a quelle richieste dal piano di studi, per gli immatricolati dall'A.A. 2021/2022 vengono riconosciute:

  • Lingua inglese: vengono riconosciuti 3 CFU per ogni livello di competenza superiore a quello richiesto dal corso di studio (se non già riconosciuto nel ciclo di studi precedente).
  • Altre lingue e italiano per stranieri: vengono riconosciuti 3 CFU per ogni livello di competenza a partire da A2 (se non già riconosciuto nel ciclo di studi precedente).

Tali cfu saranno riconosciuti, fino ad un massimo di 6 cfu complessivi, di tipologia F se il piano didattico lo consente, oppure di tipologia D. Ulteriori crediti a scelta per conoscenze linguistiche potranno essere riconosciuti solo se coerenti con il progetto formativo dello studente e se adeguatamente motivati.

Gli immatricolati fino all'A.A. 2020/2021 devono consultare le informazioni che si trovano qui.

Modalità di inserimento a librettorichiedere l’attestato o l'equipollenza al CLA e inviarlo alla Segreteria Studenti - Carriere per l’inserimento dell’esame in carriera, tramite mail: carriere.scienze@ateneo.univr.it

3. Competenze trasversali

Scopri i percorsi formativi promossi dal TALC - Teaching and learning center dell'Ateneo, destinati agli studenti regolarmente iscritti all'anno accademico di erogazione del corso https://talc.univr.it/it/competenze-trasversali

Modalità di inserimento a libretto: non è previsto l'inserimento dell'insegnamento nel piano di studi. Solo in seguito all'ottenimento dell'Open Badge verranno automaticamente convalidati i CFU a libretto. La registrazione dei CFU in carriera non è istantanea, ma ci saranno da attendere dei tempi tecnici.  

4. CONTAMINATION LAB

Il Contamination Lab Verona (CLab Verona) è un percorso esperienziale con moduli dedicati all'innovazione e alla cultura d'impresa che offre la possibilità di lavorare in team con studenti e studentesse di tutti i corsi di studio per risolvere sfide lanciate da aziende ed enti. Il percorso permette di ricevere 6 CFU in ambito D o F. Scopri le sfide: https://www.univr.it/clabverona

ATTENZIONE: Per essere ammessi a sostenere una qualsiasi attività didattica, incluse quelle a scelta, è necessario essere iscritti all'anno di corso in cui essa viene offerta. Si raccomanda, pertanto, ai laureandi delle sessioni di dicembre e aprile di NON svolgere attività extracurriculari del nuovo anno accademico, cui loro non risultano iscritti, essendo tali sessioni di laurea con validità riferita all'anno accademico precedente. Quindi, per attività svolte in un anno accademico cui non si è iscritti, non si potrà dar luogo a riconoscimento di CFU.

5. Periodo di stage/tirocinio

Oltre ai CFU previsti dal piano di studi (verificare attentamente quanto indicato sul Regolamento Didattico): qui informazioni su come attivare lo stage. 

Verificare nel regolamento quali attività possono essere di tipologia D e quali di tipologia F.

Insegnamenti e altre attività che si possono inserire autonomamente a libretto

Anno accademico:
Primo semestre Dal 03/10/22 Al 27/01/23
anni Insegnamenti TAF Docente
1° 2° Introduzione alla robotica per studenti di materie scientifiche D Paolo Fiorini (Coordinatore)
1° 2° Linguaggio Programmazione Matlab-Simulink D Bogdan Mihai Maris (Coordinatore)
1° 2° Prototipizzazione con Arduino D Franco Fummi (Coordinatore)
1° 2° Sfide di programmazione D Romeo Rizzi (Coordinatore)
Secondo semestre Dal 06/03/23 Al 16/06/23
anni Insegnamenti TAF Docente
1° 2° Introduzione alla stampa 3D D Franco Fummi (Coordinatore)
1° 2° Linguaggio programmazione Python D Carlo Combi (Coordinatore)
1° 2° Progettazione di componenti hardware su FPGA D Franco Fummi (Coordinatore)
1° 2° Tutela dei beni immateriali (SW e invenzione) tra diritto industriale e diritto d’autore D Roberto Giacobazzi (Coordinatore)
Elenco degli insegnamenti con periodo non assegnato
anni Insegnamenti TAF Docente
1° 2° Federated learning from zero to hero D Gloria Menegaz

Codice insegnamento

4S009012

Crediti

6

Coordinatore

Nicola Bombieri

Lingua di erogazione

Inglese en

Offerto anche nei corsi:

Settore Scientifico Disciplinare (SSD)

INF/01 - INFORMATICA

L'insegnamento è organizzato come segue:

Parte II

Crediti

3

Periodo

Primo semestre

Parte I

Crediti

3

Periodo

Primo semestre

Obiettivi di apprendimento

Il corso si propone di fornire le conoscenze teoriche e pratiche per la programmazione e l'analisi di architetture di calcolo avanzate con particolare enfasi alle piattaforme embedded parallele ed eterogenee. Al termine del corso lo studente dovrà dimostrare di essere in grado di applicare le conoscenze necessarie per individuare tecniche di sviluppo di software dedicato per edge computing, anche in un contesto di ricerca, attraverso l'analisi dell'efficienza delle applicazioni considerando vincoli funzionali e non funzionali di progettazione (correttezza, performance, consumo di potenza ed efficienza energetica). Queste conoscenze consentiranno allo studente di effettuare un’analisi delle performance e profiling del codice, con individuazione delle zone critiche e relativa ottimizzazione considerando caratteristiche architetturali della piattaforma. Al termine del corso lo studente sarà in grado di confrontare pattern diversi di sviluppo di software embedded parallelo e scegliere tra questi il più adeguato a seconda del contesto d'uso. In fase di definizione della struttura del codice ottimizzato, sarà in grado di fare le scelte progettuali più appropriate a seconda del contesto e piattaforma in cui l'applicazione parallela verrà usata. Inoltre, lo studente avrà le conoscenze necessarie per proseguire gli studi in modo autonomo nell’ambito dei linguaggi e tecniche di programmazione per lo sviluppo di software per piattaforme embedded parallele ed eterogenee.

Prerequisiti e nozioni di base

Programmazione di base in C

Programma

Modulo TEORIA (32 ore):
-) Introduzione alle architetture avanzate di calcolo.
-) Modelli di programmazione parallela e per architetture programmabili at-the-edge.
-) Misura e analisi delle prestazioni, legge di Amdhal e metriche per la misura delle prestazioni.
-) Consumi di potenza ed efficienza energetica: modelli di programmazione
-) Data-level parallelism: architetture GPU e CPU-iGPU
-) Pipeline: concetti base ed avanzati.
-) Instruction-level parallelism (ILP).
-) Tecniche avanzate di branch prediction, static scheduling e speculation.
-) Gerarchie di memoria: concetti base ed avanzati.
-) Tecniche avanzate per l'ottimizzazione delle performance della cache.
-) Thread-level parallelism (TLP).
-) Coerenza della cache in architetture shared-memory, protocolli Snoopy.
-) Edge computing e Deep Learning at the edge

Modulo LABORATORIO (24 ore):
-) Programmazione architetture eterogenee (CPU-iGPU)
-) Utilizzo di compilatori paralleli per architetture multi-core.
-) Inferenza basata su CNN e transfer learning at the edge

Bibliografia

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Modalità didattiche

Lezioni frontali per teoria
Lezioni forntali e sviluppo codice per lab

Modalità di verifica dell'apprendimento

Esercizi a risposta libera per la parte di teoria, sviluppo codice per la parte di lab. Tempo totale 2 o 2.5 ore.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI

Criteri di valutazione

Per superare l'esame lo studente dovrà dimostrare di:
- aver compreso i principi alla base della programmazione di architetture di calcolo avanzate
- essere in grado di esporre le proprie argomentazioni in modo preciso e organico senza divagazioni
- saper applicare le conoscenze acquisite per risolvere problemi applicativi presentati sotto forma di esercizi, domande e progetti.

Criteri di composizione del voto finale

L'esame consiste in una prova scritta, contenente domande a risposta multipla, domande a risposta aperta ed esercizi riguardanti sia la parte teorica che di laboratorio. Lo studente potrà elaborare un progetto assegnato dal docente per un bonus (fino a +5 punti).

Lingua dell'esame

English