28871 - SOFTWARE PER LE TELECOMUNICAZIONI T-A

Anno Accademico 2024/2025

  • Docente: Alessandro Guidotti
  • Crediti formativi: 6
  • SSD: ING-INF/03
  • Lingua di insegnamento: Italiano

Conoscenze e abilità da conseguire

Al termine del corso lo studente è introdotto agli aspetti di programmazione orientata allo sviluppo di servizi e applicazioni per le telecomunicazioni su sistemi mobili.

Contenuti

Il corso di Software per le Telecomunicazioni e Laboratorio T-1 è costituito da tre moduli, di cui il Modulo 1 e 2 sono erogati in serie, mentre il Modulo 3 in parallelo ai precedenti.

Il corso di Software per le Telecomunicazioni T-A è costituito dai Moduli 1 e 2 del corso Software per le Telecomunicazioni e Laboratorio T-1.

I Modulo 1 e 2, da 60 ore complessive, hanno l'obiettivo di fornire competenze di base nello sviluppo di software in Python con supporto per Intelligenza Artificiale e Data Science. Nel dettaglio, il corso è strutturato in due parti:

Parte 1: Il linguaggio Python

  • data type e slicing
  •  NumPy e grafica
  •  strutture di controllo di flusso
  •  list, tuple, dictionary
  •  funzioni, moduli, comprehension
  •  Input/Output
  •  Object-Oriented Programming
  • Pandas e dataframe
  •  Webscraping

Part 2: Applicazioni

  • Exploratory Data Analysis: analisi e gestione dei dataset

  •  Machine Learning: supervised/unsupervised, addestramento e ottimizzazione

  •  Neural Networks: addestramento e ottimizzazione, reti convoluzionali, Generative AI

  •  GUI

Il Modulo 3 è orientato allo sviluppo di software per la programmazione ad oggetti, simulazioni numeriche e algoritmi di Machine Learning per servizi e applicazioni nell'area delle telecomunicazioni. Nel dettaglio:

Parte 1: Linguaggio di programmazione MATLAB

  • Introduzione
  • Script e funzioni
  • Array e indicizzazione logica
  • Control flow
  • Debugging

Parte 2: Simulazione numerica

  • Simulazione di processi aleatori
  • Simulazione dei modelli statistici del rumore
  • Analisi spettrale dei segnali aleatori
  • Implementazione di tecniche di analisi di dati e inferenza statistica alla base dei sistemi di trasmissione dell’informazione
  • Implementazione ed analisi di un collegamento numerico di comunicazioni


 

Testi/Bibliografia

Essendo un corso orientato alla programmazione, i riferimenti sono principalmente la documentazione dei linguaggi di programmazione (indicata durante il corso) e link su temi specifici forniti nelle slide.

Metodi didattici

Lezioni frontali e in laboratorio orientate all'implementazione delle nozioni impartite a lezione, con programmazione diretta in laboratorio.

In considerazione della tipologia di attività e dei metodi didattici adottati, la frequenza di questa attività formativa richiede la preventiva partecipazione di tutti gli studenti ai moduli 1 e 2 di formazione sulla sicurezza nei luoghi di studio (https://elearning-sicurezza.unibo.it/), in modalità e-learning.


Modalità di verifica e valutazione dell'apprendimento

La verifica dell'apprendimento verrà svolta attraverso un esame scritto a cui seguirà (alcuni giorni dopo) la discussione del progetto sviluppato in linguaggio Python. L'esame scritto sarà rivolto alla verifica dell'apprendimento delle basi della programmazione Python. La prova si intende superata con un punteggio minimo di 18/30.

All'esame orale gli studenti dovranno fare una breve presentazione (circa 10-15 minuti) del progetto sviluppato in Python per illustrare obiettivo, principi progettuali e risultati ottenuti.

Per gli studenti del corso Software per le Telecomunicazioni T-A, il voto finale sarà composto dalla media della prova scritta e della valutazione del progetto Python.

Per gli studenti del corso Software per le Telecomunicazioni T-1, il voto finale sarà composto dalla media della prova scritta, della valutazione del progetto Python e della valutazione del progetto e dei report MATLAB nel modulo 3.

Strumenti a supporto della didattica

PC Windows/Linux/MacOS per l'installazione degli applicativi di sviluppo.

Orario di ricevimento

Consulta il sito web di Alessandro Guidotti