Vai al contenuto principale

Informatica

Afferisce al dipartimento FIM e si concentra sugli aspetti scientifici e matematici dell'informatica. Fornisce basi teoriche solide in algoritmi, linguaggi di programmazione e strutture dati, con ampio spazio alle attività di laboratorio.

Triennale
MO
180 CFU
25insegnamenti

Anno 1

NomeSezioni
Algebra Lineare

Insegnamento di base che copre il calcolo matriciale, i sistemi di equazioni lineari, gli spazi vettoriali, le applicazioni lineari, gli autovalori/autovettori e la geometria analitica nello spazio, fondamentali per la modellizzazione ingegneristica.

1 sezione
Analisi Matematica

Corso fondamentale focalizzato sul calcolo differenziale e integrale per funzioni di una variabile reale. Gli argomenti principali includono i numeri reali e complessi, successioni e serie numeriche, limiti, continuità, derivate e loro applicazioni, sviluppi di Taylor e metodi di integrazione definiti e indefiniti.

1 sezione
Programmazione 1

Introduzione ai fondamenti della programmazione e della risoluzione di problemi (problem solving). Il corso copre la rappresentazione dell'informazione, le strutture di controllo (iterazione, selezione), i tipi di dato fondamentali e avanzati (liste, dizionari, record), le funzioni e la gestione della memoria. A seconda del corso di studi, l'insegnamento utilizza linguaggi quali Python (per l'analisi dati e la modellazione) o C (per una comprensione approfondita dell'architettura del calcolatore).

1 sezione
Inglese

Insegnamento mirato al raggiungimento del livello di competenza linguistica B1/B2 (QCER) in ambito scientifico. Il corso si focalizza sullo sviluppo delle quattro abilità linguistiche (ascolto, parlato, lettura, scrittura) con particolare attenzione al lessico specialistico della biologia, delle bioscienze e alla comprensione di testi accademici e pubblicazioni internazionali.

1 sezione
Architettura Dei Calcolatori I

Studio del funzionamento hardware dei calcolatori elettronici. Il programma si articola in tre aree principali: reti logiche (combinatorie e sequenziali), architettura del processore (Instruction Set Architecture, datapath, controllo e pipelining) e gerarchia di memoria (cache, memoria virtuale e sistemi di I/O). Il corso include esercitazioni pratiche di programmazione in linguaggio Assembly e simulazione di circuiti digitali.

1 sezione
Algoritmi E Strutture Dati

Fondamenti della progettazione e analisi di algoritmi efficienti. Vengono trattate la complessità asintotica (notazione O-grande), le strutture dati classiche (liste, pile, code, alberi binari, heap, tabelle hash), gli algoritmi di ordinamento e ricerca, e la teoria dei grafi (visite, cammini minimi, alberi ricoprenti). Il corso introduce inoltre strategie di progettazione quali Divide-et-Impera, Programmazione Dinamica e algoritmi Greedy.

1 sezione
Programmazione 2

Approfondimento delle metodologie di sviluppo software e introduzione a nuovi paradigmi di programmazione. Il corso tratta la programmazione orientata agli oggetti (classi, ereditarietà, polimorfismo), la gestione avanzata della memoria (puntatori, allocazione dinamica), il testing e debugging, e la realizzazione di applicazioni complesse. Vengono utilizzati linguaggi quali C++ o Java per illustrare i concetti di astrazione, incapsulamento e qualità del software.

1 sezione
Fisica

