Corso di laurea

informatica

Università degli Studi di Roma - La Sapienza · 113 materie · 7 file condivisi

Il corso di laurea in Informatica ha l'obiettivo di formare figure professionali capaci di affrontare con successo le sfide costituite dalle crescenti esigenze della società dell'informazione. I laureati in Informatica saranno dotati di solida preparazione culturale di base, che permetterà loro di mantenersi al passo col progredire delle tecnologie, e di preparazione tecnica che consentirà loro un rapido inserimento professionale nel settore delle tecnologie dell'informazione e della comunicazione. Inoltre, saranno in grado di accedere ai livelli di studio universitario successivi al primo, nel settore dell'informatica. La preparazione culturale di base permetterà ai laureati in Informatica di avere: - familiarità col metodo scientifico di indagine; - capacità di comprendere ed utilizzare strumenti matematici di supporto; - conoscenze metodologiche e competenze di base in un ampio spettro di settori delle scienze e delle tecnologie dell'informazione e della comunicazione; - familiarità con almeno una lingua dell'Unione Europea. Il corso di laurea è in possesso del Bollino GRIN 2015 (http://grin.informatica.uniroma2.it/certificazione/). Il bollino è stato poi sospeso a livello nazionale.

Ecco tutti i dettagli sul corso di laurea selezionato. Sul UniDocs troverai gli appunti condivisi dagli altri studenti del tuo corso di laurea, ordinati per materia. Ricordati che per poter visualizzare il materiale devi essere registrato al sito e possedere un numero di crediti sufficiente.

Al momento abbiamo 7 files caricati sul nostro portale suddivisi nelle 113 materie appartenenti al tuo corso di laurea.

Sfoglia il materiale didattico

Con UniDocs hai l'opportunità di studiare insieme a tutto il tuo corso di laurea. Guadagna subito dei crediti, carica il materiale del tuo ultimo esame!
Più condividi, più tempo avrai per studiare con tutta la community!

Materie del corso

ALGEBRA LINEARE E GEOMETRIA 1° anno · 2° semestre · 6 CFU · MATH-02/A · 0 file

Obiettivi formativi: acquisire conoscenze di base su sistemi di equazioni lineari, spazi vettoriali, applicazioni lineari, spazi affini, spazi euclidei. Conoscenza e capacità di comprensione: al termine del corso lo…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi: acquisire conoscenze di base su sistemi di equazioni lineari, spazi vettoriali, applicazioni lineari, spazi affini, spazi euclidei.
Conoscenza e capacità di comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base relativi alla risoluzione di sistemi lineari, al calcolo matriciale, alla teoria degli spazi vettoriali e delle applicazioni lineari tra essi, agli spazi affini, spazi vettoriali euclidei e spazi affini euclidei.
Capacità di applicare conoscenza e comprensione: al termine del corso lo studente sarà in grado di risolvere sistemi di equazioni lineari, di riconoscere problemi matematici rappresentati da applicazioni lineari tra spazi vettoriali e utilizzare questo fatto per la loro risoluzione; sarà in grado di operare con le matrici e di stabilire la risolubilità di un sistema lineare e l'invertibilità di un'applicazione lineare mediante considerazioni sul rango e mediante il calcolo del determinante delle matrici associate; sarà in grado di calcolare gli autovalori di un endomorfismo lineare e determinare la decomposizione in autospazi ad esso associata; saprà risolvere problemi in cui intervengono prodotti euclidei; saprà risolvere problemi su spazi affini, spazi affini euclidei.
Autonomia di giudizio: lo studente avrà le basi per analizzare le relazioni tra gli argomenti trattati e argomenti di Algebra (teoria dei gruppi, dei semigruppi, matematica discreta), funzioni di più variabili reali (analisi matematica).
Abilità comunicative: capacità di esporre i contenuti nella parte orale della verifica e negli eventuali quesiti teorici presenti nella prova scritta.
Capacità di apprendimento: le conoscenze acquisite permetteranno uno studio, individuale o impartito in un corso di LM, relativo ad aspetti più specialistici della teoria degli operatori lineari non più limitati al caso di dimensione finita, di quella delle famiglie di spazi vettoriali (fibrati vettoriali), di quella delle decomposizioni in autospazi relativa ad algebre commutative di endomorfismi, e della geometria riemanniana.

Programma

Insiemi, funzioni, relazioni. Numeri complessi.

Spazi vettoriali: gli archetipi e la definizione.

Sottospazi, (in)dipendenza lineare, basi.

Dimensione di uno spazio vettoriale.

Formula di Grassmann.

Coordinate affini nel piano e nello spazio. Spazi affini. Combinazioni lineari di punti, sottospazi di uno spazio affine.

Definizione di applicazione lineare, prime propriet`a. Immagine e nucleo di un’applicazione lineare. Isomorfismi.

Matrici, prodotto righe per colonne. Matrice associata a un’applicazione lineare.

Operazioni elementari sulle righe: riduzione a scala.

Operazioni elementari: risoluzione di un sistema di equazioni lineari, calcolo dell’inversa. Matrice del cambiamento di base, coniugio.

Applicazioni affini, affinit`a, cambiamenti di coordinate affini. Equazioni cartesiane di sottospazi affini.

Definizione del determinante. Applicazioni multilineari e alternanti, propriet`a del determinante.

Sviluppo di Laplace. Formula di Binet. Permutazioni e determinante. Formula di Cramer.

Diagonalizzazione. Autovalori, autospazi.

Prodotto scalare euclideo.

Modalità d'esame

Prova scritta e orale.

Testi di riferimento

Marco Abate, Chiara De Fabritiis. Geometria analitica con elementi di algebra lineare. McGraw-Hill Education

Codice insegnamento 10621298

ALGORITMI 1 1° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi specifici Conoscenza e capacità di comprensione: Al termine del corso, le studentesse e gli studenti conosceranno le metodologie di base per la progettazione e l'analisi di algoritmi iterativi e ricorsivi, le…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi specifici
Conoscenza e capacità di comprensione: Al termine del corso, le studentesse e gli studenti conosceranno le metodologie di base per la progettazione e l'analisi di algoritmi iterativi e ricorsivi, le strutture dati elementari, i principali algoritmi di ordinamento e le implementazioni più semplici dei dizionari.
Conoscenza e capacità di comprensione applicate: Al termine del corso, le studentesse e gli studenti avranno acquisito familiarità con le principali strutture dati di base, in particolare quelle che implementano i dizionari. Sapranno spiegarne gli algoritmi e analizzarne la complessità, evidenziando come le prestazioni dipendano dalla struttura dati utilizzata. Saranno in grado di progettare nuove strutture dati e i relativi algoritmi, rielaborando quelli esistenti; sapranno spiegare i principali algoritmi di ordinamento, illustrando le strategie progettuali sottostanti e le relative analisi di complessità; saranno in grado di confrontare i comportamenti asintotici dei tempi di esecuzione degli algoritmi studiati; saranno inoltre in grado di progettare soluzioni ricorsive a problemi e di analizzare asintoticamente gli algoritmi risultanti.
Autonomia di giudizio: Le studentesse e gli studenti avranno le basi per analizzare la qualità di un algoritmo e delle relative strutture dati, sia dal punto di vista dell'efficacia nella risoluzione del problema sia da quello dell'efficienza computazionale con cui il problema viene risolto. Gli esercizi svolti a lezione dalla docente e quelli proposti come lavoro individuale contribuiranno ad affinare tali capacità.
Abilità comunicative: Le studentesse e gli studenti acquisiranno la capacità di esporre in modo chiaro e organizzato le proprie conoscenze, capacità che verrà verificata sia mediante i quesiti presentati nelle prove scritte sia durante la prova orale. Saranno in grado di esprimere un’idea algoritmica in modo rigoroso e ad alto livello, utilizzando lo pseudocodice. La prova orale, prevista come parte integrante dell'esame, ha l'obiettivo di sviluppare ulteriormente tali abilità.
Capacità di apprendere: Le conoscenze acquisite permetteranno alle studentesse e agli studenti di affrontare lo studio, sia individuale sia nell’ambito di un corso di laurea magistrale, di tecniche algoritmiche e strutture dati più avanzate.

Programma

1. Introduzione

Concetti di algoritmo, di struttura dati, di efficienza; di costo computazionale;

modello RAM; misura di costo uniforme e logaritmico.

2. Il problema della ricerca

Ricerca sequenziale in un vettore disordinato;

costo computazionale nel caso migliore, peggiore e medio

Ricerca dicotomica o binaria in un vettore ordinato (vers. iterativa)

costo computazionale nel caso migliore, peggiore e medio

3. Introduzione alla ricorsione

funzioni ricorsive

versione iterativa e ricorsiva di algoritmi: esempi

calcolo del costo computazionale delle funzioni ricorsive tramite equazioni di ricorrenza

metodo di sostituzione

metodo iterativo

metodo dell'albero

teorema principale ( dimostrazione facoltativa )

4. Il problema dell'ordinamento

limitazione inferiore sul costo computazionale degli algoritmi di ordinamento per confronti; dimostrazione

funzione di fusione e merge sort; cenno alla tecnica del divide et impera

ordinamento in tempo lineare: counting sort e bucket sort

quick sort e suo costo computazionale nel caso peggiore, migliore e medio

heap e heap sort

5. Strutture dati fondamentali

insiemi dinamici ed operazioni su di essi

vettore non ordinato e ordinato

pila e coda, funzioni di inserimento ed estrazione, coda circolare

lista semplice e doppiamente puntata

coda con priorità

albero

definizione come grafo connesso aciclico

teorema di caratterizzazione degli alberi e dimostrazione

alberi radicati, alberi binari, alberi ordinati, alberi binari completi

relazioni tra numero di nodi interni, numero di foglie ed altezza in un albero binario completo

rappresentazione in memoria di un albero binario

rappresentazione posizionale

rappresentazione con puntatori

vettore dei padri

visita in pre-, post- ed in-ordine e calcolo del costo computazionale tramite equazione di ricorrenza

6. Dizionari

indirizzamento diretto

tabelle hash

collisioni

soluzione delle collisioni per concatenazione (liste di trabocco e fattore di carico)

costo computazionale nel caso medio

soluzioni delle collisioni con indirizzamento aperto

vari tipi di scansione (lineare, quadratica ed hashing doppio)

costo computazionale nel caso medio

alberi binari di ricerca

definizione

algoritmo di ricerca e suo costo computazionale

algoritmi di ricerca del massimo, minimo, successore e predecessore e loro costo computazionale

algoritmo di inserimento e suo costo computazionale

algoritmo di cancellazione e suo costo computazionale

la problematica del bilanciamento per la limitazione del costo computazionale

alberi AVL e teorema per la limitazione dell'altezza

B-alberi

  • Introduzone del corso [2 ore]
  • Testi di riferimento: Capitolo 1 delle dispense
  • Il problema della ricerca [8 ore]
  • Testi di riferimento: Capitolo 3 delle dispense
  • Introduzione alla ricorsione [15 ore]
  • Testi di riferimento: Capitoli 4 and 5 delle dispense
  • Il problema dell'ordinamento [10 ore]
  • Testi di riferimento: Capitolo 6 delle dispense
  • Strutture dati fondamentali e dizionari [25 ore]
  • Testi di riferimento: Capitolo 7 delle dispense

Modalità d'esame

L’esame mira a valutare l’apprendimento tramite una prova scritta di sbarramento e una prova orale.

La prova scritta è molto snella e consiste in brevi quesiti teorici e nella risoluzione di problemi dello stesso tipo di quelli svolti nelle esercitazioni; la prova orale, a cui può accedere chi abbia conseguito un voto sufficiente alla prova scritta, consiste nella discussione dei temi teorici più rilevanti illustrati nel corso e nell'elaborazione di soluzioni algoritmiche a problemi proposti.

Per superare l'esame occorre conseguire un voto non inferiore a 18/30. La studentessa o lo studente deve dimostrare di aver acquisito una conoscenza sufficiente degli argomenti di tutte le parti del programma. Per conseguire un punteggio pari a 30/30 e lode, la studentessa o lo studente deve invece dimostrare di aver acquisito una conoscenza eccellente di tutti gli argomenti trattati durante il corso ed essere in grado di raccordarli in modo logico e coerente.

Testi di riferimento

T. H. Cormen, Charles E. Leiserson, Ronald L. Rivest: Introduction to algorithms, The MIT Press

Sarà cura della docente distribuire materiale didattico, relativo alle lezioni ed esercitazioni (sotto forma di dispense). Il materiale per l'anno in corso è disponibile anche qui:

https://twiki.di.uniroma1.it/twiki/view/Intro_algo/AD/Dispense

Codice insegnamento 10620599

ANALISI MATEMATICA 1° anno · 1° semestre · 12 CFU · MATH-03/A · 0 file
Archivio Globale

Obiettivi formativi Il corso mira a fornire una conoscenza di base delle tecniche del Calcolo e dell’Analisi matematica, introducendo concetti fondamentali quali funzioni, limiti, derivate, integrali, serie numeriche e…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi Il corso mira a fornire una conoscenza di base delle tecniche del Calcolo e dell’Analisi matematica, introducendo concetti fondamentali quali funzioni, limiti, derivate, integrali, serie numeriche e di potenze, sviluppi in serie di Taylor ed equazioni differenziali ordinarie. Particolare attenzione è rivolta sia agli strumenti teorici sia alle principali applicazioni, come lo studio del grafico di funzioni, i problemi di massimo e minimo e la risoluzione di equazioni differenziali elementari. Al termine del corso lo studente sarà in grado di calcolare limiti di funzioni e successioni, applicare le regole di derivazione allo studio locale e globale delle funzioni, utilizzare metodi di integrazione (per parti e per sostituzione) per il calcolo di integrali definiti e indefiniti, discutere la convergenza di serie numeriche, serie di potenze e sviluppi di Taylor di funzioni elementari, nonché risolvere equazioni differenziali ordinarie del primo ordine (a variabili separabili e lineari) e del secondo ordine lineari a coefficienti costanti, sia omogenee sia non omogenee.
Conoscenza e capacità di comprensione Lo studente acquisirà le nozioni e i risultati fondamentali del Calcolo e dell’Analisi matematica, apprendendo le tecniche di base per il calcolo di derivate, integrali e limiti, per lo studio del grafico di funzioni reali di una variabile, per l’analisi della convergenza di successioni e serie e per la risoluzione di semplici equazioni differenziali ordinarie.
Capacità di applicare conoscenza e comprensione Le lezioni teoriche e le esercitazioni consentiranno allo studente di affrontare e risolvere esercizi applicativi, consolidando progressivamente le competenze acquisite.
Autonomia di giudizio Lo studente svilupperà la capacità di interpretare e analizzare situazioni concrete descrivibili matematicamente, di utilizzare i grafici come strumenti di analisi e di applicare autonomamente gli strumenti appresi a nuovi problemi incontrati durante gli studi o in ambito lavorativo.
Abilità comunicative Lo studente sarà in grado di esprimersi correttamente mediante il linguaggio matematico, comprendere testi scientifici di moderata complessità e riassumerne i concetti principali.
Capacità di apprendimento Le conoscenze acquisite costituiranno la base per approfondimenti successivi, sia individuali sia nell’ambito di corsi più avanzati, favorendo l’autonomia nello studio di ulteriori aspetti dell’Analisi matematica.

Programma

ANALISI MATEMATICA II MODULO
Modulo: ANALISI MATEMATICA II MODULO
Serie numeriche. Metodi per stabilire il carattere di una serie. Serie di potenze. Raggio di convergenza, formula per le derivate successive. Esempi di funzioni sviluppabili in serie di potenze

Integrali di funzioni di una variabile reale. Teorema fondamentale del calcolo integrale. Metodi d'integrazione per integrale indefinito e definito. Integrali impropri.

Equazioni differenziali del primo e secondo ordine (lineari).

Modulo: ANALISI MATEMATICA I MODULO

  • Numeri reali, successioni di numeri reali
  • Limiti di funzioni
  • Funzioni continue e derivabili
  • Polinomi di Taylor

Modulo: ANALISI MATEMATICA II MODULO

  • Il modulo è strutturato a blocchi su 3 argomenti principali.Un blocco è sulle serie numeriche arrivando fino agli sviluppi in serie di potenze. Questo prenderà circa 18 ore in cui è compresa sia la parte teorica che la parte riguardante lo svolgimento di esercizi
  • Il secondo blocco sarà sugli integrali. In questo verrà introdotto il concetto d'integrale in una variabile e verranno dati diversi metodi per calcolare un'ampia classe di integrali. Questo prenderà circa 24 ore in cui è compresa sia la parte teorica he la parte riguardante lo svolgimento di esercizi
  • L'ultimo blocco sarà sulle equazioni differenziali. In cui verranno trattate principalmente equazioni differenziali lineari del primo e del secondo ordine. Questo prenderà circa 18 in cui verrà svolta sia la teoria che la pratica per lo svolgimento degli esercizi

Modulo: ANALISI MATEMATICA I MODULO

  • Struttura del modulo: Il modulo è articolato in tre blocchi tematici, ciascuno della durata di circa 20 ore. Un blocco è dedicato agli insiemi numerici (dai numeri naturali ai numeri reali), alle loro proprietà, alle funzioni di una variabile e alle successioni numeriche. Verranno insegnate le tecniche di dimostrazione per assurdo e per induzione.
  • Modulo 2: Il secondo modulo è dedicato allo studio del limite di una funzione e al concetto di continuità e ai risultati fondamentali per questa classe di funzioni (Teorema di Weierstrass e Teorema dei valori Intermedi) .
  • Modulo 3: Nel terzo modulo verrà introdotto il concetto di derivata di una funzione e presentato il polinomio di Taylor, strumento fondamentale per l’approssimazione di funzioni in un intorno di un punto e che è uno strumento molto utile nelle applicazioni.

ANALISI MATEMATICA I MODULO
Modulo: ANALISI MATEMATICA II MODULO
Serie numeriche. Metodi per stabilire il carattere di una serie. Serie di potenze. Raggio di convergenza, formula per le derivate successive. Esempi di funzioni sviluppabili in serie di potenze

Integrali di funzioni di una variabile reale. Teorema fondamentale del calcolo integrale. Metodi d'integrazione per integrale indefinito e definito. Integrali impropri.

Equazioni differenziali del primo e secondo ordine (lineari).

Modulo: ANALISI MATEMATICA I MODULO

  • Numeri reali, successioni di numeri reali
  • Limiti di funzioni
  • Funzioni continue e derivabili
  • Polinomi di Taylor

Modulo: ANALISI MATEMATICA II MODULO

  • Il modulo è strutturato a blocchi su 3 argomenti principali.Un blocco è sulle serie numeriche arrivando fino agli sviluppi in serie di potenze. Questo prenderà circa 18 ore in cui è compresa sia la parte teorica che la parte riguardante lo svolgimento di esercizi
  • Il secondo blocco sarà sugli integrali. In questo verrà introdotto il concetto d'integrale in una variabile e verranno dati diversi metodi per calcolare un'ampia classe di integrali. Questo prenderà circa 24 ore in cui è compresa sia la parte teorica he la parte riguardante lo svolgimento di esercizi
  • L'ultimo blocco sarà sulle equazioni differenziali. In cui verranno trattate principalmente equazioni differenziali lineari del primo e del secondo ordine. Questo prenderà circa 18 in cui verrà svolta sia la teoria che la pratica per lo svolgimento degli esercizi

Modulo: ANALISI MATEMATICA I MODULO

  • Struttura del modulo: Il modulo è articolato in tre blocchi tematici, ciascuno della durata di circa 20 ore. Un blocco è dedicato agli insiemi numerici (dai numeri naturali ai numeri reali), alle loro proprietà, alle funzioni di una variabile e alle successioni numeriche. Verranno insegnate le tecniche di dimostrazione per assurdo e per induzione.
  • Modulo 2: Il secondo modulo è dedicato allo studio del limite di una funzione e al concetto di continuità e ai risultati fondamentali per questa classe di funzioni (Teorema di Weierstrass e Teorema dei valori Intermedi) .
  • Modulo 3: Nel terzo modulo verrà introdotto il concetto di derivata di una funzione e presentato il polinomio di Taylor, strumento fondamentale per l’approssimazione di funzioni in un intorno di un punto e che è uno strumento molto utile nelle applicazioni.

Modalità d'esame

ANALISI MATEMATICA II MODULO
L'esame di valutazione consiste in una prova scritta e una orale. Quest'ultima può essere facoltativa a seconda del risultato della prova scritta. La prova scritta può essere sostituita da due prove intermedie svolte a metà e alla fine del corso.

ANALISI MATEMATICA I MODULO
L'esame di valutazione consiste in una prova scritta e una orale. Quest'ultima può essere facoltativa a seconda del risultato della prova scritta. La prova scritta può essere sostituita da due prove intermedie svolte a metà e alla fine del corso.

Testi di riferimento

ANALISI MATEMATICA II MODULO
Modulo: ANALISI MATEMATICA II MODULO
Lamberto Lamberti: Istituzioni di Matematica (il libro che sarà messo disponibile online)

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Delle dispense saranno rese disponibili sulla pagina Moodle.

Modulo: ANALISI MATEMATICA II MODULO
Dispense del corso di Lamberi

Dispense del corso di Lamberti Mascia

Il materiale consigliato e' puramente indicativo: ogni testo classico di Analisi Matematica uno puo' essere utilizzato con profitto.

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

ANALISI MATEMATICA I MODULO
Modulo: ANALISI MATEMATICA II MODULO
Lamberto Lamberti: Istituzioni di Matematica (il libro che sarà messo disponibile online)

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Delle dispense saranno rese disponibili sulla pagina Moodle.

Modulo: ANALISI MATEMATICA II MODULO
Dispense del corso di Lamberi

Dispense del corso di Lamberti Mascia

Il materiale consigliato e' puramente indicativo: ogni testo classico di Analisi Matematica uno puo' essere utilizzato con profitto.

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Codice insegnamento 10621549

ANALISI MATEMATICA I MODULO 1° anno · 1° semestre · 6 CFU · MATH-03/A · 0 file

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo. Modulo I Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni…

Scheda dell'insegnamento

Obiettivi formativi

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo.

Modulo I

Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni a problemi di massimo-minimo e allo studio del grafico di funzioni.

Obiettivi specifici: Conoscenza e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Conoscenze e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Applicare conoscenza e comprensione: al termine del corso lo studente sarà in grado di risolvere semplici problemi del Calcolo Differenziale, quali il calcolo esplicito di derivate, il calcolo del massimo e minimo locale e globale di funzioni di una variabile, e il disegno approssimativo del grafico di funzioni.

Capacità di giudizio: lo studente avrà le basi per utilizzare un grafico come strumento di analisi di una situazione concreta descrivibile matematicamente.

Capacità di comunicazione: lo studente sarà in grado di comprendere un testo scientifico di complessità non elevata e di riassumerne i concetti principali.

Capacità di apprendimento: le conoscenze acquisite permetteranno uno studio, individuale o impartito in un corso, relativo ad aspetti più avanzati del Calcolo Differenziale e al Calcolo Integrale.

Modulo II

Obiettivi generali: Lo scopo del corso è fornire strumenti di analisi matematica di base come integrali, serie numeriche e di potenze ed equazioni differenziali.

Obiettivi specifici: Gli studenti saranno in grado di esaminare varie tecniche di integrazione e applicarle per calcolare integrali definiti e indefiniti utilizzando l'integrazione per sostituzione e la regola dell'integrazione per parti. Gli studenti saranno in grado di calcolare i limiti di successioni e discutere la convergenza di serie numeriche, serie di potenze e serie di Taylor di funzioni elementari.

Conoscenze e comprensione: L’obiettivo è che lo studente apprenda alcune tecniche di integrazione per calcolare integrali definiti ed indefiniti usando la formula di integrazione per parti e l’integrazione per sostituzione.

Lo studente sarà in grado di studiare la convergenza delle serie numeriche e approssimare, in alcuni casi, la loro somma e studierà le serie di potenze e gli sviluppi in serie di Taylor delle funzioni elementari. Infine imparerà a risolvere alcune equazioni differenziali ordinarie del primo ordine a variabili separabili e lineari del primo ordine ed equazioni differenziali del secondo ordine lineari con coefficienti costanti omogenee e non.

Applicare conoscenza e comprensione: Il corso prevede lezioni teoriche ed esercitazioni per apprendere lo svolgimento degli esercizi pratici.

A metà del corso è prevista una prova pratica per verificare l’apprendimento del programma svolto.

Capacità di giudizio: Saper affrontare autonomamente nuovi problemi, applicando gli strumenti matematici appresi a fenomeni o processi che si incontreranno nel corso di studi e nelle attività lavorative successive.

Capacità di comunicazione: Saper comunicare utilizzando propriamente il linguaggio matematico.

Capacità di apprendimento: Approfondire in modo autonomo alcuni argomenti introdotti durante il corso.

Programma

Modulo: ANALISI MATEMATICA II MODULO
Serie numeriche. Metodi per stabilire il carattere di una serie. Serie di potenze. Raggio di convergenza, formula per le derivate successive. Esempi di funzioni sviluppabili in serie di potenze

Integrali di funzioni di una variabile reale. Teorema fondamentale del calcolo integrale. Metodi d'integrazione per integrale indefinito e definito. Integrali impropri.

Equazioni differenziali del primo e secondo ordine (lineari).

Modulo: ANALISI MATEMATICA I MODULO

  • Numeri reali, successioni di numeri reali
  • Limiti di funzioni
  • Funzioni continue e derivabili
  • Polinomi di Taylor

Modulo: ANALISI MATEMATICA II MODULO

  • Il modulo è strutturato a blocchi su 3 argomenti principali.Un blocco è sulle serie numeriche arrivando fino agli sviluppi in serie di potenze. Questo prenderà circa 18 ore in cui è compresa sia la parte teorica che la parte riguardante lo svolgimento di esercizi
  • Il secondo blocco sarà sugli integrali. In questo verrà introdotto il concetto d'integrale in una variabile e verranno dati diversi metodi per calcolare un'ampia classe di integrali. Questo prenderà circa 24 ore in cui è compresa sia la parte teorica he la parte riguardante lo svolgimento di esercizi
  • L'ultimo blocco sarà sulle equazioni differenziali. In cui verranno trattate principalmente equazioni differenziali lineari del primo e del secondo ordine. Questo prenderà circa 18 in cui verrà svolta sia la teoria che la pratica per lo svolgimento degli esercizi

Modulo: ANALISI MATEMATICA I MODULO

  • Struttura del modulo: Il modulo è articolato in tre blocchi tematici, ciascuno della durata di circa 20 ore. Un blocco è dedicato agli insiemi numerici (dai numeri naturali ai numeri reali), alle loro proprietà, alle funzioni di una variabile e alle successioni numeriche. Verranno insegnate le tecniche di dimostrazione per assurdo e per induzione.
  • Modulo 2: Il secondo modulo è dedicato allo studio del limite di una funzione e al concetto di continuità e ai risultati fondamentali per questa classe di funzioni (Teorema di Weierstrass e Teorema dei valori Intermedi) .
  • Modulo 3: Nel terzo modulo verrà introdotto il concetto di derivata di una funzione e presentato il polinomio di Taylor, strumento fondamentale per l’approssimazione di funzioni in un intorno di un punto e che è uno strumento molto utile nelle applicazioni.

Modalità d'esame

L'esame di valutazione consiste in una prova scritta e una orale. Quest'ultima può essere facoltativa a seconda del risultato della prova scritta. La prova scritta può essere sostituita da due prove intermedie svolte a metà e alla fine del corso.

Testi di riferimento

Modulo: ANALISI MATEMATICA II MODULO
Lamberto Lamberti: Istituzioni di Matematica (il libro che sarà messo disponibile online)

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Delle dispense saranno rese disponibili sulla pagina Moodle.

Modulo: ANALISI MATEMATICA II MODULO
Dispense del corso di Lamberi

Dispense del corso di Lamberti Mascia

Il materiale consigliato e' puramente indicativo: ogni testo classico di Analisi Matematica uno puo' essere utilizzato con profitto.

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Codice insegnamento AID-4cb90098-760

ANALISI MATEMATICA I MODULO 1° anno · 2° semestre · 6 CFU · MATH-03/A · 0 file

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo. Modulo I Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni…

Scheda dell'insegnamento

Obiettivi formativi

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo.

Modulo I

Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni a problemi di massimo-minimo e allo studio del grafico di funzioni.

Obiettivi specifici: Conoscenza e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Conoscenze e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Applicare conoscenza e comprensione: al termine del corso lo studente sarà in grado di risolvere semplici problemi del Calcolo Differenziale, quali il calcolo esplicito di derivate, il calcolo del massimo e minimo locale e globale di funzioni di una variabile, e il disegno approssimativo del grafico di funzioni.

Capacità di giudizio: lo studente avrà le basi per utilizzare un grafico come strumento di analisi di una situazione concreta descrivibile matematicamente.

Capacità di comunicazione: lo studente sarà in grado di comprendere un testo scientifico di complessità non elevata e di riassumerne i concetti principali.

Capacità di apprendimento: le conoscenze acquisite permetteranno uno studio, individuale o impartito in un corso, relativo ad aspetti più avanzati del Calcolo Differenziale e al Calcolo Integrale.

Modulo II

Obiettivi generali: Lo scopo del corso è fornire strumenti di analisi matematica di base come integrali, serie numeriche e di potenze ed equazioni differenziali.

Obiettivi specifici: Gli studenti saranno in grado di esaminare varie tecniche di integrazione e applicarle per calcolare integrali definiti e indefiniti utilizzando l'integrazione per sostituzione e la regola dell'integrazione per parti. Gli studenti saranno in grado di calcolare i limiti di successioni e discutere la convergenza di serie numeriche, serie di potenze e serie di Taylor di funzioni elementari.

Conoscenze e comprensione: L’obiettivo è che lo studente apprenda alcune tecniche di integrazione per calcolare integrali definiti ed indefiniti usando la formula di integrazione per parti e l’integrazione per sostituzione.

Lo studente sarà in grado di studiare la convergenza delle serie numeriche e approssimare, in alcuni casi, la loro somma e studierà le serie di potenze e gli sviluppi in serie di Taylor delle funzioni elementari. Infine imparerà a risolvere alcune equazioni differenziali ordinarie del primo ordine a variabili separabili e lineari del primo ordine ed equazioni differenziali del secondo ordine lineari con coefficienti costanti omogenee e non.

Applicare conoscenza e comprensione: Il corso prevede lezioni teoriche ed esercitazioni per apprendere lo svolgimento degli esercizi pratici.

A metà del corso è prevista una prova pratica per verificare l’apprendimento del programma svolto.

Capacità di giudizio: Saper affrontare autonomamente nuovi problemi, applicando gli strumenti matematici appresi a fenomeni o processi che si incontreranno nel corso di studi e nelle attività lavorative successive.

Capacità di comunicazione: Saper comunicare utilizzando propriamente il linguaggio matematico.

Capacità di apprendimento: Approfondire in modo autonomo alcuni argomenti introdotti durante il corso.

Programma

Modulo: ANALISI MATEMATICA II MODULO
Serie numeriche. Metodi per stabilire il carattere di una serie. Serie di potenze. Raggio di convergenza, formula per le derivate successive. Esempi di funzioni sviluppabili in serie di potenze

Integrali di funzioni di una variabile reale. Teorema fondamentale del calcolo integrale. Metodi d'integrazione per integrale indefinito e definito. Integrali impropri.

Equazioni differenziali del primo e secondo ordine (lineari).

Modulo: ANALISI MATEMATICA I MODULO

  • Numeri reali, successioni di numeri reali
  • Limiti di funzioni
  • Funzioni continue e derivabili
  • Polinomi di Taylor

Modulo: ANALISI MATEMATICA II MODULO

  • Il modulo è strutturato a blocchi su 3 argomenti principali.Un blocco è sulle serie numeriche arrivando fino agli sviluppi in serie di potenze. Questo prenderà circa 18 ore in cui è compresa sia la parte teorica che la parte riguardante lo svolgimento di esercizi
  • Il secondo blocco sarà sugli integrali. In questo verrà introdotto il concetto d'integrale in una variabile e verranno dati diversi metodi per calcolare un'ampia classe di integrali. Questo prenderà circa 24 ore in cui è compresa sia la parte teorica he la parte riguardante lo svolgimento di esercizi
  • L'ultimo blocco sarà sulle equazioni differenziali. In cui verranno trattate principalmente equazioni differenziali lineari del primo e del secondo ordine. Questo prenderà circa 18 in cui verrà svolta sia la teoria che la pratica per lo svolgimento degli esercizi

Modulo: ANALISI MATEMATICA I MODULO

  • Struttura del modulo: Il modulo è articolato in tre blocchi tematici, ciascuno della durata di circa 20 ore. Un blocco è dedicato agli insiemi numerici (dai numeri naturali ai numeri reali), alle loro proprietà, alle funzioni di una variabile e alle successioni numeriche. Verranno insegnate le tecniche di dimostrazione per assurdo e per induzione.
  • Modulo 2: Il secondo modulo è dedicato allo studio del limite di una funzione e al concetto di continuità e ai risultati fondamentali per questa classe di funzioni (Teorema di Weierstrass e Teorema dei valori Intermedi) .
  • Modulo 3: Nel terzo modulo verrà introdotto il concetto di derivata di una funzione e presentato il polinomio di Taylor, strumento fondamentale per l’approssimazione di funzioni in un intorno di un punto e che è uno strumento molto utile nelle applicazioni.

Modalità d'esame

L'esame di valutazione consiste in una prova scritta e una orale. Quest'ultima può essere facoltativa a seconda del risultato della prova scritta. La prova scritta può essere sostituita da due prove intermedie svolte a metà e alla fine del corso.

Testi di riferimento

Modulo: ANALISI MATEMATICA II MODULO
Lamberto Lamberti: Istituzioni di Matematica (il libro che sarà messo disponibile online)

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Delle dispense saranno rese disponibili sulla pagina Moodle.

Modulo: ANALISI MATEMATICA II MODULO
Dispense del corso di Lamberi

Dispense del corso di Lamberti Mascia

Il materiale consigliato e' puramente indicativo: ogni testo classico di Analisi Matematica uno puo' essere utilizzato con profitto.

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Codice insegnamento AID-a790693b-d5c

ANALISI MATEMATICA II MODULO 1° anno · 1° semestre · 6 CFU · MATH-03/A · 0 file

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo. Modulo I Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni…

Scheda dell'insegnamento

Obiettivi formativi

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo.

Modulo I

Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni a problemi di massimo-minimo e allo studio del grafico di funzioni.

Obiettivi specifici: Conoscenza e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Conoscenze e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Applicare conoscenza e comprensione: al termine del corso lo studente sarà in grado di risolvere semplici problemi del Calcolo Differenziale, quali il calcolo esplicito di derivate, il calcolo del massimo e minimo locale e globale di funzioni di una variabile, e il disegno approssimativo del grafico di funzioni.

Capacità di giudizio: lo studente avrà le basi per utilizzare un grafico come strumento di analisi di una situazione concreta descrivibile matematicamente.

Capacità di comunicazione: lo studente sarà in grado di comprendere un testo scientifico di complessità non elevata e di riassumerne i concetti principali.

Capacità di apprendimento: le conoscenze acquisite permetteranno uno studio, individuale o impartito in un corso, relativo ad aspetti più avanzati del Calcolo Differenziale e al Calcolo Integrale.

Modulo II

Obiettivi generali: Lo scopo del corso è fornire strumenti di analisi matematica di base come integrali, serie numeriche e di potenze ed equazioni differenziali.

Obiettivi specifici: Gli studenti saranno in grado di esaminare varie tecniche di integrazione e applicarle per calcolare integrali definiti e indefiniti utilizzando l'integrazione per sostituzione e la regola dell'integrazione per parti. Gli studenti saranno in grado di calcolare i limiti di successioni e discutere la convergenza di serie numeriche, serie di potenze e serie di Taylor di funzioni elementari.

Conoscenze e comprensione: L’obiettivo è che lo studente apprenda alcune tecniche di integrazione per calcolare integrali definiti ed indefiniti usando la formula di integrazione per parti e l’integrazione per sostituzione.

Lo studente sarà in grado di studiare la convergenza delle serie numeriche e approssimare, in alcuni casi, la loro somma e studierà le serie di potenze e gli sviluppi in serie di Taylor delle funzioni elementari. Infine imparerà a risolvere alcune equazioni differenziali ordinarie del primo ordine a variabili separabili e lineari del primo ordine ed equazioni differenziali del secondo ordine lineari con coefficienti costanti omogenee e non.

Applicare conoscenza e comprensione: Il corso prevede lezioni teoriche ed esercitazioni per apprendere lo svolgimento degli esercizi pratici.

A metà del corso è prevista una prova pratica per verificare l’apprendimento del programma svolto.

Capacità di giudizio: Saper affrontare autonomamente nuovi problemi, applicando gli strumenti matematici appresi a fenomeni o processi che si incontreranno nel corso di studi e nelle attività lavorative successive.

Capacità di comunicazione: Saper comunicare utilizzando propriamente il linguaggio matematico.

Capacità di apprendimento: Approfondire in modo autonomo alcuni argomenti introdotti durante il corso.

Programma

Modulo: ANALISI MATEMATICA II MODULO
Serie numeriche. Metodi per stabilire il carattere di una serie. Serie di potenze. Raggio di convergenza, formula per le derivate successive. Esempi di funzioni sviluppabili in serie di potenze

Integrali di funzioni di una variabile reale. Teorema fondamentale del calcolo integrale. Metodi d'integrazione per integrale indefinito e definito. Integrali impropri.

Equazioni differenziali del primo e secondo ordine (lineari).

Modulo: ANALISI MATEMATICA I MODULO

  • Numeri reali, successioni di numeri reali
  • Limiti di funzioni
  • Funzioni continue e derivabili
  • Polinomi di Taylor

Modulo: ANALISI MATEMATICA II MODULO

  • Il modulo è strutturato a blocchi su 3 argomenti principali.Un blocco è sulle serie numeriche arrivando fino agli sviluppi in serie di potenze. Questo prenderà circa 18 ore in cui è compresa sia la parte teorica che la parte riguardante lo svolgimento di esercizi
  • Il secondo blocco sarà sugli integrali. In questo verrà introdotto il concetto d'integrale in una variabile e verranno dati diversi metodi per calcolare un'ampia classe di integrali. Questo prenderà circa 24 ore in cui è compresa sia la parte teorica he la parte riguardante lo svolgimento di esercizi
  • L'ultimo blocco sarà sulle equazioni differenziali. In cui verranno trattate principalmente equazioni differenziali lineari del primo e del secondo ordine. Questo prenderà circa 18 in cui verrà svolta sia la teoria che la pratica per lo svolgimento degli esercizi

Modulo: ANALISI MATEMATICA I MODULO

  • Struttura del modulo: Il modulo è articolato in tre blocchi tematici, ciascuno della durata di circa 20 ore. Un blocco è dedicato agli insiemi numerici (dai numeri naturali ai numeri reali), alle loro proprietà, alle funzioni di una variabile e alle successioni numeriche. Verranno insegnate le tecniche di dimostrazione per assurdo e per induzione.
  • Modulo 2: Il secondo modulo è dedicato allo studio del limite di una funzione e al concetto di continuità e ai risultati fondamentali per questa classe di funzioni (Teorema di Weierstrass e Teorema dei valori Intermedi) .
  • Modulo 3: Nel terzo modulo verrà introdotto il concetto di derivata di una funzione e presentato il polinomio di Taylor, strumento fondamentale per l’approssimazione di funzioni in un intorno di un punto e che è uno strumento molto utile nelle applicazioni.

Modalità d'esame

L'esame di valutazione consiste in una prova scritta e una orale. Quest'ultima può essere facoltativa a seconda del risultato della prova scritta. La prova scritta può essere sostituita da due prove intermedie svolte a metà e alla fine del corso.

Testi di riferimento

Modulo: ANALISI MATEMATICA II MODULO
Lamberto Lamberti: Istituzioni di Matematica (il libro che sarà messo disponibile online)

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Delle dispense saranno rese disponibili sulla pagina Moodle.

Modulo: ANALISI MATEMATICA II MODULO
Dispense del corso di Lamberi

Dispense del corso di Lamberti Mascia

Il materiale consigliato e' puramente indicativo: ogni testo classico di Analisi Matematica uno puo' essere utilizzato con profitto.

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Codice insegnamento AID-c00879a8-fda

ANALISI MATEMATICA II MODULO 1° anno · 2° semestre · 6 CFU · MATH-03/A · 0 file

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo. Modulo I Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni…

Scheda dell'insegnamento

Obiettivi formativi

L'insegnamento si compone di due moduli: leggere gli obiettivi del singolo modulo.

Modulo I

Obiettivi generali: acquisire una conoscenza delle tecniche elementari del Calcolo Differenziale e delle principali applicazioni a problemi di massimo-minimo e allo studio del grafico di funzioni.

Obiettivi specifici: Conoscenza e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Conoscenze e comprensione: al termine del corso lo studente avrà acquisito le nozioni e i risultati di base del Calcolo Differenziale con particolare attenzione ai concetti di funzione, limite di funzione e derivata.

Applicare conoscenza e comprensione: al termine del corso lo studente sarà in grado di risolvere semplici problemi del Calcolo Differenziale, quali il calcolo esplicito di derivate, il calcolo del massimo e minimo locale e globale di funzioni di una variabile, e il disegno approssimativo del grafico di funzioni.

Capacità di giudizio: lo studente avrà le basi per utilizzare un grafico come strumento di analisi di una situazione concreta descrivibile matematicamente.

Capacità di comunicazione: lo studente sarà in grado di comprendere un testo scientifico di complessità non elevata e di riassumerne i concetti principali.

Capacità di apprendimento: le conoscenze acquisite permetteranno uno studio, individuale o impartito in un corso, relativo ad aspetti più avanzati del Calcolo Differenziale e al Calcolo Integrale.

Modulo II

Obiettivi generali: Lo scopo del corso è fornire strumenti di analisi matematica di base come integrali, serie numeriche e di potenze ed equazioni differenziali.

Obiettivi specifici: Gli studenti saranno in grado di esaminare varie tecniche di integrazione e applicarle per calcolare integrali definiti e indefiniti utilizzando l'integrazione per sostituzione e la regola dell'integrazione per parti. Gli studenti saranno in grado di calcolare i limiti di successioni e discutere la convergenza di serie numeriche, serie di potenze e serie di Taylor di funzioni elementari.

Conoscenze e comprensione: L’obiettivo è che lo studente apprenda alcune tecniche di integrazione per calcolare integrali definiti ed indefiniti usando la formula di integrazione per parti e l’integrazione per sostituzione.

Lo studente sarà in grado di studiare la convergenza delle serie numeriche e approssimare, in alcuni casi, la loro somma e studierà le serie di potenze e gli sviluppi in serie di Taylor delle funzioni elementari. Infine imparerà a risolvere alcune equazioni differenziali ordinarie del primo ordine a variabili separabili e lineari del primo ordine ed equazioni differenziali del secondo ordine lineari con coefficienti costanti omogenee e non.

Applicare conoscenza e comprensione: Il corso prevede lezioni teoriche ed esercitazioni per apprendere lo svolgimento degli esercizi pratici.

A metà del corso è prevista una prova pratica per verificare l’apprendimento del programma svolto.

Capacità di giudizio: Saper affrontare autonomamente nuovi problemi, applicando gli strumenti matematici appresi a fenomeni o processi che si incontreranno nel corso di studi e nelle attività lavorative successive.

Capacità di comunicazione: Saper comunicare utilizzando propriamente il linguaggio matematico.

Capacità di apprendimento: Approfondire in modo autonomo alcuni argomenti introdotti durante il corso.

Programma

Modulo: ANALISI MATEMATICA II MODULO
Serie numeriche. Metodi per stabilire il carattere di una serie. Serie di potenze. Raggio di convergenza, formula per le derivate successive. Esempi di funzioni sviluppabili in serie di potenze

Integrali di funzioni di una variabile reale. Teorema fondamentale del calcolo integrale. Metodi d'integrazione per integrale indefinito e definito. Integrali impropri.

Equazioni differenziali del primo e secondo ordine (lineari).

Modulo: ANALISI MATEMATICA I MODULO

  • Numeri reali, successioni di numeri reali
  • Limiti di funzioni
  • Funzioni continue e derivabili
  • Polinomi di Taylor

Modulo: ANALISI MATEMATICA II MODULO

  • Il modulo è strutturato a blocchi su 3 argomenti principali.Un blocco è sulle serie numeriche arrivando fino agli sviluppi in serie di potenze. Questo prenderà circa 18 ore in cui è compresa sia la parte teorica che la parte riguardante lo svolgimento di esercizi
  • Il secondo blocco sarà sugli integrali. In questo verrà introdotto il concetto d'integrale in una variabile e verranno dati diversi metodi per calcolare un'ampia classe di integrali. Questo prenderà circa 24 ore in cui è compresa sia la parte teorica he la parte riguardante lo svolgimento di esercizi
  • L'ultimo blocco sarà sulle equazioni differenziali. In cui verranno trattate principalmente equazioni differenziali lineari del primo e del secondo ordine. Questo prenderà circa 18 in cui verrà svolta sia la teoria che la pratica per lo svolgimento degli esercizi

Modulo: ANALISI MATEMATICA I MODULO

  • Struttura del modulo: Il modulo è articolato in tre blocchi tematici, ciascuno della durata di circa 20 ore. Un blocco è dedicato agli insiemi numerici (dai numeri naturali ai numeri reali), alle loro proprietà, alle funzioni di una variabile e alle successioni numeriche. Verranno insegnate le tecniche di dimostrazione per assurdo e per induzione.
  • Modulo 2: Il secondo modulo è dedicato allo studio del limite di una funzione e al concetto di continuità e ai risultati fondamentali per questa classe di funzioni (Teorema di Weierstrass e Teorema dei valori Intermedi) .
  • Modulo 3: Nel terzo modulo verrà introdotto il concetto di derivata di una funzione e presentato il polinomio di Taylor, strumento fondamentale per l’approssimazione di funzioni in un intorno di un punto e che è uno strumento molto utile nelle applicazioni.

Modalità d'esame

L'esame di valutazione consiste in una prova scritta e una orale. Quest'ultima può essere facoltativa a seconda del risultato della prova scritta. La prova scritta può essere sostituita da due prove intermedie svolte a metà e alla fine del corso.

Testi di riferimento

Modulo: ANALISI MATEMATICA II MODULO
Lamberto Lamberti: Istituzioni di Matematica (il libro che sarà messo disponibile online)

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Delle dispense saranno rese disponibili sulla pagina Moodle.

Modulo: ANALISI MATEMATICA II MODULO
Dispense del corso di Lamberi

Dispense del corso di Lamberti Mascia

Il materiale consigliato e' puramente indicativo: ogni testo classico di Analisi Matematica uno puo' essere utilizzato con profitto.

Modulo: ANALISI MATEMATICA I MODULO
C. Canuto, A. Tabacco, Analisi matematica 1, Pearson.

Codice insegnamento AID-f91ead87-d31

FONDAMENTI DI PROGRAMMAZIONE 1° anno · 1° semestre · 9 CFU · INFO-01/A · 1 file

Obiettivi generali Introduzione alla programmazione tramite il linguaggio Python. Obiettivi specifici Introduzione alla programmazione tramite il linguaggio Python. Tipi di dati, variabili, assegnamenti, strutture di…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali Introduzione alla programmazione tramite il linguaggio Python.
Obiettivi specifici Introduzione alla programmazione tramite il linguaggio Python. Tipi di dati, variabili, assegnamenti, strutture di controllo, funzioni, classi, moduli e Input/Output. Strutture dati: vettori, stringhe, liste, tuple e dizionari. Progettazione e sviluppo di programmi tramite programmazione procedurale e orientata agli oggetti. Algoritmi ricorsivi ed iterativi. Librerie di Python per la grafica, per la gestione dei file, per l'elaborazione di testi/html e per l'accesso ad Internet. Debugging e testing di programmi.
Conoscenza e comprensione Comprendere e definire i requisiti di un problema. Decidere come rappresentare le informazioni in input e quali strutture dati usare per le elaborazioni intermedie e per l'output. Definire l'algoritmo di soluzione. Codificare l'algoritmo sotto forma di programma Python. Modularizzare il programma in piccole funzioni/metodi separate. Verificare tramite tests che il programma segua i requisiti.
Applicazione di conoscenza e comprensione Lo studente dovrà realizzare dei compiti di programmazione per casa, scansionati durante il corso, per mettere in pratica e dimostrare le conoscenze apprese. Alla fine del corso la prova d'esame sarà basata su una prova in laboratorio in cui lo studente dovrà risolvere e programmare alcuni esercizi.
Autonomia di giudizio Lo studente alla fine del corso deve essere in grado di scegliere autonomamente come risolvere un problema di programmazione (analisi, implementazione e test).
Abilità comunicative Nella fase di analisi del problema e definizione dei requisiti è importante avere una buona capacità di comprensione del linguaggio.
Capacità di apprendimento successivo Le basi dell'analisi di un problema per comprendere le specifiche e progettare sia le strutture dati necessarie che l'algoritmo più adatto è applicabile ad altri linguaggi di programmazione e potrà aiutare nei successivi corsi di programmazione.

Programma

Introduzione alla programmazione tramite il linguaggio Python.

Tipi di dati, variabili, assegnamenti, strutture di controllo, funzioni, classi, moduli e Input/Output.

Strutture dati: vettori, stringhe, liste, tuple e dizionari.

Progettazione e sviluppo di programmi tramite programmazione procedurale e orientata agli oggetti.

Algoritmi ricorsivi ed iterativi.

Librerie di Python per la grafica, per la gestione dei file, per l'elaborazione di testi/html e per l'accesso ad Internet.

Debugging e testing di programmi.

  • Tipi di dati elementari
  • Strutture di controllo (cicli, condizioni, funzioni)
  • Gestione degli errori
  • Metodologia di analisi top-down
  • Tests e debug
  • Gestione di file
  • Manipolazione di immagini
  • Classi ed oggetti
  • Problemi ricorsivi

Modalità d'esame

La prova di esame consiste in una prova in laboratorio in cui gli studenti devono risolvere alcuni esercizi di programmazione.

Testi di riferimento

Vi consigliamo di seguire uno dei libri:

  • Allen B. Downey Pensare in Python
  • Allen B. Downey Thinking in Python 2nd edition (in inglese)
  • John V. Guttag Introduzione alla programmazione con Python. Dal pensiero computazionale al machine learning

Altri libri molto utili.

  • F. Pellacini, Fondamenti di Programmazione in Python
  • The Python 3 tutorial
  • Josh Cogliati, Tutorial per principianti in Python (python 2.7)

Codice insegnamento P401696909

INGLESE LIVELLO B2 1° anno · 1° semestre · 6 CFU · 0 file

OBIETTIVI GENERALI: Il presente corso mira allo sviluppo della competenza comunicativa di livello B2 nella lingua inglese. Le studentesse e gli studenti saranno in grado di comprendere e produrre testi più complessi in…

Scheda dell'insegnamento

Obiettivi formativi

OBIETTIVI GENERALI: Il presente corso mira allo sviluppo della competenza comunicativa di livello B2 nella lingua inglese. Le studentesse e gli studenti saranno in grado di comprendere e produrre testi più complessi in modo autonomo e appropriato, relativi ad argomenti sia concreti che astratti, in una varietà di contesti. Il corso si propone inoltre di consolidare l’autonomia linguistica e promuovere una partecipazione attiva e consapevole nei processi comunicativi in lingua straniera. OBIETTIVI SPECIFICI: Il corso affronterà le principali strutture grammaticali, lessicali avanzate, necessarie per sviluppare le funzioni comunicative proprie del livello B2. Queste le principali funzioni comunicative che si intendono sviluppare: • esprimere opinioni articolate, motivare scelte e sostenere argomentazioni; • comprendere e partecipare a conversazioni complesse, anche in ambito non familiare; • comprendere e riferire il contenuto di testi scritti e orali complessi.
CONOSCENZE E COMPRENSIONE: Al termine del corso gli studenti avranno acquisito le principali conoscenze grammaticali, il lessico e le funzioni linguistiche, corrispondenti al livello intermedio-avanzato B2 del Quadro Comune Europeo di Riferimento per le Lingue (QCER). APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso, gli studenti saranno in grado di comprendere testi orali e scritti complessi su argomenti sia concreti che astratti, comprese discussioni tecniche legate ai propri ambiti di interesse. Saranno inoltre capaci di produrre testi chiari, ben strutturati e di esprimersi con efficacia su un’ampia gamma di argomenti. CAPACITÀ DI GIUDIZIO: Gli studenti saranno in grado di riconoscere autonomamente possibili errori linguistici, valutando la correttezza e l’efficacia dei propri testi orali e scritti. Attraverso processi di meta cognizione e di riflessione sulla lingua, svilupperanno maggiore consapevolezza sulle proprie competenze linguistiche e sulle possibili aree di miglioramento. CAPACITÀ DI COMUNICAZIONE: Gli studenti saranno in grado di comunicare in modo più fluente e preciso in vari contesti, anche formali. Saranno in grado di interagire con interlocutori diversi, adattando linguaggio e registro. Sapranno esprimere idee complesse in modo chiaro e strutturato, sia oralmente che per iscritto su una più vasta gamma di argomenti. CAPACITÀ DI APPRENDIMENTO: Il corso aiuterà gli studenti a sviluppare strategie di apprendimento indipendente attraverso l’uso di varie risorse. Gli studenti impareranno a organizzare il proprio studio in modo efficace, stabilendo obiettivi linguistici personali e monitorando i propri progressi. Svilupperanno inoltre una maggiore capacità di riflettere sulle somiglianze e differenze tra la lingua inglese e la propria lingua madre.

Codice insegnamento AAF2511

METODI MATEMATICI PER L'INFORMATICA 1° anno · 1° semestre · 6 CFU · INFO-01/A · 1 file

Obiettivi formativi L'insegnamento è indirizzato all'acquisizione delle conoscenze logiche e insiemistiche di base per affrontare lo studio di altri argomenti in matematica ed informatica. Conoscenza e capacità di…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi L'insegnamento è indirizzato all'acquisizione delle conoscenze logiche e insiemistiche di base per affrontare lo studio di altri argomenti in matematica ed informatica.
Conoscenza e capacità di comprensione Alla fine del corso lo studente avrà piena comprensione degli strumenti matematici proposti: teoria degli insiemi, ragionamento induttivo, logica matematica elementare.
Capacità di applicare conoscenza e comprensione: Lo studente acquisirà la capacità di portare avanti un rigoroso, anche se elementare, ragionamento matematico, in particolare per quanto riguarda i principi logici fondamentali e l’uso dell'approccio induttivo in tutte le sue forme.
Autonomia di giudizio Lo studente sarà capace di affrontare criticamente gli argomenti proposti in altri insegnamenti sia teorici che applicati. A questo proposito vengono forniti molti esempi presi da altri insegnamenti.
Abilità comunicative La partecipazione attiva in classe e l'esercizio della formalizzazione servono a stimolare lo studente nell’acquisire il linguaggio proprio della matematica e a trasmettere le conoscenze e le capacità acquisite in maniera appropriata.
Capacità di apprendimento Lo studente sarà in grado di approfondire nello studio personale i temi trattati usando quanto appreso come base.

Programma

Il Programma è articolato in 4 moduli.

MODULO 1 = Combinatoria (disposizioni, combinazioni, doppio conteggio, principio di incusione-esclusione). [15 ore] MODULO 2 = Funzioni (iniettive, suriettive, corrispondenze biunivoche, composizione, inversione). Relazioni (di equivalenza e di ordine, chiusura transitiva). Cardinalità ed equipotenza; insiemi numerabili e non numerabili. [15 ore] MODULO 3 = Il principio di induzione; induzione strutturale. [15 ore] MODULO 4 = Logica proposizionale; risoluzione; completezza. [15 ore].

Testi di riferimento

Dispense fornite dal docente

Codice insegnamento P415881813

METODOLOGIE DI PROGRAMMAZIONE 1° anno · 2° semestre · 9 CFU · INFO-01/A · 0 file

Obiettivi formativi Apprendimento dei concetti della programmazione orientata agli oggetti mediante il linguaggio di programmazione Java. I concetti fondamentali della programmazione orientata agli oggetti: classi e…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi Apprendimento dei concetti della programmazione orientata agli oggetti mediante il linguaggio di programmazione Java. I concetti fondamentali della programmazione orientata agli oggetti: classi e oggetti, incapsulamento, ereditarietà, polimorfismo, binding statico e dinamico, i design pattern. La programmazione funzionale. Gli strumenti e le metodologie di base della progettazione software tramite un linguaggio orientato agli oggetti. Il linguaggio Java. Conoscenza e capacità di comprensione Conoscenza dei costrutti dei linguaggi di programmazione orientata agli oggetti, con particolare riferimento al linguaggio Java. Comprensione di un programma Java. Capacità di scrittura di un programma Java di piccole e medie dimensioni. Capacità di applicare conoscenza e comprensione Essere in grado di applicare le metodologie di base per affrontare la progettazione di sistemi software di grandezza medio-piccola. Saper usare i principali strumenti di sviluppo per realizzare tali sistemi in Java. Autonomia di giudizio Capacità di identificare istruzioni, costrutti o pattern errati o inefficienti così come corretti o efficienti in Java. Abilità comunicative Illustrazione del progetto sviluppato. Capacità di apprendimento: Capacità di apprendere e applicare nuove tecniche di programmazione a partire da quelle apprese durante il corso.

Programma

Syllabus:

  • Introduzione alla programmazione a oggetti
  • Hello, World! La REPL in Java 9
  • Tipi di dato fondamentali
  • Introduzione a JRE, JDK ed Eclipse
  • Conversioni di tipo
  • Concetti fondamentali di programmazione orientata agli oggetti
  • Incapsulamento e inizializzazione di default
  • La classe String
  • Riferimenti a oggetti, heap & stack, metodi statici
  • Strutture di controllo; costrutti iterativi
  • Iterazione; array
  • Costanti ed enumerazioni
  • Ereditarietà, classi e metodi astratti. Le parole chiave this e super nei costruttori
  • Overloading e overriding. Visibilità: public, private, protected e default.
  • Ereditarietà vs. composizione.
  • Polimorfismo. Downcasting e upcasting.
  • La classe Object
  • La parola chiave final.
  • Interfacce. Differenze con le classi astratte. Ereditarietà multipla. Interfacce notevoli.
  • Programmazione funzionale: interfacce funzionali ed espressioni lambda. Riferimenti a metodi.
  • Stream ed espressioni lambda.
  • Classi top-level, annidate statiche e interne
  • Introduzione alla modularizzazione Java 9
  • Eccezioni: try-catch-finally. Politica catch-or-declare. Parole chiave throw e throws. Le classi Throwable, Exception ed Error. Eccezioni checked e unchecked.
  • Collezioni: gerarchia, classi fondamentali e loro metodi. Tre modi per iterare su una collezione. Iterable e Iterator. Interfaccia Comparable. Ordinamento con Comparable e Comparator
  • Collezioni: insiemi e mappe senza ordinamento, con ordinamento natural e con ordinamento di inserimento. Metodi. Classi Arrays e Collections. La classe pila Stack e l'interfaccia coda Queue.
  • Implementazione mediante LinkedList
  • Input/Output
  • Ricorsione in Java. Uso dell'overloading.
  • Uguaglianza in Java.
  • Tipi generici.
  • Design pattern: strategy, observer, factory, decorator, callback, MVC.
  • Reflection. La classe Class.
  • Introduzione al corso
  • Introduzione alla programmazione Orientata agli Oggetti
  • Hello, World!
  • Classi e Oggetti
  • Controllo e Array
  • Oggetti parte 2
  • Ereditarietà
  • Polimorfismo
  • Interfacce
  • Strutture Dati
  • Eccezioni
  • Tipi Generici
  • Ricorsione
  • Stream
  • Design Pattern
  • Model View Controller

Modalità d'esame

L'esame consiste in una prova scritta, una prova orale ed un progetto: Prova scritta: da svolgere a partire dalla sessione estiva. Progetto: le specifiche del progetto saranno rese disponibili durante il corso. Nel caso in cui il progetto permetta lo svolgimento di gruppo, il progetto può essere svolto individualmente o, se il progetto lo consente, da un gruppo di al più 2 studenti. Il superamento del progetto richiede, oltre alla consegna di ciò che è richiesto dalle specifiche, anche una discussione individuale del progetto. Il progetto può essere consegnato 5 giorni prima della data dell'esame SCRITTO che si intende sostenere. Il voto relativo al progetto dipende sia dal materiale consegnato che dalla discussione orale. Se ci sono significativi indizi che portano a credere che il progetto consegnato sia stato copiato in tutto o in parte, il progetto è considerato nullo per tutti gli studenti coinvolti, incluso chi ha permesso di copiare. Prova orale: da svolgere dopo aver passato sia la prova scritta e dopo aver consegnato il progetto. L'obiettivo della prova orale è sia di verificare le conoscenze acquisite nel corso sia di discutere con il docente il progetto presentato. L'esame è considerato superato con successo se si ottiene la sufficienza (ovvero 18/30) sia nella prova scritta che nel progetto. Il voto finale è ottenuto calcolando la media ponderata dei voti ottenuti: 60% prova scritta e 40% progetto. Le due prove possono essere superate in modo indipendente (ovvero in date differenti) e in qualsiasi ordine. Tuttavia la validità dei voti ottenuti nelle due prove termina con l'ultima sessione dell'anno accademico (ovvero entro la sessione di gennaio-febbraio dell'anno seguente o, nel caso di studenti lavoratori/fuori corso ecc., nella sessione di marzo-aprile). La prenotazione su Infostud è necessaria per il sostenimento della prova scritta o per la prova orale (verbalizzazione finale); in caso contrario, la verbalizzazione sarà rimandata all'appello successivo

Testi di riferimento

La pagina del corso include tutto il materiale didattico necessario: video, slide ed eserciziari. Tuttavia, si consiglia di fare riferimento ad almeno un testo tra quelli consigliati [1, 2, 3].

[1] Claudio De Sio Cesari. Manuale di Java 9 - Programmazione orientata agli oggetti con Java standard edition 8 Hoepli, 2018.

[2] Herbert Schildt. Java: The Complete Reference, eleventh edition. Mcgraw-Hill Osborne Media, 2018.

[3] Cay S. Horstmann. Concetti di informatica e fondamenti di Java. Apogeo, 7a edizione, 2019.

Codice insegnamento P756117211

ALGORITMI 2 2° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali Questo corso introduce agli studenti i metodi per la progettazione e l’analisi degli algoritmi. Studieranno varie tecniche algoritmiche di ampia applicazione come la tecnica greedy, il divide et…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali
Questo corso introduce agli studenti i metodi per la progettazione e l’analisi degli algoritmi. Studieranno varie tecniche algoritmiche di ampia applicazione come la tecnica greedy, il divide et impera, la programmazione dinamica e il backtracking. Le varie tecniche verranno illustrate tramite algoritmi classici come l'algoritmo di Dijkstra e l'algoritmo di Bellman Ford per la ricerca dei cammini minimi, l'algoritmo di Kruskal o l’algoritmo di Prim per il problema dell'albero di copertura di costo minimo. Saranno illustrate anche strutture dati non elementari.
Obiettivi specifici
Conoscenza e comprensione Al termine del corso gli studenti conosceranno le metodologie per la progettazione e l'analisi di algoritmi, le strutture dati non banali, i principali algoritmi.
Applicare conoscenza e comprensione Al termine del corso gli studenti avranno acquisito familiarità con le principali strutture dati. Sapranno spiegare gli algoritmi e analizzarne la complessità, evidenziando come le prestazioni dipendano dalla struttura dati utilizzata. Messi di fronte ad un nuovo problema avranno a disposizione diverse tecniche algoritmiche a cui far riferimento alla ricerca di un algoritmo efficiente per risolverlo.
Capacità critiche e di giudizio Lo studente avrà gli strumenti per analizzare la qualità di un algoritmo e delle relative strutture dati, sia dal punto di vista della effettiva risoluzione del problema che da quello dell'efficienza computazionale con la quale il problema viene risolto.
Capacità comunicative Lo studente acquisirà la capacità di esporre in modo chiaro ed organizzato le proprie conoscenze, capacità che verrà verificata sia mediante i quesiti presentati nelle prove scritte che durante la prova orale. Lo studente sarà in grado di esprimere un’idea algoritmica in modo rigoroso ad alto livello, in pseudocodice.
Capacità di apprendimento Le conoscenze acquisite permetteranno allo studente di affrontare problemi combinatorici utilizzando tecniche algoritmiche e strutture dati più avanzate rispetto a quelle viste nel corso di introduzione agli algoritmi.

Codice insegnamento 10620600

ARCHITETTURA DEGLI ELABORATORI 1 2° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi formativi Il corso fornisce le conoscenze fondamentali relative alla rappresentazione dell’informazione, alla progettazione di circuiti digitali combinatori e sequenziali e ai principali modelli di calcolo a…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi
Il corso fornisce le conoscenze fondamentali relative alla rappresentazione dell’informazione, alla progettazione di circuiti digitali combinatori e sequenziali e ai principali modelli di calcolo a livello logico. In particolare, il corso introduce i sistemi di numerazione, le rappresentazioni numeriche, l’algebra di Boole, la sintesi e l’analisi di reti logiche, nonché i principi di progettazione di sistemi sequenziali e unità funzionali elementari.
Conoscenza e capacità di comprensione
Lo studente acquisirà conoscenze di base e avanzate sui sistemi di rappresentazione dell’informazione, sull’aritmetica binaria e sulle principali codifiche numeriche. Comprenderà i fondamenti dell’algebra di Boole, delle funzioni logiche e delle tecniche di progettazione di circuiti combinatori e sequenziali.
Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di progettare, analizzare e semplificare circuiti logici combinatori e sequenziali. Saprà applicare tecniche di minimizzazione di funzioni booleane, progettare reti logiche mediante mappe di Karnaugh, realizzare circuiti aritmetici e analizzare automi a stati finiti.
Autonomia di giudizio
Lo studente svilupperà la capacità di valutare differenti soluzioni progettuali per circuiti digitali, scegliendo tra alternative equivalenti in base a criteri di efficienza, complessità, costo hardware e prestazioni.
Abilità comunicative
Lo studente sarà in grado di descrivere in modo chiaro e rigoroso problemi e soluzioni nell’ambito della progettazione digitale, utilizzando correttamente la terminologia tecnica e rappresentazioni formali (tabelle di verità, espressioni booleane, diagrammi di stato e schemi circuitali).
Capacità di apprendimento
Lo studente svilupperà autonomia nello studio dei sistemi digitali e delle tecniche di progettazione logica, acquisendo la capacità di approfondire in modo indipendente argomenti avanzati come architetture digitali e sistemi sequenziali complessi.

Codice insegnamento 10620601

ARCHITETTURA DEGLI ELABORATORI 2 2° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi formativi L’obiettivo dell'insegnamento di Architettura degli elaboratori è di far comprendere i principi alla base della progettazione dei calcolatori moderni. Il corso tratta la struttura interna del…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi
L’obiettivo dell'insegnamento di Architettura degli elaboratori è di far comprendere i principi alla base della progettazione dei calcolatori moderni. Il corso tratta la struttura interna del microprocessore e le idee che hanno permesso la straordinaria evoluzione della potenza di calcolo negli ultimi 30 anni. Il corso introduce i principi base dell‘organizzazione dei microprocessori, le nozioni di pipelining, caching, branch prediction, virtualizzazione e multi-processing. Infine, il corso tratta la programmazione assembly.
Conoscenze e comprensione
Lo studente acquisirà conoscenza sull’organizzazione dei microprocessori basati su architettura RISC-V e comprenderà i concetti di pipelining, caching, branch prediction, virtualizzazione e multi-processing. Inoltre, lo studente acquisirà conoscenza su come si strutturano i programmi in assembly, incluse le strutture dati e i paradigmi standard di programmazione.
Capacità di applicare conoscenza e comprensione
Le conoscenze sono applicate all'architettura RISC-V, in modo tale da permettere di capire le implicazioni delle scelte di programmazione sulla performance dei programmi su hardware specifico. Questo risultato è ottenuto tramite esercizi di programmazione e di valutazione delle prestazioni.
Autonomia di giudizio
Lo studente sarà in grado di comprendere le problematiche relative alle prestazioni del software su hardware specifico e di valutarne autonomamente le caratteristiche.
Abilità comunicative
Lo studente acquisirà la capacità di descrivere in modo chiaro e rigoroso i sistemi di progettazione e il funzionamento dei microprocessori moderni. Sarà in grado di utilizzare un linguaggio tecnico appropriato per spiegare concetti quali pipelining, caching, branch prediction, virtualizzazione e multi-processing. Lo studente inoltre acquisirà la capacità di presentare e discutere risultati derivanti da esercizi, scrittura di codice assembly e attività pratiche.
Capacità di apprendimento
Al termine del corso, lo studente avrà sviluppato le competenze necessarie per approfondire autonomamente temi avanzati nel campo dell’architettura degli elaboratori, è avrà le basi per la comprensione dei moduli dell'insegnamento di Sistemi Operativi e di tutti i corsi di programmazione, inclusa la programmazione di sistemi paralleli.

Codice insegnamento 10620609

BASI DI DATI 2° anno · 1° semestre · 9 CFU · INFO-01/A · 0 file

Obiettivi formativi: Esporre gli studenti a solide metodologie di progettazione e realizzazione di basi di dati in terza forma normale, e delle relative applicazioni Esporre gli studenti a metodologie formali e scalabili…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi: Esporre gli studenti a solide metodologie di progettazione e realizzazione di basi di dati in terza forma normale, e delle relative applicazioni Esporre gli studenti a metodologie formali e scalabili per l'individuazione dei vincoli, l'analisi concettuale e la traduzione nel modello logico relazionale che portino alla progettazione e realizzazione di di basi di dati in forma normale e a tecnologie standard per la loro interrogazione e per inserire le interrogazioni in applicazioni software.
Conoscenze e capacità di comprensione: Gli studenti acquisiranno conoscenze metodologiche fondamentali per la progettazione di basi di dati non banali (in particolare per le fasi di: a) raccolta dei requisiti; b) analisi concettuale dei dati e delle funzionalità; c) progettazione della base dati e delle funzionalità; d) verifica della normalità ed eventuale correzione delle anomalie) e per la loro realizzazione (utilizzo di DBMS e di linguaggi standard di definizione, interrogazione e manipolazione dei dati).
Capacità di applicare conoscenza e comprensione: Gli studenti saranno in grado di applicare in modo efficace le conoscenze indicate al punto precedente in progetti reali di applicazioni per basi di dati non banali.
Autonomia di giudizio: Gli studenti saranno in grado di prendere autonomamente decisioni razionali in tutte le fasi del processo di progettazione di basi di dati e relative applicazioni, e di valutare la correttezza di uno schema di relazione rispetto alla terza forma normale.
Abilità comunicative: Gli studenti saranno in grado di interagire in modo proficuo con i committenti (per quanto concerne la raccolta dei requisiti) e con altri analisi e progettisti (per quanto concerne le attività di analisi e progettazione di sistemi software non banali).
Capacità di apprendimento: Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, manualistica tecnica nell'ambito della progettazione di applicazioni per basi di dati.

Codice insegnamento P813876272

FONDAMENTI DI INTERNET 2° anno · 2° semestre · 9 CFU · INFO-01/A · 0 file

Obiettivi formativi Il corso ha l’obiettivo di fornire agli studenti le conoscenze fondamentali sul funzionamento di Internet e delle reti di calcolatori, con particolare attenzione allo stack protocollare TCP/IP. Il…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi
Il corso ha l’obiettivo di fornire agli studenti le conoscenze fondamentali sul funzionamento di Internet e delle reti di calcolatori, con particolare attenzione allo stack protocollare TCP/IP. Il corso introduce i principali protocolli e meccanismi che permettono la comunicazione tra host, l’instradamento dei pacchetti, il controllo dell’affidabilità e della congestione, la risoluzione dei nomi e l’accesso al mezzo nelle reti locali e wireless. Verranno inoltre presentati protocolli moderni per il trasporto dei dati, tra cui QUIC, evidenziandone il ruolo nell’evoluzione dell’architettura di Internet. Il corso prevede anche attività pratiche finalizzate alla configurazione, osservazione e analisi del comportamento di reti e protocolli.
Conoscenza e capacità di comprensione
Al termine del corso, lo studente avrà acquisito una conoscenza solida dei principi alla base delle reti di calcolatori e dell’architettura di Internet. Sarà in grado di comprendere il ruolo dei diversi livelli dello stack TCP/IP, dai protocolli di livello applicativo fino ai meccanismi di trasporto, rete e accesso al mezzo. Lo studente comprenderà il funzionamento di protocolli fondamentali quali IP, TCP, UDP, DNS e dei principali meccanismi di instradamento, nonché le problematiche relative all’affidabilità, al controllo di congestione, alla frammentazione, all’indirizzamento e alla condivisione del canale. Inoltre, acquisirà conoscenze di base sulle reti wireless e sul protocollo CSMA/CA, oltre a comprendere le motivazioni e le caratteristiche principali di protocolli di trasporto moderni come QUIC.
Capacità di applicare conoscenza e comprensione
Lo studente sarà in grado di analizzare il funzionamento di una rete TCP/IP, identificando il ruolo dei diversi protocolli coinvolti nella comunicazione end-to-end. Saprà interpretare scenari di comunicazione, calcolare grandezze fondamentali quali ritardi, throughput, utilizzo del canale e dimensioni delle finestre di trasmissione, e valutare il comportamento di protocolli di trasporto e di rete in presenza di congestione, perdite o vincoli di banda. Sarà inoltre capace di configurare semplici scenari di rete, osservare lo scambio di pacchetti e interpretare i risultati ottenuti attraverso strumenti di analisi e attività pratiche di laboratorio.
Autonomia di giudizio
Il corso mira a sviluppare la capacità di valutare criticamente il comportamento dei protocolli di rete in diversi contesti applicativi. Lo studente sarà in grado di discutere vantaggi e limiti delle principali soluzioni architetturali adottate in Internet, considerando aspetti quali scalabilità, affidabilità, efficienza, ritardo, sicurezza, mobilità e interoperabilità. Sarà inoltre in grado di confrontare protocolli tradizionali e moderni, come TCP e QUIC, comprendendo le ragioni progettuali alla base della loro evoluzione e valutando l’impatto delle diverse scelte protocollari sulle prestazioni complessive della rete.
Abilità comunicative
Lo studente acquisirà la capacità di descrivere in modo chiaro e rigoroso il funzionamento dei principali protocolli di Internet e dei meccanismi che regolano la comunicazione tra dispositivi. Sarà in grado di utilizzare un linguaggio tecnico appropriato per spiegare concetti quali incapsulamento, indirizzamento, instradamento, controllo di flusso, controllo di congestione, risoluzione dei nomi e accesso al mezzo. Il corso favorisce inoltre la capacità di presentare e discutere risultati derivanti da esercizi, analisi di protocolli e attività pratiche.
Capacità di apprendimento
Al termine del corso, lo studente avrà sviluppato le competenze necessarie per approfondire autonomamente temi avanzati nel campo delle reti di calcolatori e dell’evoluzione di Internet. Sarà in grado di leggere documentazione tecnica, comprendere specifiche protocollari, interpretare risultati sperimentali e aggiornare le proprie conoscenze rispetto allo sviluppo di nuovi protocolli, architetture e tecnologie di rete.

Codice insegnamento 10620602

PROBABILITA' E STATISTICA 2° anno · 2° semestre · 9 CFU · MATH-03/B · 0 file

Obiettivi formativi Il corso si propone di fornire agli studenti le conoscenze di base della teoria della probabilità, con particolare riferimento agli spazi finiti e numerabili, alle variabili aleatorie discrete e…

Scheda dell'insegnamento

Scheda ripresa da un altro corso di laurea dello stesso ateneo.

Obiettivi formativi

Obiettivi formativi Il corso si propone di fornire agli studenti le conoscenze di base della teoria della probabilità, con particolare riferimento agli spazi finiti e numerabili, alle variabili aleatorie discrete e continue, ai vettori aleatori, ai concetti di indipendenza e condizionamento e ai principali risultati teorici della disciplina.
Conoscenza e capacità di comprensione Al termine del corso lo studente avrà acquisito le nozioni e i risultati fondamentali relativi alla teoria della probabilità su spazi finiti e numerabili, al concetto di vettore aleatorio discreto e al concetto di variabile aleatoria continua.
Capacità di applicare conoscenza e comprensione Al termine del corso lo studente sarà in grado di risolvere semplici problemi di probabilità discreta, problemi riguardanti vettori aleatori discreti e variabili aleatorie continue. Sarà inoltre in grado di comprendere il significato e le implicazioni dei concetti di indipendenza e condizionamento nei modelli discreti e di interpretare alcuni teoremi limite fondamentali, quali la legge dei grandi numeri.
Autonomia di giudizio Lo studente acquisirà gli strumenti di base per analizzare criticamente le relazioni tra gli argomenti trattati e altri ambiti della matematica, in particolare l'analisi matematica e la combinatoria.
Abilità comunicative Lo studente sarà in grado di esporre con proprietà di linguaggio i contenuti del corso durante la prova orale e di affrontare eventuali quesiti teorici presenti nella prova scritta.
Capacità di apprendimento Le conoscenze acquisite costituiranno la base per lo studio autonomo o guidato di argomenti più avanzati della teoria della probabilità e della statistica matematica.

Programma

Spazi campionari, operazioni insiemistiche, assiomi della probabilità, spazi campionari equiprobabili. Esercizi. 8 ore.

Analisi combinatoria: principio fondamentale del calcolo combinatorio, disposizioni, disposizioni semplici, permutazioni, coefficiente binomiale, coefficienti multinomiali, campionamento da urne con e senza reimmissione, urne con palline di uno o due tipi, problemi con permutazioni casuali (“problema dei cappelli”). Esercizi. 8 ore.

Probabilità condizionata, regola del prodotto, probabilità totale, teorema di Bayes. Esercizi. 8 ore.

Indipendenza tra eventi, prove di Bernoulli, successioni di eventi crescenti e decrescenti, probabilità di avere tutti successi, probabilità che la prima prova abbia successo. Esercizi. 8 ore.

Variabili casuali, funzione di distribuzione, variabili casuali discrete, densità discreta, relazione tra densità discreta e funzione di distribuzione, aspettazione, variabili casuali notevoli: Binomiale, Poisson, Poisson come limite di Binomiali, Ipergeometrica. Esercizi. 8 ore.

Somma di valori attesi. Variabili casuali continue. Valore atteso e varianza. Variabili casuali continue notevoli: uniforme, gaussiana, esponenziale. Esercizi. 8 ore.

Leggi congiunte di variabili casuali, aspettazione di funzioni di più variabili casuali, variabili casuali indipendenti, aspettazione del prodotto di variabili casuali indipendenti, covarianza e sue proprietà. Somma di variabili casuali indipendenti: casi notevoli e convoluzione. Densità e distribuzione condizionata: definizione ed esempio. Valore atteso condizionato e calcolo dei valori attesi tramite il condizionamento. Varianza condizionata e calcolo della varianza tramite varianza condizionata. Esercizi. 12 ore.

Disuguaglianze di Markov e di Chebyshev ed esempi. Legge dei grandi numeri, teorema del limite centrale. Esercizi. 7 ore.

Statistica descrittiva: istogrammi, misure di posizione (media campionaria, moda, mediana campionaria), varianza campionaria, dati bivariati, coefficiente di correlazione, differenza tra correlazione e causalità.

Statistica inferenziale: stima di massima verosimiglianza del valore atteso nel caso di dati i.i.d. Bernoulli, Gaussiani e Poisson; intervalli di confidenza per la media nel caso di dati i.i.d. Gaussiani con varianza nota e incognita. Esercizi. 11 ore.

Esercitazioni di riepilogo e test di autovalutazione. 7 ore.

  • Spazi campionari, operazioni insiemistiche, assiomi della probabilità, spazi equiprobabili.
  • Testi di riferimento: Ross, Calcolo delle probabilità, Apogeo (ed. italiana).
  • nalisi combinatoria: disposizioni, permutazioni, coefficienti binomiali e multinomiali, campionamento da urne.
  • Testi di riferimento: Idem
  • Indipendenza tra eventi, prove di Bernoulli, probabilità di successo.
  • Testi di riferimento: Idem
  • Variabili casuali discrete e continue, valore atteso, varianza, distribuzioni notevoli (Binomiale, Poisson, Normale, Esponenziale, Uniforme).
  • Testi di riferimento: Idem
  • Covarianza, indipendenza, somma di variabili casuali, convoluzione
  • Testi di riferimento: Idem
  • Disuguaglianze di Markov e Chebyshev, legge dei grandi numeri, teorema del limite centrale.
  • Testi di riferimento: Idem
  • Statistica descrittiva e inferenziale: indici di posizione e variabilità, correlazione, stima di massima verosimiglianza, intervalli di confidenza.
  • Testi di riferimento: Idem

Testi di riferimento

Ross, Sheldon M.

Calcolo delle probabilità.

Edizione italiana a cura di Carlo Mariconda e Marco Ferrante.

Milano: Apogeo, 2005.

Collana: Idee & Strumenti.

ISBN 978-88-503-2257-3.

Traduzione italiana di A First Course in Probability, 7ª edizione, Pearson Prentice Hall.

  • H.-O. Georgii: Stochastics, introduction to probability and statistics.
  • Calcolo delle Probabilità (Sheldon Ross)
  • Probabilità e Statistica per l'ingegnerie e le scienze (Sheldon Ross)
  • Probabilità Un primo corso attraverso esempi, modelli e applicazioni (Quentin Berger , Francesco Caravenna , Paolo Dai Pra)

Codice insegnamento 1031978

PROGRAMMAZIONE AVANZATA 2° anno · 2° semestre · 9 CFU · INFO-01/A · 0 file

Obiettivi formativi: Il corso ha come obiettivi i concetti, la struttura, e i meccanismi dei sistemi operativi e di alcuni linguaggi di programmazione avanzata. Verranno trattate caratteristiche fondamentali, presenti…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi:
Il corso ha come obiettivi i concetti, la struttura, e i meccanismi dei sistemi operativi e di alcuni linguaggi di programmazione avanzata. Verranno trattate caratteristiche fondamentali, presenti fin dai sistemi più tradizionali, ma anche peculiarità dei sistemi moderni che nascono come conseguenza dell’evoluzione ricorrente della tecnologia. Verranno presentati i due piu’ usati linguaggi per la programmazione di sistema: C e Rust. Infine, verrà trattata l'interfaccia di programmazione fra sviluppatore software e kernel per l’accesso alle risorse del sistema operativo Linux, usando i linguaggi C e Rust.
Conoscenza e capacità di comprensione:
Capire in modo profondo come i sistemi operativi danno supporto all’esecuzione dei programmi degli utenti e gestiscono le periferiche hardware di un computer. Metodi e tecniche fondamentali per la rappresentazione dei processi in memoria e la gestione efficiente di multiprogrammazione (molteplici processi eseguiti contemporaneamente in un sistema con risorse limitate). Conoscenza del funzionamento interno del sistema operativo Linux. Conoscenza del funzionamento della shell Bash. Fondamenti dei linguaggi C e Rust. Conoscenza delle principali system call di Linux.
Capacità di applicare conoscenza e comprensione:
Progettare programmi a livello utente e di sistema in modo efficiente e sicuro. Saper creare script in Bash in grado di risolvere problemi pratici. Saper scrivere programmi in C e Rust che sfruttano le system call di Linux per ottimizzare l'uso delle risorse.
Autonomia di giudizio:
Essere in grado di predire l’uso delle risorse richieste da un programma, di scoprire una possibile situazione di stallo in un sistema multiprogrammato, garantire la mutua esclusione tra processi e l’accesso protetto a zone di memoria o risorse sensibili. Saper valutare la soluzione più appropriata per ottenere un determinato risultato, usando o singoli comandi shell, o uno script Bash, o un programma C o Rust basato su system call di Linux.
Abilità comunicative:
Saper comunicare in modo chiaro e preciso le caratteristiche dei sistemi operativi e i loro meccanismi di supporto software/hardware. Essere in grado di comunicare e documentare script Bash e programmi C e Rust basati su system call di Linux.
Capacità di apprendimento:
Saper sfruttare la conoscenza acquisita nella progettazione di sistemi e di programmi utente. Essere in grado di usare questa conoscenza nell’apprendimento di proprietà di sistemi più complessi come quelli distribuiti e cloud. Essere in grado di usare i concetti appresi in corsi avanzati da sistemista aziendale, o in un eventuale corso avanzato che richieda interazione con Linux, come ad es. programmazione di sistema, cloud computing, sistemi distribuiti, e cibersicurezza.

Codice insegnamento 10620608

SISTEMI OPERATIVI 2° anno · 1° semestre · 9 CFU · INFO-01/A · 0 file

Obiettivi formativi Il corso si propone di introdurre i sistemi operativi come componente essenziale di ogni sistema di calcolo e come esempio paradigmatico del concetto di astrazione, tema trasversale all'intero…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi Il corso si propone di introdurre i sistemi operativi come componente essenziale di ogni sistema di calcolo e come esempio paradigmatico del concetto di astrazione, tema trasversale all'intero percorso di studi in Informatica. L'obiettivo principale è fornire allo studente una visione organica di come il processo di virtualizzazione delle risorse fisiche consenta di gestire la complessità dell'hardware, offrendo un ambiente semplificato per lo sviluppo di software applicativo e garantendo un elevato livello di usabilità per l'utente finale. Al termine del corso, lo studente dovrà possedere le basi metodologiche per comprendere e analizzare le problematiche relative alla progettazione dei software complessi. Nello specifico, acquisirà competenze su: - Le funzionalità primarie dei sistemi operativi general purpose (gestione CPU, memoria e I/O). - I modelli di astrazione per dispositivi mobili (tablet/smartphone). - L'analisi dei concetti in modo indipendente dallo specifico sistema operativo, con esemplificazioni basate su sistemi reali (UNIX/Linux, Windows, Mac, Android, iOS).
Conoscenza e capacità di comprensione Comprendere i principi teorici e le architetture dei sistemi operativi moderni. Conoscere i meccanismi di virtualizzazione della CPU e della memoria, la gestione dei processi, le gerarchie di memoria, le problematiche della concorrenza e dell'accesso ai dispositivi di I/O. Acquisire una visione d'insieme sulle peculiarità dei sistemi operativi mobili.
Capacità di applicare conoscenza e comprensione Saper applicare i concetti di astrazione per analizzare come un software interagisce con le risorse fisiche del sistema. Essere in grado di modellare e risolvere problemi di gestione delle risorse (es. scheduling e traduzione degli indirizzi) in scenari d'uso reali, indipendentemente dallo specifico sistema operativo.
Autonomia di giudizio Capacità di valutare criticamente i trade-off tra diverse politiche di gestione delle risorse (es. efficienza vs. equità nello scheduling, o velocità vs. frammentazione nella memoria) in contesti tecnologici differenti.
Abilità comunicative Saper esporre in modo chiaro e con rigore terminologico i concetti fondamentali dei sistemi operativi, sapendo descrivere i diversi livelli di astrazione che mediano il rapporto tra hardware e software.
Capacità di apprendimento Acquisire un solido bagaglio concettuale che permetta di affrontare in autonomia lo studio di tecnologie emergenti o di sistemi più complessi (come sistemi distribuiti e cloud).

Codice insegnamento P329031489

A SCELTA DELLO STUDENTE 3° anno · 2° semestre · 12 CFU · 0 file

Come previsto dal Regolamento Didattico di Ateneo, gli studenti e le studentesse possono acquisire i 12 CFU a scelta selezionandoli tra tutti gli insegnamenti attivati nell'Ateneo, purché coerenti con il progetto…

Scheda dell'insegnamento

Obiettivi formativi

Come previsto dal Regolamento Didattico di Ateneo, gli studenti e le studentesse possono acquisire i 12 CFU a scelta selezionandoli tra tutti gli insegnamenti attivati nell'Ateneo, purché coerenti con il progetto formativo del Corso di Laurea in Informatica.
Tutti gli insegnamenti inclusi nel gruppo delle attività formative opzionali sono considerati coerenti con il progetto formativo del Corso di Laurea in Informatica e possono pertanto essere inseriti nel piano di studi per l'acquisizione dei 12 CFU a scelta.

Codice insegnamento AID-34c1bc31-d1a

AUTOMI CALCOLABILITA' E COMPLESSITA' 3° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Durante il corso saranno introdotti i più importanti risultati dell’Informatica teorica: a partire dai fondamentali risultati in teoria della calcolabilità degli anni trenta, passando per quelli in…

Scheda dell'insegnamento

Scheda ripresa da un altro corso di laurea dello stesso ateneo.

Obiettivi formativi

Obiettivi generali: Durante il corso saranno introdotti i più importanti risultati dell’Informatica teorica: a partire dai fondamentali risultati in teoria della calcolabilità degli anni trenta, passando per quelli in teoria degli automi degli anni cinquanta per arrivare al problema aperto P contenuto o uguale a NP, esplicitamente sollevato negli anni settanta.
Obiettivi specifici: Gli studenti capiranno che ci sono diversi modelli di computazione e cosa ne determina il potere computazionale. Gli studenti apprenderanno concetti astratti come classi di linguaggi, macchine universali, riducibilità e sapranno che alcuni problemi non possono essere risolti con un calcolatore e che altri sono computazionalmente difficili da risolvere o addirittura così difficili da poter essere considerati non risolvibili. Faremo vedere come alcuni di questi risultati sono utilizzati oggi.
Conoscenza e comprensione: Al termine del corso gli studenti conosceranno i metodi e risultati di base della della teoria degli automi, della calcolabilità e della complessità e sapranno applicarli per individuare la complessità di problemi in diversi campi. In particolare sapranno: dimostrare l’equivalenza tra le diverse caratterizzazioni dei linguaggi regolari dimostrare l’equivalenza tra le diverse caratterizzazioni dei linguaggi context-free spiegare il concetto di non determinismo giustificare l'esistenza di problemi privi di soluzioni algoritmiche o intrattabili.
Applicazione di conoscenza e comprensione: Gli studenti impareranno: come costruire automi finiti (deterministici e non) da una specifica (formale o informale) come costruire automi a pila (deterministici e non) da una specifica (formale o informale) a usare la riducibilità tra problemi per dimostrarne la decidibilità o l'indecidibilità a usare la riducibilità polinomiale per provare la NP-hardness di un problema
Autonomia di giudizio: Capire il giusto livello di astrazione utile per risolvere un problema, scegliere il modello computazionale più conveniente in un determinato contesto applicativo.
Abilità comunicative: descrivere un linguaggio formale, a parole o attraverso uno degli strumenti offerti di descrizione finita, descrivere problemi indecidibili, intrattabili o trattabili, spiegare il significato e la rilevanza delle classi P ed NP nonché del problema “P=NP?"
Capacità di apprendimento: Lo studente sarà in grado di imparare altri modelli computazionali, sia completamente diversi da quelli studiati durante il corso, sia variazioni di questi. Egli sarà capace di capire nuove prove di NP-completezza o più in generale prove di completezza per una qualunque classe di complessità

Programma

Automi e Linguaggi: Linguaggi regolari, automi a stati finiti e grammatiche regolari. Linguaggi context-free, grammatiche context-free e automi a pila; gerarchia di Chomsky.

Teoria della Calcolabità: Macchine di Turing. Tesi di Church-Turing. Problemi indecidibili: il problema della fermata. La riduzione tra problemi: uno strumento per dimostrarne l'indecibilità o la decidibilità. Esempi di problemi decidibili e indecidibili.

Teoria della Complessità: Complessità di tempo e spazio per le macchine di Turing.Classi di complessità. Problemi trattabili e problemi non provatamente intrattabili: le classi P e NP. Riduzioni polinomiali e NP-completezza. Teorema di Cook-Levin e altri problemi NP-completi.

  • Linguaggi formali
  • Testi di riferimento: Sipser (capitoli 0, 1, 2, 3) + Hopcrpft&Ullman (capitolo 9)
  • Computabilità
  • Testi di riferimento: Sipser (capitoli 4, 5)
  • Complessità
  • Testi di riferimento: Rivest (capitoli 34, 35) + Sipser (capitoli 7, 8)

Modalità d'esame

Due modalità d'esame:

1. Breve scritto di 45 minuti sui primi due capitoli del testo di Sipser, con esercizi su linguaggi formali (automi, espressioni regolari, linguaggi, uso dei pumping lemma per provare che linguaggi non sono regolari/CF); lo scritto non produce un voto, ma solo all'accesso all'orale, che è il vero esame.

2. Stesso scritto di sopra, a cui seguiranno, con un'ulteriore mezz'ora di tempo a disposizione, due domande di teoria, tratte dagli argomenti che doveste sapere all'orale. IMPORTANTE: questa modalità di esame (solo scritto e senza orale) vi potrà far prendere al massimo 20.

Testi di riferimento

M. Sipser, Introduction to the Theory of Computation, III edition. Engage Learning, 2012.

E' disponibile la traduzione in italiano: Introduzione alla teoria della computazione. Apogeo Edizioni.

Alcuni argomenti saranno tratti dal capitolo 9 di:

J.E. Hopcroft, J.D. Ullman: Introduction to Automata Theory, Languages and Computation. Addison Wesley, 1979.

Codice insegnamento P651832937

FISICA 3° anno · 1° semestre · 6 CFU · PHYS-03/A · 0 file
Archivio Globale

Obiettivi formativi L'insegnamento ha l'obiettivo di introdurre lo studente ai principi fondamentali della fisica classica e al metodo scientifico come strumento di analisi quantitativa dei fenomeni naturali.…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi L'insegnamento ha l'obiettivo di introdurre lo studente ai principi fondamentali della fisica classica e al metodo scientifico come strumento di analisi quantitativa dei fenomeni naturali. Attraverso lo studio di osservazioni sperimentali, della costruzione di modelli matematici e delle principali leggi fisiche, il corso sviluppa la capacità di descrivere e interpretare i fenomeni fisici, evidenziando il ruolo delle ipotesi, delle approssimazioni e dei limiti di validità dei modelli. L'insegnamento contribuisce inoltre alla formazione delle capacità di ragionamento logico e di problem solving, competenze fondamentali nell'ambito delle scienze dell'informazione.
Conoscenza e capacità di comprensione Al termine dell'insegnamento lo studente conosce i principi fondamentali della meccanica e degli altri argomenti trattati nel corso, comprendendone il significato fisico e la formulazione matematica. Comprende il processo che conduce dalle osservazioni sperimentali alla costruzione di modelli quantitativi e conosce il campo di validità delle principali leggi fisiche utilizzate per descrivere i fenomeni naturali.
Capacità di applicare conoscenza e comprensione Lo studente è in grado di utilizzare le conoscenze acquisite per analizzare semplici sistemi fisici, scegliere il modello più appropriato e risolvere problemi quantitativi mediante strumenti matematici adeguati. Sa interpretare i risultati ottenuti, verificarne la coerenza fisica e riconoscere i limiti delle approssimazioni adottate.
Autonomia di giudizio Lo studente sviluppa la capacità di valutare criticamente i modelli fisici impiegati nell'analisi dei fenomeni, distinguendo tra osservazioni sperimentali, ipotesi e conseguenze teoriche. È in grado di formulare valutazioni motivate sulla validità dei risultati ottenuti e sulla correttezza del procedimento seguito.
Abilità comunicative Lo studente acquisisce la capacità di esporre con linguaggio scientifico appropriato i principi fisici studiati, descrivere i modelli utilizzati e presentare in modo chiaro e rigoroso il procedimento seguito nella risoluzione dei problemi, sia in forma orale sia scritta.
Capacità di apprendimento Lo studente sviluppa un approccio metodologico basato sul metodo scientifico, sull'analisi quantitativa e sulla modellizzazione matematica dei fenomeni. Tali competenze costituiscono una base utile per affrontare con autonomia insegnamenti successivi dell'area fisico-matematica e informatica e, più in generale, problemi complessi che richiedano capacità di analisi, modellizzazione e ragionamento quantitativo.

Codice insegnamento 97597

FUNCTIONAL PROGRAMMING 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali Apprendimento del paradigma di programmazione funzionale e di aspetti avanzati di programmazione imperativa. Studio comparato di diversi paradigmi di programmazione (imperativo, funzionale e a oggetti)…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali Apprendimento del paradigma di programmazione funzionale e di aspetti avanzati di programmazione imperativa.
Studio comparato di diversi paradigmi di programmazione (imperativo, funzionale e a oggetti) per sviluppare un senso critico nell'apprendimento e nella valutazione dei linguaggi di programmazione.
Obiettivi specifici Conoscenza e Comprensione Aspetti avanzati di programmazione C (in particolare uso di puntatori espliciti e (de)allocazione dinamica della memoria, valutazione della complessità concreta dei programmi).
Aspetti base e avanzati di programmazione funzionale in Haskell (in particolare tipi polimorfi, funzionali di ordine superiore, laziness).
Applicare Conoscenza e Comprensione Applicare le metodologie specifiche di diversi paradigmi di programmazione alla soluzione dei problemi.
Capacità Critiche e di Giudizio Lo studio comparato dei paradigmi di programmazione permette di valutare, ad esempio, quale sia il linguaggio più adatto per risolvere un certo problema o sviluppare un progetto software.
Le tecniche di ragionamento sui programmi possono guidare sia il testing sia lo sviluppo dei programmi.
Inoltre, lo studente dovrebbe acquisire gli strumenti necessari per valutare criticamente altri linguaggi di programmazione.
Capacità Comunicative Lo studente è stimolato, soprattutto nella presentazione da fare a fine corso, a esporre concisamente ma in modo preciso le idee necessarie allo sviluppo di una brillante soluzione a un problema computazionale e anche l'analisi di un programma.
Capacità di Apprendimento Lo studio comparato di diversi paradigmi di programmazione stimola la capacità di apprendimento di altri linguaggi di programmazione, fornendo allo studente gli strumenti per distinguere gli aspetti caratterizzanti di un linguaggio di programmazione (logica del core language, come ad esempio passaggio di parametri, sistema dei tipi, semantica dei comandi) da quelli più strettamente tecnici (come imparare a usare librerie e strumenti di sviluppo, quali IDE e debugger).

Codice insegnamento 10620673

INGEGNERIA DEL SOFTWARE 3° anno · 1° semestre · 9 CFU · INFO-01/A · 0 file

Obiettivi generali: Il corso illustra i fondamenti delle metodologie e degli strumenti per la gestione dei processi software. Particolare attenzione viene dedicata alle metodologie di analisi e modellazione dei requisiti…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali: Il corso illustra i fondamenti delle metodologie e degli strumenti per la gestione dei processi software. Particolare attenzione viene dedicata alle metodologie di analisi e modellazione dei requisiti e delle architetture software.
Obiettivi specifici: Introduzione agli approcci all'ingegneria del software e al ciclo di vita del software, approfondimento sulle attività di specifica, analisi, progetto e test di sistemi software, tecniche per la gestione dei processi, con particolare riferimento alla gestione della qualità, dei rischi e all'analisi dei costi.
Conoscenze e comprensione: Alla fine del corso lo studente avrà acquisito conoscenze relative ai principali modelli di ciclo di vita del software, alle tecniche di descrizione delle diverse componenti di un sistema software, alla definizione e gestione dei processi software. Infine, avranno anche acquisito familiarità con la letteratura scientifica nel campo.
Applicarei conoscenza e comprensione: Alla fine del corso, gli studenti saranno in grado di lavorare in modo produttivo alle attività di analisi, progettazione, documentazione e gestione di progetti software di medie dimensioni. Avranno imparato a comprendere e produrre documentazione basata su UML, relativamente ai principali tipi di diagrammi. Infine saranno in grado di produrre modelli eseguibili per i requisiti e l'architettura di un sistema software.
Capacità di giudizio: Gli studenti svilupperanno le capacità di analisi necessarie per valutare diverse alternative durante il processo di sviluppo software, con particolare riferimento alla valutazione delle scelte architetturali e dei rischi di progetto.
Capacità di comunicazione: Gli studenti impareranno a documentare le loro scelte, anche attraverso l'uso di strumenti di generazione della documentazione, in particolare sfruttando notazioni diagrammatiche. Avranno anche acquisito la capacità di preparare presentazioni relative ad argomenti scientifici.
Capacità di apprendimento successivo: La conoscenza degli aspetti di rigore formale alla base della disciplina dell'ingegneria del software permetterà agli studenti di acquisire rapidamente confidenza con tecniche, oltre a quelle considerate nel corso, basate su principi generali.

Codice insegnamento P881995978

INTELLIGENT SYSTEM DESIGN METHODS 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi formativi Obiettivi generali: Il corso si propone di fornire agli studenti gli strumenti di base per la modellazione, analisi e progettazione di sistemi intelligenti. Obiettivi specifici: Il corso si propone di…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi
Obiettivi generali: Il corso si propone di fornire agli studenti gli strumenti di base per la modellazione, analisi e progettazione di sistemi intelligenti.
Obiettivi specifici: Il corso si propone di mettere gli studenti in grado di comprendere ed usare un'ampia gamma di tecniche di modellazione, progettazione, verifica e validazione per sistemi intelligenti.
Conoscenza e comprensione: Introduzione ad ampio spettro dei principi fondamentali della modellazione, analisi e progettazione dei sistemi intelligenti modellati come sistemi dinamici sia tempo continuo che tempo discreto.
Applicazione di conoscenza e comprensione: Saper applicare il portafoglio di tecniche e gli approcci illustrati per la modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Autonomia di giudizio: Gli studenti saranno in grado di prendere autonomamente decisioni razionali sulle tecniche da impiegare nella modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Abilità comunicative: Gli studenti saranno in grado di interagire in modo proficuo con esperti di dominio su un'ampia gamma di argomenti relativi alla modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Capacità di apprendimento: Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, la letteratura scientifica di rilievo.

Codice insegnamento 10620674

INTELLIGENZA ARTIFICIALE 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Il corso si propone di esporre gli studenti ai principi e fondamenti di un'ampia panoramica dell'Intelligenza Artificiale (IA). Obiettivi specifici: Il corso si propone di mettere gli studenti in…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali: Il corso si propone di esporre gli studenti ai principi e fondamenti di un'ampia panoramica dell'Intelligenza Artificiale (IA).
Obiettivi specifici: Il corso si propone di mettere gli studenti in grado di comprendere la teoria di un'ampia gamma di tecniche di IA, e di padroneggiarle nella pratica della progettazione di sistemi software intelligenti.
Conoscenza e comprensione: Introduzione ad ampio spettro dei principi fondamentali e delle diverse branche dell'Intelligenza Artificiale (IA) e conoscenze su risoluzione di problemi mediante ricerca, inferenza logica, pianificazione, ragionamento, apprendimento.
Applicare conoscenza e comprensione: Saper applicare il portafoglio di tecniche e gli approcci illustrati per la progettazione e realizzazione di sistemi software intelligenti.
Capacità critiche e di giudizio: Gli studenti saranno in grado di prendere autonomamente decisioni razionali sulle tecniche di IA migliori da impiegare nella progettazione di sistemi software intelligenti.
Capacità comunicative: Gli studenti saranno in grado di interagire in modo proficuo con altri ricercatori in IA su un'ampia gamma di argomenti.
Capacità di apprendimento: Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, la letteratura scientifica sull'IA.

Codice insegnamento P363926227

INTERAZIONE UOMO MACCHINA 3° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Al termine del corso gli studenti conoscono le teorie, i modelli e le regole che guidano il progetto, lo sviluppo e la validazione di interfacce e sistemi interattivi usabili. Gli studenti che…

Scheda dell'insegnamento

Scheda ripresa da un altro corso di laurea dello stesso ateneo.

Obiettivi formativi

Obiettivi generali: Al termine del corso gli studenti conoscono le teorie, i modelli e le regole che guidano il progetto, lo sviluppo e la validazione di interfacce e sistemi interattivi usabili. Gli studenti che superano l’esame sono in grado di progettare sistemi interattivi seguendo i criteri dell’interazione uomo-computer, analizzando il ruolo dell’utente, gli scenari e i compiti principali, e tenendo in considerazione i vincoli implementativi mediante cicli di progetto e sviluppo molto brevi.
Conoscenza e comprensione: Al termine del corso, gli studenti conoscono le teorie, i modelli e le regole che guidano il progetto di interfacce e di sistemi interattivi usabili. Conoscono inoltre i principi della progettazione Agile centrata sull'utente.
Applicare conoscenza e comprensione: Gli studenti applicano le conoscenze acquisite nella progettazione di un'interfaccia in un lavoro di gruppo per l'esame.
Capacità critiche e di giudizio: Gli studenti, anche attraverso esercitazioni pratiche, acquisiscono competenze nella valutazione e validazione di interfacce uomo-computer e sviluppano capacità di giudizio sull'usabilità di un'interfaccia e, di conseguenza, sulle ricadute dell'uso dell'interfaccia in termini di efficacia, efficienza e soddisfazione.
Capacità comunicative: Gli studenti sostengono due presentazioni del loro lavoro di gruppo in occasione delle due revisioni previste con il docente. La prima revisione si svolge in aula e la presentazione è pertanto rivolta a tutti i colleghi, al fine di esercitare le capacità comunicative.
Capacità di apprendimento: La capacità di apprendimento è stimolata attraverso: 1) attività di progettazione guidata e autonoma, con supervisione; 2) l'esposizione a problemi di progettazione realistici che richiedono la ricerca autonoma di soluzioni non standard; 3) la presentazione di casi reali e la loro discussione critica.

Programma

Il corso tratta:

  • i modelli e le teorie alla base dell’interazione uomo-computer, e in particolare i modelli cognitivi, i modelli di comunicazione e collaborazione, l’analisi del compito, la notazione e il progetto del dialogo, la modellazione del sistema, i modelli per l’interazione avanzata, gli aspetti sociali e collaborativi;
  • l’integrazione dell’HCI nel ciclo di sviluppo del software, e in particolare lo user centred design, il processo di sviluppo iterativo, gli scenari, le tecniche di valutazione, l’integrazione con la programmazione agile.
  • Elenco degli argomenti delle 12 settimane del corso:

need finding

interviste e questionari

storyboard

tecniche expert-based di valutazione delle interfacce

tecniche user-based di valutazione delle interfacce

prototipi cartacei

processo di sviluppo di un’interfaccia

progettazione agile centrata sull’utente

cicli iterativi di interaction design, sviluppo del software e valutazione

interazione con sistemi mobili

criteri di progettazione di interfacce in ambiente iOS

criteri di progettazione di interfacce in ambiente Android

Modalità d'esame

L’esame è costituito dalla valutazione del progetto e dall’orale.

La valutazione del progetto è basata sul materiale consegnato nonché sulle discussioni svolte in sede di revisione. La valutazione è unica per i progetti svolti in gruppo (cioè stesso voto per tutto il gruppo), a meno che durante le revisioni si evinca che uno o più studenti non stiano partecipando al lavoro con impegno pari a quello degli altri.

L’orale consiste in due domande sugli argomenti trattati a lezione. Ogni domanda vale 2 punti che si sommano al voto di base del progetto. Chi totalizza meno di 1 punto complessivamente tra le due domande, non supera l’orale e deve rifarlo all’appello successivo o comunque entro un anno per non perdere il voto del progetto. I membri di un gruppo di progetto non sono tenuti a svolgere l’orale nello stesso appello.

Testi di riferimento

Il testo adottato è:

  • Kurniawan, S. (2004). Interaction design: Beyond human–computer interaction by Preece, Sharp and Rogers (2001), ISBN 0471492787 http://www.id-book.com

Altro testo che può essere utile:

  • Alan Dix, Janet Finlay, Gregory Abowd, Russell Beale “HUMAN-COMPUTER INTERACTION”, http://dl.acm.org/citation.cfm?id=1203012
  • Apple Human Interface Guidelines, disponibili come iBook (https://itunes.apple.com/us/book/ios-human-interface-guidelines/id877942287?mt=11) o online: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/index.html
  • Introduction – Material Design – Google design guidelines (disponibile su web http://www.google.com/design/spec/material-design/introduction.html)

Codice insegnamento P896781384

LINGUAGGI E COMPILATORI 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Lo studente imparera' come funziona un compilatore sia dal punto di vista teorico che pratico. Obiettivi specifici: Conoscenza e comprensione: Allo studente saranno presentate le parti della Teoria…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali: Lo studente imparera' come funziona un compilatore sia dal punto di vista teorico che pratico.
Obiettivi specifici: Conoscenza e comprensione: Allo studente saranno presentate le parti della Teoria dei Linguaggi Formali e degli Automi necessarie ad avere una base teorica sul funzionamento dei compilatori.
Applicare conoscenza e comprensione: Lo studente imparerà come usare noti strumenti pratici per la costruzione di compilatori, come Lex a YACC.
Capacità critiche e di giudizio: Una parte facoltativa dell'esame consisterà nel produrre un compilatore per un semplice linguaggio di programmazione ad alto livello.
Capacità comunicative: Il corso non si propone espliciti obiettivi sulle capacità comunicative, eccetto di formare all'esposizione rigorosa degli argomenti formali.
Capacità di apprendimento: I fondamenti teorici e gli strumenti pratici introdotti nel corso forniranno allo studente una base solida per studi più avanzati in questo campo.

Codice insegnamento P322113676

MACHINE LEARNING 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali Il corso introduce gli studenti al machine learning, sia supervisionato che non supervisionato, alla modellazione di problemi complessi utilizzando tecniche di machine learning e deep learning e alla…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali Il corso introduce gli studenti al machine learning, sia supervisionato che non supervisionato, alla modellazione di problemi complessi utilizzando tecniche di machine learning e deep learning e alla loro applicazione in diversi ambiti.
Obiettivi specifici Il corso persegue l'obiettivo di rendere gli studenti competenti in modelli di machine learning, nella loro formulazione e nell'interpretazione dei risultati, in modelli discriminativi e generativi, in classificazione e regressione, in reti convoluzionali e architetture prominenti di deep learning, sulla teoria del machine learning con particolare riferimento a questioni di convergenza, su reti neurali e reti di tipo transformer networks, framework di programmazione.
Conoscenza e comprensione: Gli studenti impareranno il funzionamento dei modelli di machine learning e il loro uso per formulare problemi di stima e apprendimento. Comprenderanno i limiti e le potenzialità di modelli avanzati di machine learning e deep learning.
Applicazione di conoscenza e comprensione Gli studenti saranno in grado di progettare, implementare, mettere in servizio e analizzare in modo appropriato architetture di machine learning che affrontano problemi complessi in diverse aree applicative. Saranno in grado di sfruttare il portafoglio di tecniche e i diversi approcci mostrati nel corso per la soluzione di nuovi problemi e spiegare la logica alla base delle scelte di modellazione.
Autonomia di giudizio Gli studenti saranno in grado di valutare le prestazioni, le assunzioni richieste e le limitazioni di diversi modelli di machine learning, valutare la capacità di generalizzazione di questi e proporre nuovi modelli basati su machine learning e deep learning.
Abilità comunicative Gli studenti acquisiranno la capacità di esporre le proprie conoscenze in modo chiaro e organizzato per proporre soluzioni basate su machine learning, formalizzare i problemi contestati e discutere efficacemente le proprie idee con esperti del settore.
Capacità di apprendimento successivo: Le competenze acquisite consentiranno agli studenti di approfondire e ampliare autonomamente la propria gamma di conoscenze e capacità, dotandosi degli strumenti interpretativi necessari per leggere in autonomia i lavori pubblicati nella letteratura scientifica sul machine learning.

Codice insegnamento 1047635

MULTICORE PROGRAMMING 3° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi formativi: Il corso è finalizzato all'acquisizione della conoscenza di tecniche algoritmiche e di programmazione adatte alle moderne piattaforme di calcolo multicore, GPU e multi-GPU, introducendo i principi di…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi formativi: Il corso è finalizzato all'acquisizione della conoscenza di tecniche algoritmiche e di programmazione adatte alle moderne piattaforme di calcolo multicore, GPU e multi-GPU, introducendo i principi di base nella progettazione di software parallelo.
Conoscenza e capacità di comprensione: Al termine del corso gli studenti avranno una profonda comprensione dei principali problemi di programmazione posti dai sistemi multicore, GPU e multi-GPU, delle tecniche per scrivere codice efficiente e scalabile, della programmazione a basso livello e della progettazione di applicazioni parallele.
Capacità di applicare conoscenza e comprensione: Gli studenti saranno in grado di progettare, programmare e ottimizzare applicazioni parallele su piattaforme multicore e GPU, incluse architetture multi-GPU, e avranno una comprensione delle principali tecniche di parallelismo.
Autonomia di giudizio: Gli studenti saranno in grado di affrontare le sfide che si presentano nella progettazione di applicazioni parallele su sistemi multicore e GPU, sviluppando programmi efficienti e scalabili anche tenendo conto delle caratteristiche architetturali delle diverse piattaforme di calcolo.
Abilità comunicative: Gli studenti saranno in grado di comunicare in modo efficace, riassumendo le idee principali nella progettazione di software per sistemi multicore e GPU, presentando in modo chiaro informazioni tecniche e soluzioni algoritmiche.
Capacità di apprendimento: Gli studenti saranno in grado di estendere la loro conoscenza in modo indipendente, adattandola all’evoluzione delle tecnologie e delle architetture per il calcolo ad alte prestazioni.

Codice insegnamento 10620671

OPTIMIZATION 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Il corso introduce lo studente alla modellazione matematica di problemi di ottimizzazione, allo studio della programmazione lineare e intera e alle loro applicazioni in contesti reali. Obiettivi…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali: Il corso introduce lo studente alla modellazione matematica di problemi di ottimizzazione, allo studio della programmazione lineare e intera e alle loro applicazioni in contesti reali.
Obiettivi specifici: Apprendere: 1. Le principali tecniche di modellazione di problemi usando strumenti logico/matematici; 2. Le proprietà teoriche e sulle applicazioni pratiche dei principali problemi di ottimizzazione (in particolare su reti); 3. sulla programmazione lineare e sue applicazioni; 4. sull’uso di software di modellazione ed ottimizzazione.
Conoscenza e comprensione: Sviluppare 1. Capacità di sintesi, di ragionamento logico e di problem solving, mediante tecniche quantitative; 2. capacità di formulare e risolvere (anche in maniera approssimata) problemi computazionalmente difficili; 3. capacità di usare bibliografia e software in inglese; 4. capacità di identificare problemi di programmazione matematica e ottimizzazione; 5. capacità di realizzare un modello di un problema matematico, determinando se è lineare, intero, non lineare, di trovare soluzioni per il modello usando gli algoritmi appropriati, di interpretare la soluzione;
Applicazione di conoscenza e comprensione: 1. Applicazioni pratiche dei principali problemi di ottimizzazione (in particolare su reti); 2. uso di software di modellazione ed ottimizzazione.
Autonomia di giudizio: Viene rafforzata la autonomia di giudizio dello studente attraverso l'approfondimento della capacità di sintesi, di ragionamento logico-matematico e di problem solving, mediante tecniche quantitative;
Abilità comunicative: Il corso sviluppa le abilità comunicative degli studenti attraverso lavoro in equipe degli studenti finalizzato a simulare la risoluzione di problemi di ottimizzazione che si possono presentare nel contesto reale di un azienda di logistica.
Capacità di apprendimento Le capacità acquisite nel corso sono di utilità in insegnamenti di livello superiore su temi avanzati nella teoria della complessità, di algoritmi di rete e di teoria dei grafi.

Codice insegnamento 10595533

ORGANIZZAZIONE E GESTIONE PER LO START-UP AZIENDALE 3° anno · 1° semestre · 6 CFU · ECON-08/A · 0 file

Obiettivi generali: L’insegnamento di Organizzazione e Gestione per lo Start-Up Aziendale intende fornire agli studenti le conoscenze e i “fondamentali” per l’analisi e la comprensione delle principali problematiche…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali:
L’insegnamento di Organizzazione e Gestione per lo Start-Up Aziendale intende fornire agli studenti le conoscenze e i “fondamentali” per l’analisi e la comprensione delle principali problematiche organizzative che caratterizzano l’avvio e la gestione delle imprese nell’era digitale ed un ampio ventaglio di strumenti utili per la loro risoluzione.
In particolare, una volta affrontati i concetti di base relativi all’impresa e alle dinamiche aziendali, l’insegnamento approfondisce le principali tematiche relative allo start-up, quali la progettazione organizzativa, la pianificazione strategica, la valutazione della business idea e della relativa fattibilità economico-finanziaria.
Tali tematiche vengono affrontate nell’arco di un percorso didattico che si dispiega seguendo cronologicamente gli step funzionali alla redazione di un business plan. Più precisamente, l’insegnamento alterna momenti di lezione frontale ad attività di laboratorio, nelle quali gli studenti, divisi in gruppi, saranno guidati didatticamente nella realizzazione di un business plan relativo ad un’idea d’impresa digitale. Tale percorso consente agli studenti di esaminare in prima persona le caratteristiche del processo di start-up, e li aiuta a comprendere le variabili (e le leve) fondamentali dell’organizzazione, sulle quali la direzione aziendale può agire per il miglioramento delle performance ed il conseguimento di posizioni di vantaggio competitivo sui concorrenti.
Non sono previsti particolari prerequisiti, in termini di conoscenze pregresse di natura economico-aziendale, per la frequenza del corso ed il sostenimento delle prove d’esame.
Obiettivi specifici Obiettivi: nella prima parte si descriveranno e si analizzeranno le caratteristiche, gli elementi di base e gli attori che la caratterizzano l’azienda, nonché le fasi del suo ciclo vitale. Si approfondiranno, inoltre, i rapporti esistenti tra l’organizzazione e la gestione dell’azienda, introducendo il concetto di “equilibrio” economico quale legge fondamentale alla base della capacità di sopravvivenza dell’azienda nel tempo.
Obiettivi: nella seconda parte inizierà il percorso didattico atto a fornire le conoscenze necessarie per procedere alla realizzazione del business plan. Si partirà dalla disamina delle opportunità di generazione di start-up nell’era digitale, evidenziandone le differenze con lo start-up di impese tradizionali. Si esamineranno i fondamenti della strategia, con il passaggio dalla business idea alla formalizzazione del modello di business, i contenuti di base della progettazione organizzativa, con particolare riguardo al rapporto tra organizzazione, ambiente e strategia, le tecniche di analisi della fattibilità di mercato e di quella economico-finanziaria, le considerazioni alla base della scelta della forma giuridica, nonché quelle per l’individuazione delle forme di finanziamento più appropriate.
Obiettivi: nella terza parte si approfondirà il ruolo e la struttura del business plan. Più precisamente, gli studenti, opportunamente divisi in gruppi, verranno didatticamente guidati attraverso il processo di redazione di un business plan. In questa parte, quindi, il business plan verrà considerato come l’obiettivo finale del corso che, oltre a rappresentare un project work valido ai fini della valutazione finale, verrà presentato nell’ambito di un vero e proprio contest alla fine del corso.
Tali obiettivi saranno perseguiti attraverso l’adozione di un appropriato mix di lezioni frontali, testimonianze provenienti dal mondo imprenditoriale e attività laboratoriali di gruppo.
Conoscenza e capacità di comprensione (knowledge and understanding). Al termine dell’insegnamento gli studenti saranno in grado di riconoscere ed affrontare analiticamente le problematiche organizzative che caratterizzano la fase dello start-up, potendo contare su un ampio background teorico e un toolkit adeguato alla loro soluzione. Più precisamente, la comprensione dei legami tra variabili ambientali, strategiche ed organizzative consentirà loro di approcciare lo sviluppo dell’idea imprenditoriale ricercando la coerenza degli elementi strategico-organizzativi con il mercato di riferimento, nel rispetto delle condizioni di economicità dell’impresa. Inoltre, grazie all’acquisizione degli strumenti necessari alla progettazione di una start-up digitale e alla conoscenza maturata nel processo di redazione del business plan, alla fine del corso gli studenti saranno in grado di sviluppare un’idea imprenditoriale e di valutarne la fattibilità, nonché di formalizzarla all’interno di un business plan per procedere alla sua concreta realizzazione.
Tali conoscenze saranno acquisite alternando momenti di lezione frontale volti a fornire gli strumenti conoscitivi necessari alla comprensione dei vari argomenti, ad attività laboratoriali di gruppo, nelle quali gli studenti, divisi in gruppi, saranno guidati didatticamente dal docente nella realizzazione di un business plan. Saranno inoltre previste testimonianze provenienti dal mondo imprenditoriale in grado di rappresentare dei casi di studio pratici ed esemplificativi di quanto affrontato dal punto di vista teorico.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). Attraverso i lavori individuali e di gruppo gli studenti saranno messi in condizione non solo di comprendere l’origine, la natura e la tipologia delle varie problematiche organizzative, ma di elaborare soluzioni condivise utilizzando tecniche, modelli e strumenti di analisi trasferiti durante le lezioni frontali.
La presentazione, da parte degli studenti, dei risultati dei lavori di gruppo consentirà di sviluppare capacità di riflessione e di argomentazione, unitamente a capacità di scambio, condivisione ed esposizione dei risultati conseguiti.
Le testimonianze degli esperti di organizzazione provenienti da primarie organizzazioni imprenditoriali e la discussione dei relativi temi con gli studenti, infine, permetterà di corroborare – anche con un riscontro pratico – la capacità di applicazione delle tecniche e i risultati conseguiti dagli studenti stessi, e di apprendere dagli eventuali errori commessi.
Autonomia di giudizio (making judgements). L’insegnamento di Organizzazione Aziendale, attraverso modalità miste di erogazione dei contenuti (lezioni frontali, lavori di gruppo, testimonianze aziendali), pur dedicando un adeguato spazio ai principali modelli teorici consolidati nella letteratura di riferimento, intende stimolare gli studenti a realizzare una propria visione dei fenomeni organizzativi durante tutto il percorso didattico, incentivando l’autonomia di giudizio e la soluzione creativa, pur orientata e guidata dal docente, delle conseguenti problematiche.
In particolare, il processo di redazione del business plan alla base dei lavori di gruppo è stato ideato proprio per incrementare capacità critiche, di riflessione e di elaborazione autonoma di giudizi, compresa quella volta ad evitare i pregiudizi che caratterizzano in quest’area le fasi dei processi decisionali orientati al problem-solving, anche in ordine alle ricadute etiche e sociali che contraddistinguono le scelte organizzative.
Abilità comunicative (communication skills). Lo svolgimento delle attività laboratoriali di gruppo e la presentazione dei risultati raggiunti rappresenta un importante strumento, adottato nell’insegnamento di Organizzazione Aziendale, per lo sviluppo di capacità comunicative. In particolare, da un lato, le discussioni durante le attività di gruppo sono appositamente costruite per consentire agli studenti di imparare ad interagire e a comunicare, simulando attività di condivisione delle conoscenze e di costruzione del consenso tipiche di contesti lavorativi reali; dall’altro lato, la presentazione del business plan nell’ambito del contest finale è stata ideata proprio per permettere agli studenti di sperimentare in prima persona una reale presentazione della propria idea imprenditoriale di fronte a dei potenziali investitori.
Tali capacità rappresentano una componente “naturale” dell’insegnamento in oggetto, considerato che la tematica della comunicazione organizzativa costituisce argomento di specifica trattazione nell’ambito dello stesso.
Capacità di apprendimento successivo (learning skills). Considerata l’elevata trasversalità e multidisciplinarietà dei temi trattati, i cui contenuti possono facilmente essere traslati anche in contesti organizzativi diversi dalle imprese (seppur caratterizzati da un orientamento al rispetto delle condizioni di economicità della gestione), l’insegnamento di Organizzazione Aziendale consente di acquisire una base teorica, concettuale ed applicativa utilizzabile per una molteplicità di percorsi educativi e pratici successivi a quello della laurea triennale.
Oltre, infatti, alla naturale prosecuzione verso un percorso di laurea magistrale, non solo di tipo manageriale o aziendalistico, gli studenti acquisiranno competenze ulteriormente sviluppabili, anche in autonomia, ed utilizzabili in aziende, società di consulenza e altre organizzazioni, nonché per la costituzione di start-up innovative e ad elevato contenuto tecnologico.

Codice insegnamento 10621254

PROGRAMMAZIONE DI SISTEMI EMBEDDED E MULTICORE 3° anno · 0 file
PROGRAMMAZIONE DI SISTEMI EMBEDDED E MULTICORE 3° anno · 0 file
PROGRAMMAZIONE PER IL WEB 3° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Lo scopo del corso è lo studio del linguaggio java lato server, per la realizzazione di applicazioni web. Il corso fornisce inoltre un’analisi critica di diverse soluzioni implementative di molte…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali: Lo scopo del corso è lo studio del linguaggio java lato server, per la realizzazione di applicazioni web. Il corso fornisce inoltre un’analisi critica di diverse soluzioni implementative di molte funzionalità applicative comuni nello sviluppo di applicazioni web.
Obiettivi specifici: Programmazione lato server mediante Java Servlet e pagine JSP.
Conoscenza e comprensione: Il corso permetterà la comprensione del supporto fornito dal linguaggio Java alla realizzazione di applicazioni web. In particolare lo studente studierà le motivazioni alla base di tutte le scelte implementative, in particolare facendo riferimento alle architetture client-server e ai protocolli di rete in uso.
Applicare conoscenza e comprensione: Attraverso il corso lo studente imparerà a riconoscere tra le possibili soluzioni applicative ad un problema, quale offra i maggiori vantaggi in termini di prestazioni, sicurezza, portabilità e efficienza.
Capacità critiche e di giudizio: Il corso metterà lo studente in condizione di saper scegliere, dato un problema, la migliore metodologia risolutiva, attraverso la profonda comprensione dei requisiti e dei vincoli imposti dall'architettura.
Capacità comunicative: Lo studente sarà in grado di motivare le proprie scelte nella proposta di uno specifico approccio realizzativo di un’applicazione Web, e fornire una analisi comparativa dell’approccio scelto con altri approcci possibili.
Capacità di apprendimento: Lo studente svilupperà capacità di studio autonome e di comprensione e valutazione critica di nuove metodologie, tecnologie e modelli di sviluppo di applicazioni Web.

Codice insegnamento P327069313

PROGRAMMING LANGUAGES 3° anno · 1° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali Il corso illustra i fondamenti dei linguaggi di programmazione. Particolare attenzione è dedicata alla semantica statica e dinamica dei linguaggi (teoria dei tipi, semantica operazionale e assiomatica)…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali Il corso illustra i fondamenti dei linguaggi di programmazione. Particolare attenzione è dedicata alla semantica statica e dinamica dei linguaggi (teoria dei tipi, semantica operazionale e assiomatica) e agli strumenti formali per la specifica e la verifica del software.
Obiettivi specifici Approfondimento delle algebre induttive come fondamento della sintassi astratta, delle strutture dati e di semplici logiche equazionali per i programmi. Cenni alla coinduzione come fondamento dell'analisi di processi concorrenti e di strutture lazy. Confronto tra linguaggi lazy ed eager, statici e dinamici, nel contesto dei principali paradigmi di programmazione: imperativo, funzionale e orientato agli oggetti. Studio della teoria dei tipi, con particolare attenzione al polimorfismo parametrico (come in ML) e al polimorfismo di sottoclasse (come in Java).
Conoscenze e comprensione Al termine del corso lo studente avrà acquisito conoscenze fondazionali relative ai linguaggi di programmazione e ai principali paradigmi di programmazione. Sarà inoltre in grado di collocare in una mappa concettuale coerente alcune fra le principali aree dell'informatica teorica, comprendendone le interconnessioni.
Applicazione di conoscenza e comprensione Al termine del corso lo studente sarà in grado di orientarsi tra i diversi paradigmi della programmazione, con particolare attenzione alla programmazione funzionale. Avrà acquisito una conoscenza di base del linguaggio funzionale SML, della sua teoria dei tipi e dell'impiego dei metodi formali.
Capacità di giudizio Gli studenti acquisiranno gli strumenti culturali necessari per sviluppare software di qualità e per comprendere e inquadrare criticamente le tendenze emergenti dei linguaggi di programmazione moderni.
Capacità di comunicazione Gli studenti impareranno a utilizzare il linguaggio della matematica e della logica per descrivere, sviluppare e analizzare il software, integrando l'approccio formale con una presentazione intuitiva delle idee.
Capacità di apprendimento L'impiego di strumenti matematici nella teoria e nella pratica della programmazione favorirà lo sviluppo delle capacità logiche e della consapevolezza della complessità dei problemi affrontati.
Questa versione mantiene i contenuti originali ma adotta uno stile più fluido, uniforme e adatto a una scheda d'insegnamento universitaria.

Codice insegnamento 10620672

SICUREZZA 3° anno · 1 file
SICUREZZA INFORMATICA 3° anno · 2° semestre · 6 CFU · INFO-01/A · 0 file

Obiettivi generali: Il corso di Sicurezza ha l’obiettivo di formare figure professionali capaci di affrontare con successo le sfide costituite dai problemi di sicurezza della società dell’informazione. Obiettivi…

Scheda dell'insegnamento

Obiettivi formativi

Obiettivi generali: Il corso di Sicurezza ha l’obiettivo di formare figure professionali capaci di affrontare con successo le sfide costituite dai problemi di sicurezza della società dell’informazione.
Obiettivi specifici: Il corso prevede lo studio di vari modelli di controllo degli accessi, dell’analisi delle principali difficoltà e soluzioni ai problemi crittografici e dei principali protocolli di sicurezza utilizzati nelle reti.
Conoscenza e comprensione: Al superamento dell’esame, lo studente avrà conoscenza e capacità di comprensione delle basi della sicurezza informatica e delle principali tecnologie per l’analisi e la soluzione di problemi di sicurezza.
Applicare conoscenza e comprensione: Il corso mette in grado lo studente di applicare la propria conoscenza e capacità di comprensione per risolvere problemi di sicurezza informatica, con sufficiente autonomia per affrontare problemi complessi, e per la consultazione efficace di documentazione scientifica e tecnologica avanzata.
Autonomia di giudizio: Il corso mira ad acquisire capacità di interpretazione autonoma per proporre soluzioni a problemi di sicurezza congruenti con le tecnologie disponibili e di aggiornamento continuo rispetto all’evoluzione tecnologica, per formulare giudizi critici autonomi contribuendo al miglioramento della sicurezza dei sistemi.
Abilità comunicative: Lo studente acquisisce la capacità di presentare e argomentare le proprie idee in merito ai problemi di sicurezza affrontati e alle soluzioni proposte, sia con colleghi sia con utenti.
Capacità di apprendimento: Il corso prevede lo sviluppo di capacità di approfondimento nell’ambito della sicurezza informatica sia negli aspetti metodologici sia tecnologici, per adeguarsi al progresso delle tecniche e delle soluzioni ai problemi di sicurezza più comuni e per proseguire autonomamente nella risoluzione di nuovi problemi di sicurezza.

Codice insegnamento 10620643

TECNICHE DI PROGRAMMAZIONE FUNZIONALE E IMPERATIVA 3° anno · 0 file
TECNICHE DI PROGRAMMAZIONE FUNZIONALE E IMPERATIVA 3° anno · 0 file
TIROCINIO 3° anno · 2° semestre · 15 CFU · 0 file

Il tirocinio formativo è svolto sotto la guida di un responsabile e può essere esterno (svolto presso aziende o enti esterni) o interno (svolto nell'ambito del corso di laurea). In entrambi i casi il tirocinio ha una…

Scheda dell'insegnamento

Obiettivi formativi

Il tirocinio formativo è svolto sotto la guida di un responsabile e può essere esterno (svolto presso aziende o enti esterni) o interno (svolto nell'ambito del corso di laurea). In entrambi i casi il tirocinio ha una durata di circa tre mesi e prevede che allo studente sia proposto un problema del mondo reale, da risolvere attraverso l'elaborazione di un progetto sviluppato con un approccio professionale.

Codice insegnamento AAF1053

VERIFICA E VALIDAZIONE DEI SISTEMI SOFTWARE 3° anno · 0 file
prova finale 3° anno · 2° semestre · 3 CFU · 0 file

La prova finale consiste nella stesura, nella presentazione e nella discussione di una dissertazione scritta, elaborata autonomamente dallo studente, che documenti in modo organico e dettagliato il problema affrontato…

Scheda dell'insegnamento

Obiettivi formativi

La prova finale consiste nella stesura, nella presentazione e nella discussione di una dissertazione scritta, elaborata autonomamente dallo studente, che documenti in modo organico e dettagliato il problema affrontato nell'ambito del tirocinio formativo e tutte le attività compiute per pervenire alla soluzione.

Codice insegnamento AAF1001

ARCHITETTURA DEGLI ELABORATORI 0 file
ARCHITETTURA DEGLI ELABORATORI 0 file
ARCHITETTURA DEGLI ELABORATORI 0 file
ARCHITETTURA DEGLI ELABORATORI 0 file
ARCHITETTURA DEGLI ELABORATORI 0 file
BIOLOGIA COMPUTAZIONALE 0 file
CALCOLO DIFFERENZIALE 0 file
CALCOLO DIFFERENZIALE 2 file
CALCOLO DIFFERENZIALE 0 file
CALCOLO DIFFERENZIALE 0 file
CALCOLO DIFFERENZIALE 0 file
CALCOLO INTEGRALE 0 file
CALCOLO INTEGRALE 0 file
CALCOLO INTEGRALE 0 file
CALCOLO INTEGRALE 0 file
CALCOLO INTEGRALE 0 file
COMPUTER GRAPHICS 0 file
GAMIFICATION E GAME DESIGN 2° semestre · 6 CFU · INF/01 · 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
I MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
II MODULO 0 file
INGLESE ESP LIVELLO B1 2° semestre · 3 CFU · 0 file
INGLESE LIVELLO B1 1° semestre · 3 CFU · 0 file
INTRODUZIONE AGLI ALGORITMI 0 file
INTRODUZIONE AGLI ALGORITMI 0 file
INTRODUZIONE AGLI ALGORITMI 0 file
INTRODUZIONE AGLI ALGORITMI 0 file
INTRODUZIONE AGLI ALGORITMI 0 file
LINGUA INGLESE LIVELLO B2 2° semestre · 3 CFU · 0 file
LINGUAGGI DI PROGRAMMAZIONE 0 file
LINGUAGGI DI PROGRAMMAZIONE 0 file
MODELLI E OTTIMIZZAZIONE 0 file
MODELLI E OTTIMIZZAZIONE 0 file
PROGETTAZIONE DI ALGORITMI 0 file
PROGETTAZIONE DI ALGORITMI 0 file
PROGETTAZIONE DI ALGORITMI 0 file
PROGETTAZIONE DI ALGORITMI 0 file
PROGETTAZIONE DI ALGORITMI 0 file
PROGETTAZIONE DI SISTEMI DIGITALI 0 file
PROGETTAZIONE DI SISTEMI DIGITALI 0 file
PROGETTAZIONE DI SISTEMI DIGITALI 0 file
PROGETTAZIONE DI SISTEMI DIGITALI 0 file
PROGRAMMAZIONE DI SISTEMA 0 file
RETI DI ELABORATORI 0 file
RETI DI ELABORATORI 0 file
RETI DI ELABORATORI 0 file
RETI DI ELABORATORI 0 file
RETI DI ELABORATORI 0 file
SICUREZZA 0 file
SICUREZZA 0 file
VERIFICA E VALIDAZIONE DEI SISTEMI SOFTWARE 0 file
VERIFICA E VALIDAZIONE DI SISTEMI INTELLIGENTI 2° semestre · 6 CFU · INF/01 · 0 file

Recensioni del corso

Studi qui? Accedi per lasciare la tua recensione e aiutare altri studenti a scegliere.

★

Nessuna recensione per ora — e la prima è la più preziosa. Condividi la tua esperienza e orienta le future matricole.