Corso sui principi della fisica classica applicati ai settori dell'agricoltura e dell'industria alimentare. Il programma approfondisce la meccanica dei solidi e dei fluidi (fondamentale per lo studio dell'irrigazione), la termodinamica per la conservazione e trasformazione degli alimenti e i concetti base di elettromagnetismo, fornendo il metodo sperimentale necessario per la modellizzazione dei fenomeni naturali.

1 sezione

Anno 2

NomeSezioni
Probabilità E Statistica

Strumenti matematici per la modellizzazione dell'incertezza e l'analisi dei dati. Il programma include il calcolo delle probabilità (variabili aleatorie discrete e continue, teoremi limite), la statistica descrittiva e l'inferenza statistica (teoria della stima, intervalli di confidenza, test di ipotesi e regressione lineare). Il corso fornisce le basi quantitative fondamentali per l'ingegneria dei dati, il machine learning e l'analisi dei sistemi complessi.

1 sezione
Basi di Dati

Introduce i principi di progettazione e gestione delle basi di dati relazionali. Tratta il modello entità-relazione, la normalizzazione, l'algebra relazionale, il linguaggio SQL, la gestione delle transazioni e i fondamenti dei DBMS. Fornisce competenze per progettare schemi efficienti, interrogare i dati e sviluppare applicazioni che interagiscono con database.

1 sezione
Ricerca Operativa

Fornire la basi delle tecniche di Ricerca Operativa

1 sezione
Metodi Numerici

Insegnamento avanzato focalizzato sugli algoritmi di ottimizzazione numerica e l'algebra lineare computazionale. Fornisce i metodi stocastici e numerici necessari per l'addestramento e lo sviluppo di modelli di apprendimento automatico.

1 sezione
Intelligenza Artificiale

Corso di laurea magistrale internazionale focalizzato sulla progettazione di sistemi autonomi complessi. Il programma copre il Machine Learning, il Deep Learning, la Computer Vision, l'Internet of Things (IoT) e l'analisi dei Big Data. L'approccio è interdisciplinare e combina solide basi matematiche con competenze tecniche informatiche avanzate e riflessioni etico-giuridiche sull'uso dell'IA.

1 sezione
Architettura Dei Calcolatori II

Studio delle architetture avanzate dei calcolatori e del pipelining. Il corso approfondisce la gerarchia di memoria (cache e memoria virtuale), i sistemi di input/output e le architetture parallele per il calcolo moderno.

1 sezione
Programmazione A Oggetti

Evoluzione verso il paradigma Object-Oriented (OOP). Il corso approfondisce i concetti di incapsulamento, ereditarietà, polimorfismo, astrazione e interfacce, utilizzando Java come linguaggio di riferimento. Vengono inoltre trattati temi quali la gestione delle eccezioni, il Collection Framework, la programmazione multithread (concorrenza) e la creazione di interfacce grafiche (GUI).

1 sezione
Sistemi Operativi

Studia l'architettura e i meccanismi di funzionamento dei moderni sistemi operativi. Tratta gestione dei processi, scheduling, sincronizzazione, memoria virtuale, file system, I/O e concetti di sicurezza. Fornisce competenze teoriche e pratiche per comprendere come il software di sistema gestisce le risorse hardware e supporta l'esecuzione concorrente delle applicazioni.

1 sezione
Algoritmi E Problem Solving

Corso mirato allo sviluppo di competenze pratiche nella risoluzione di problemi computazionali complessi. L'obiettivo è imparare a selezionare, adattare e implementare algoritmi avanzati per sfide tratte da casi reali. Il programma approfondisce tecniche ricorsive, strutture dati gerarchiche, algoritmi su grafi e strategie di ottimizzazione dinamica e greedy.

1 sezione
Analisi Matematica II

Corso mirato al calcolo multi-variabile essenziale e allo studio delle serie. Il programma approfondisce i limiti, la continuità e la differenziabilità per funzioni di più variabili reali, i problemi di ottimizzazione (massimi e minimi), gli integrali doppi, e le serie di funzioni (serie di potenze e di Fourier), fornendo gli strumenti analitici necessari per la modellizzazione in ambito informatico e fisico.

1 sezione

Anno 3

Obbligatori

A scelta

NomeSezioni
Gestione Dell'informazione

Tecniche moderne per la gestione, memorizzazione e ricerca di informazioni in domini complessi. Il corso si focalizza sul trattamento di dati non strutturati e semistrutturati (Web, Social Network), approfondendo i motori di ricerca (Information Retrieval), il Web Semantico e l'utilizzo di tecnologie data-centric per l'organizzazione efficiente dei dati.

1 sezione
Progettazione Del Software

Insegnamento dedicato alle metodologie per lo sviluppo di sistemi software complessi. Il corso copre la specifica dei requisiti (UML, standard IEEE 830), il ciclo di vita del software, l'uso di Design Patterns per la risoluzione di problemi ricorrenti e i principi della modularità e qualità del codice. L'obiettivo è fornire strumenti modellistici e pratici per gestire la complessità e la manutenzione del software come prodotto industriale.

1 sezione
Programmazione Per Il Web

Sviluppo di applicazioni web moderne, analizzando sia il lato client (frontend) che il lato server (backend). Vengono trattati i linguaggi HTML5, CSS3 e JavaScript (ES6+), il protocollo HTTP/HTTPS, l'interazione con il DOM, la creazione di API RESTful e l'integrazione con database SQL/NoSQL. Il corso include lo studio di framework moderni e delle principali vulnerabilità di sicurezza web.

1 sezione
Intelligenza Artificiale Applicata

Introduzione alle tecnologie avanzate di intelligenza artificiale e machine learning. Il corso analizza algoritmi di apprendimento supervisionato e non supervisionato, reti neurali, computer vision e sistemi esperti. L'approccio è orientato all'integrazione di moduli intelligenti in soluzioni software reali, affrontando problemi di modellazione, gestione dei dati e ottimizzazione in ambiti quali la robotica e l'analisi dati.

1 sezione
Paradigmi Di Programmazione

Panoramica sui diversi modelli di computazione oltre la programmazione imperativa e a oggetti. Il corso si focalizza sulla programmazione funzionale (es. Haskell, OCaml), esplorando inoltre i paradigmi logico (Prolog), reattivo e data-flow. Gli studenti apprendono le basi teoriche dei linguaggi e le tecniche per l'implementazione di interpreti, comprendendo la semantica e i limiti logici dei diversi approcci.

1 sezione