Ingegneria informatica a.a. 2024-2025

  • Il corso di studi in Ingegneria Informatica si pone l'obiettivo di formare laureati con conoscenze e competenze utilizzabili sia per svolgere professioni tecnico-applicative di natura informatica, sia come base su cui innestare gli approfondimenti previsti dalla laurea di 2° livello in ingegneria informatica.

    Più che presentare specifiche tecnologie informatiche, si intende privilegiare l'acquisizione di capacità di affrontare problemi ingegneristici-informatici con un approccio sistematico ed effettivo.

    A questo scopo, oltre ad una competenza di base nelle tematiche metodologiche-operative proprie della classe (delineate sopra), i laureati dovranno avere competenze specifiche sui seguenti temi: - fondamenti dell'informatica: automi, algoritmi e linguaggi di programmazione, teoria della computabilità e complessità computazionale; - strumenti operativi per l'informatica: istallazione, configurazione, gestione di macchine, impianti, reti di comunicazione, sistemi informatici e sistemi di automazione; - applicazioni informatiche: gestione, manutenzione e sviluppo di sistemi informatici per la gestione di altri sistemi (civili, economici, industriali, avionici, satellitari, energetici, medicali, di telecomunicazioni e trasporto, di ambiente e territorio, di automazione), sistemi informativi. Il percorso formativo è articolato in due curriculai: il primo è incentrato sulle discipline informatiche; il secondo affianca alle materie di informatica tematiche legate alla robotica e l'automazione. Il primo anno è dedicato alla formazione matematica, fisica e informatica di base.

    Il secondo anno approfondisce l'informatica di base, con la teoria degli algoritmi, lo studio delle architetture dei calcolatori i sistemi operativi, e allarga la formazione ingegneristica alle materie dell'area dell'informazione e della teoria dei controlli.

    Il terzo anno aggiunge elementi sistemistici di reti, l'ingegneria del software, tecnologie web e basi di dati oltre agli argomenti propri dell'area automazione.

    E' previsto, inoltre, un tirocinio formativo e una prova finale.

  • L'ammissione al corso di laurea in ingegneria informatica richiede innanzitutto il possesso di un diploma di scuola secondaria superiore o di altro titolo di studio conseguito all'estero riconosciuto equivalente.

    L' ammissione è subordinata al possesso di una adeguata preparazione per affrontare con efficacia il corso di laurea, riguardante competenze linguistiche, conoscenze culturali e specifiche conoscenze matematiche relative alle seguenti aree: aritmetica, algebra elementare, geometria analitica, equazioni e disequazioni di primo e secondo grado, funzioni trigonometriche, logaritmiche e esponenziali.

    Il possesso delle competenze e conoscenze iniziali viene verificato mediante un test obbligatorio da svolgersi prima dell'immatricolazione. Informazioni dettagliate sulle conoscenze richieste per l'accesso e le modalità di verifica della preparazione iniziale sono definite nel Regolamento Didattico del corso di studio, dove sono altresì indicati gli obblighi formativi aggiuntivi previsti nel caso in cui la verifica non sia positiva.

  • Il Corso di Studi in Ingegneria Informatica presso l'Università di Roma Tor Vergata è articolato in due livelli: Laurea in Ingegneria Informatica (triennale), e Laurea Magistrale in Ingegneria Informatica (biennale). Il percorso di studi in Ingegneria Informatica è organizzato come segue. L'ingresso nel percorso prevede il superamento del test di ingresso (e degli eventuali corsi pre-immatricolazione, in caso di mancato superamento del test), in comune con tutta la Facoltà di Ingegneria (maggiori informazioni su: http://ing.uniroma2.it/didattica/test-di-ammissione/). Il percorso formativo inizia con la frequenza del Corso di Laurea (triennale) in Ingegneria Informatica. Una volta conseguita la Laurea, il percorso può proseguire con l'iscrizione al Corso di Laurea Magistrale (biennale) in Ingegneria Informatica, e successivamente, dopo aver conseguito la Laurea Magistrale, con l'iscrizione al Dottorato di Ricerca (triennale) in 'Computer Science, Control and Geoinformation' (http://www.ce.uniroma2.it/dottorato/). L'ingresso nel mondo del lavoro può avvenire al termine di ognuna di queste tre tappe. Informazioni più dettagliate sulla organizzazione del Corso di Laurea in Ingegneria Informatica, insegnamenti offerti e docenti possono essere trovate sul sito Web all'indirizzo riportato sotto. Obiettivo globale di tutto il percorso è formare, con diversi gradi di specializzazione e approfondimento, professionisti competenti nella progettazione e sviluppo di metodologie e tecnologie dell'informatica, e nella loro applicazione alla soluzione di problemi in diversi campi applicativi, come l'economia, la scienza, l'ingegneria, la medicina, l'istruzione, l'intrattenimento, e altri ancora.

  • L'accesso al Corso di Laurea, unitamente agli altri Corsi di Laurea della Macroarea di Ingegneria dell'Ateneo, richiede il superamento di un test di ingresso su alcune materie di base riguardanti, nello specifico, la matematica, la fisica e la chimica oltre a 'Logica e Comprensione Verbale' (al link riportato sotto possono essere trovate informazioni relative all'ultimo test svolto per l'a.a.

    2021/22). Per partecipare al test i candidati devono preventivamente compilare online la domanda di partecipazione entro la scadenza fissata.

    La data di scadenza della presentazione di tale domanda, nonché la data in cui si svolgerà il test di ingresso sono tempestivamente comunicate sul sito della macroarea di Ingegneria www.ing.uniroma2.it, ove è possibile trovare anche ulteriori dettagli sulla procedura di immatricolazione. Il mancato superamento del test di ingresso dà luogo ad obblighi formativi.

    L'estinzione degli obblighi formativi, necessaria per l'accesso ai corsi del primo anno, avviene al momento del superamento dell'esame di profitto (test di recupero).

    Lo studente dovrà colmare le lacune emerse dal test di ingresso, seguendo specifici corsi di preparazione, nel caso fossero previsti, che si svolgeranno tipicamente prima dell'inizio delle lezioni.

    Il superamento dell'esame di profitto è condizione indispensabile per il proseguimento del percorso formativo. Per chi ha superato l'esame di maturità con votazione ≥ 90/100 e intende immatricolarsi al Corso di Laurea sono previsti i seguenti casi: • Esonero dal test d'ingresso; la compilazione standard della domanda di partecipazione al test di ingresso comunque DEVE essere compilata per esigenze amministrative sul sito web http://delphi.uniroma2.it/ entro la scadenza (orientativamente ultima settimana di Agosto); • Possibilità di partecipare comunque al test per autovalutazione o per ottenere la certificazione del superamento del test, obbligatoria in caso di cambio di ateneo, previo pagamento del contributo; • Immatricolazione preferenziale al corso di laurea di propria scelta a partire dalla seconda metà del mese di Luglio sul sito web http://delphi.uniroma2.it/. Sono altresì esonerati dal test di ingresso alcuni laureati (ingegneria V.O.

    – ingegneria triennale – ingegneria specialistica/magistrale – laurea in fisica – laurea in matematica) che potranno richiedere immatricolazione con abbreviazione di corso secondo le modalità successivamente descritte. Per i Trasferimenti da altri Atenei o per i Passaggi di Corso (da altro CdS di questo Ateneo) occorre fare riferimento alle norme sull'Organizzazione Didattica della Macroarea di Ingegneria, pubblicate nella relativa Guida dello Studente, e al sito della Segreteria Studenti di Ingegneria. Per le procedure di immatricolazione (compreso il test d'ingresso), di iscrizione, passaggio di corso e trasferimento da altro ateneo, le scadenze ed i relativi versamenti di tasse e contributi, occorre fare riferimento alla 'Guida all'iscrizione' consultabile sul sito web web.uniroma2.it.

    Tutte le informazioni saranno consultabili sul sito web ing.uniroma2.it. N.B: Le informazioni di tipo burocratico amministrativo devono essere richieste esclusivamente alla Segreteria Studenti di Ingegneria.

  • La prova finale può avere come oggetto: - presentazione dei risultati di uno specifico lavoro di natura progettuale/implementativa nell'ambito dell'informatica o automazione; - presentazione di una sintesi unitaria delle esperienza progettuali svolte personalmente nell'ambito di insegnamenti del corso di laurea, con evidenziazione delle metodologie e tecnologie apprese, e delle lezioni tratte da queste esperienze.

Ingegneria informatica a.a. 2024-2025

  • FISICA GENERALE I Didattica Web

    Docente:

    Antonello Tebano

    Programma

    I numeri dei paragrafi si riferiscono al testo “Elementi di Fisica - Meccanica e Termodinamica” di P. Mazzoldi, M. Nigro, C. Voci, Ed. EdiSES. Sono prerequisiti del corso la conoscenza di algebra vettoriale, trigonometria, fondamenti del calcolo differenziale e integrale Si consiglia fortemente la lettura delle Appendici B e C. Si consiglia inoltre di leggere attentamente gli esempi proposti sul libro ad ogni paragrafo, che non vanno studiati ma considerati come esercizi risolti. CINEMATICA del punto materiale 1.1 Introduzione. 2.1 Moto nel piano. Posizione e velocità (in “Componenti polari della velocità” solo eq. 2.4). 2.2 Accelerazione nel moto piano (in “Componenti cartesiane dell’accelerazione” solo il primo e l’ultimo paragrafo). 2.5 Moto nello spazio. 2.7 Alcune osservazioni sulla cinematica del punto. 1.2 Moto rettilineo. 1.3 Velocità nel moto rettilineo. 1.4 Accelerazione nel moto rettilineo. 1.5 Moto verticale di un corpo. 2.4 Moto parabolico dei corpi. 1.6 Moto armonico semplice. 2.3 Moto circolare (fino eq. 2.13 ma compresa “Notazione vettoriale” tranne eq. 2.18). Dinamica del punto materiale 3.1Principio d’inerzia. Introduzione al concetto di forza. 3.2 Leggi di Newton.3.4 Risultante delle forze. Equilibrio. Reazioni vincolari. 3.5 Classificazione delle forze. 3.6 Azione dinamica delle forze. 3.7 Forza peso. 3.8 Forza di attrito radente.3.9 Piano inclinato. 3.11 Forza di attrito viscoso. 1.7 Moto rettilineo smorzato esponenzialmente. 3.12 Forze centripete. 3.14 Tensione dei fili. 3.10 Forza elastica. 10.1 Richiamo delle proprietà già viste. 10.5 Somma di moti armonici su assi ortogonali (lettura). 10.6 Oscillatore armonico smorzato da una forza viscosa (lettura). 10.7 Oscillatore armonico forzato (lettura). 3.13 Pendolo semplice. 4.7 Momento angolare. Momento della forza. (esclusa eq. 4.17). MOTI RELATIVI 5.1 Sistemi di riferimento. Velocità e accelerazione relative. 5.2 Sistemi di riferimento inerziali. Relatività galileiana. 5.3 Moto di trascinamento traslatorio rettilineo. 5.4 Moto di trascinamento rotatorio uniforme. 5.5 Alcuni commenti (lettura). Lavoro ed energia per il punto materiale 3.3 Quantità di moto. Impulso. 4.1 Lavoro. Potenza. Energia cinetica. (esclusa eq. 4.1). 4.2 Lavoro della forza peso. 4.3 Lavoro di una forza elastica. 4.4 Lavoro di una forza di attrito radente. 4.5 Forze conservative. Energia potenziale. 4.6 Conservazione dell’energia meccanica. 10.3 Energia dell’oscillatore armonico. 4.7 Momento angolare. Momento della forza. (eq. 4.17). 4.8 Alcune osservazioni sulla dinamica del punto. 11.1 Forze centrali. 11.2 La forza gravitazionale. 11.5 Energia potenziale gravitazionale. (escluso “Energia potenziale di una massa sferica”). 11.4 Campo gravitazionale. Dinamica dei sistemi DI PUNTI MATERIALI 6.1 Sistemi di punti. Forze interne e forze esterne. 6.2 Centro di massa di un sistema di punti. Teorema del moto del centro di massa. 7.2 Corpo continuo. Densità. Posizione del centro di massa. 6.3 Conservazione della quantità di moto. 8.1 Urti tra due punti materiali. 8.2 Urto completamente anelastico. 8.3 Urto elastico. 8.4 Urto anelastico. 6.4 Teorema del momento angolare 6.5 Conservazione del momento angolare. 6.7 Teoremi di Koenig. 6.10 Proprietà dei sistemi di forze applicate a punti diversi. 6.6 Sistema di riferimento del centro di massa. CORPI RIGIDI 7.1 Definizione di corpo rigido. Prime proprietà. 7.11 Equilibrio statico di un corpo rigido. 7.3 Moto di un corpo rigido. 7.4 Rotazioni rigide attorno ad un asse fisso in un sistema di riferimento inerziale. (escluso “Non parallelismo tra L e ω, precessione del momento angolare”). 7.5 Momento d’inerzia. 7.6 Teorema di Huygens-Steiner. 7.8 Moto di puro rotolamento. 7.9 Impulso angolare. Momento dell’impulso. 7.10 Leggi di conservazione nel moto di un corpo rigido. 7.13 Cenni sulle proprietà elastiche dei solidi. FENOMENI ONDULATORI I numeri dei paragrafi si riferiscono al testo “Fisica Generale - Meccanica e Termodinamica” di S. Focardi, I. Massa, A. Uguzzoni, Ed. Ambrosiana. 11.1 Introduzione. 11.2 Equazione differenziale delle onde. 11.12 Intensità delle onde sonore. 11.3 Sovrapposizione di onde. 11.4 Interferenza. 11.5 Onde stazionarie. 11.6 Battimenti e velocità di gruppo. 11.9 Onde stazionarie su corda vibrante. 11.19 Effetto Doppler. 11.18 Diffrazione. 11.16 Legge della riflessione. 11.17. Rifrazione. TERMOMETRIA E CALORIMETRIA 12.1 Sistemi e stati termodinamici. 12.2 Equilibrio termodinamico. Principio dell’equilibrio termico. 12.3 Definizione di temperatura. Termometri. 13.1 Leggi dei gas. Equazione di stato dei gas ideali. (solo “Legge isobara di Volta-Gay Lussac” e “Legge isocora di Volta-Gay Lussac”). 13.2 Termometro a gas ideale a volume costante. 12.7 Calorimetria.12.8 Processi isotermi. Cambiamenti di fase. 12.4 Sistemi adiabatici. Esperimenti di Joule. Calore. 12.9 Trasmissione del calore. Primo principio della termodinamica 12.5 Primo principio della termodinamica. Energia interna. 12.6 Trasformazioni termodinamiche. Lavoro e calore. 13.1 Leggi dei gas. Equazione di stato dei gas ideali. 13.3 Trasformazioni di un gas. Lavoro. 13.4 Calore. Calori specifici. 13.5 Energia interna del gas ideale. 13.6 Studio di alcune trasformazioni. 13.7 Trasformazioni cicliche. Ciclo di Carnot. Secondo principio della termodinamica 14.1 Enunciati del secondo principio della termodinamica. 14.2 Reversibilità e irreversibilità. 14.3 Teorema di Carnot. 14.5 Teorema di Clausius. 14.6 La funzione di stato entropia. 14.7 Il principio di aumento dell’entropia. 14.8 Calcoli di variazioni di entropia. 14.11 Conclusioni termodinamiche sull’entropia.

    Numero crediti

    9

    Obbligatorio

    Lingua

    ITA
  • PROBABILITA' E STATISTICA Didattica Web

    Docente:

    Mario Rosolino Abundo

    Programma

    Introduzione. Spazi di probabilità, loro proprietà. Probabilità condizionali, eventi indipendenti. Probabilità uniformi, elementi di calcolo combinatorio. Modelli discreti. Variabili aleatorie (v.a.) discrete e loro leggi. Leggi congiunte e loro uso. Densità condizionali. V.a. indipendenti. Leggi binomiali, geometriche, di Poisson. Speranza matematica. Momenti di una v.a., varianza, disuguaglianza di Chebyshev, covarianza. Retta di regressione. Modelli continui. V.a. continue e densità. Leggi normali e leggi Gamma, loro applicazioni. Vettori aleatori continui. Somma, prodotto e quoziente di v.a. continue. Generatori aleatori. Simulazione. La legge dei grandi numeri e le sue applicazioni. Teorema limite centrale, approssimazione normale. Problemi di stima: intervalli di confidenza.

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • ALGEBRA E LOGICA Didattica Web

    Docente:

    Andrea Santi

    Programma

    INSIEMI, FUNZIONI, RELAZIONI Insiemi, sottoinsiemi e operazioni tra di essi. Corrispondenze tra insiemi; relazioni, funzioni, composizione. Iniettività, suriettività, biiettività, invertibilità di funzioni. Insieme delle parti di un insieme; funzione caratteristica di un sottoinsieme. Partizioni. Relazioni d’'ordine. Relazioni di equivalenza; classi, quozienti, legame con le partizioni. Insiemi con operazioni. Classi particolari: esempi e controesempi. NUMERI NATURALI Il sistema dei numeri naturali; il Principio di Induzione (in tre formulazioni). Dimostrazioni per induzione. Ordine e operazioni nei numeri naturali; divisione con resto. Numerazione (scrittura posizionale) in base arbitraria. NUMERI INTERI, NUMERI MODULARI Costruzione dei numeri interi (a partire dai naturali); valore assoluto, operazioni, ordinamento; divisibilità; M.C.D. e m.c.m. Divisione con resto tra numeri interi. Esistenza del M.C.D.: l’'algoritmo di Euclide; identità di Bézout. Fattorizzazione nell'anello dei numeri interi: il Teorema Fondamentale dell’'Aritmetica. Equazioni diofantee. Relazioni di congruenza tra numeri interi. Equazioni congruenziali; sistemi di equazioni congruenziali. Anelli di classi resto (=interi modulari). Aritmetica modulare; equazioni congruenziali. RETICOLI, ALGEBRE DI BOOLE, CALCOLO BOOLEANO Insiemi ordinati; relazione di copertura, diagramma di Hasse; elementi speciali in un (sotto)insieme ordinato. Reticoli; classi speciali di reticoli; v-fattorizzazione nei reticoli. Algebre di Boole, come reticoli e come anelli booleani unitari; il Teorema di Equivalenza (Stone). Algebre di Boole e insiemi delle parti: il Teorema di Rappresentazione (Stone) per il caso finito (e cenni per il caso infinito). Funzioni booleane; polinomi booleani; equivalenza tra polinomi booleani. Forma Normale Disgiuntiva di un polinomio booleano. Forme Minimali di un polinomio booleano. Implicanti primi; il Metodo del Consenso per il calcolo delle forme minimali di un polinomio booleano.

    Numero crediti

    6

    Obbligatorio

    No

    Lingua

    ITA
  • LABORATORIO DI AUTOMATICA Didattica Web

    Docente:

    Mario Sassano

    Programma

    Rappresentazione grafica di sistemi di equazioni: diagrammi a blocchi e grafi di flusso, con relative regole di manipolazione e semplificazione. Modellazione di circuiti elettrici, meccanici, idraulici (e misti) mediante Bond Graph: scambio di potenza, concetti di porta e bond, componenti. Regole di conversione dal circuito al bond graph al diagramma a blocchi e alle equazioni differenziali. Semplici modelli di sistemi a tempo discreto e ibridi. Introduzione a Matlab/Simulink. Sviluppo e correzione di semplici programmi. Simulazione numerica di equazioni differenziali, alle differenze, e sistemi dinamici ibridi. Calcolo simbolico della risposta di semplici sistemi, e manipolazione delle relative equazioni. Introduzione alla piattaforma Arduino. Programmazione dalla IDE di Arduino e da Matlab/Simulink. Costruzione di semplici circuiti e meccanismi, e controllo di essi tramite Arduino. Visualizzazione dei dati in Matlab/Simulink.

    Numero crediti

    6

    Obbligatorio

    No

    Lingua

    ITA
  • LINGUA INGLESE (LIVELLO B2) Didattica Web

    Numero crediti

    3

    Obbligatorio

    No

    Lingua

    ITA
  • LINGUA FRANCESE (LIVELLO B2) Didattica Web

    Numero crediti

    3

    Obbligatorio

    No

    Lingua

    ITA
  • LINGUA SPAGNOLA (LIVELLO B2) Didattica Web

    Numero crediti

    3

    Obbligatorio

    No

    Lingua

    ITA
  • LINGUA TEDESCA (LIVELLO B2) Didattica Web

    Numero crediti

    3

    Obbligatorio

    No

    Lingua

    ITA
  • ANALISI MATEMATICA II Didattica Web

    Docente:

    Paolo Perfetti

    Programma

    Integrazione per funzioni di più variabili Integrali curvilinei di prima e seconda specie Nozioni di base di analisi complessa Integrali coi residui Trasformata di Laplace Equazioni differenziali lineari del primo e secondo ordine a coefficienti costanti Sistemi di equazioni differenziali lineari del primo e secondo ordine a coefficienti costanti

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • SISTEMI OPERATIVI Didattica Web

    Docente:

    Francesco Quaglia

    Programma

    Introduzione ai sistemi operativi Richiami sull'organizzazione di un sistema di calcolo Obiettivi dei sistemi operativi Sistemi batch uniprogrammati Sistemi batch multiprogrammati Sistemi time-sharing Architettura di massima dei sistemi UNIX/Windows Ambienti di esecuzione Aspetti basici sulla sicurezza del software Processi e thread Esecuzione e stati di processi Multiprogrammazione e Swapping Strutture di controllo di processi Immagine di un processo Liste di processi e scheduling Processi in sistemi UNIX/Windows Supporti per il multi-threading Threads in sistemi UNIX/Windows Scheduling della CPU Metriche di riferimento Algorithmi di scheduling classici Scheduling in sistemi UNIX/Windows Virtual File System ed I/O Concetti basici Metodi di accesso e di allocazione dei file Implementazione del virtual file system Gestione dei buffer di I/O Gesitone delle utenze e dei permessi di accesso Virtual file system ed I/O in sistemi UNIX/Windows Gestione della memoria Binding degli indirizzi Partizioni fisse e variabili Paginazione e segmentazione Memoria virtuale Memoria condivisa e file-mapping Gestione della memoria in sistemi UNIX/Windows Sincronizzazione Spinlocks, mutex e semafori Supporti in sistemi UNIX/Windows Eventi Meccanismi di segnalazione e gestione di eventi sincroni ed asincroni Supporti in sistemi UNIX/Windows Servizi di sistema per la programmazione di rete Stack di protocolli di comunicazione Sockets in sistemi UNIX/Windows

    Numero crediti

    9

    Obbligatorio

    Lingua

    ITA
  • CALCOLATORI ELETTRONICI Didattica Web

    Docente:

    Alessandro Pellegrini

    Programma

    Introduzione. Organizzazione ed architettura di un calcolatore. Struttura e funzionalitˆ. Livelli di astrazione. Tecnologia costruttiva. Breve rassegna storica. Rappresentazione dell'informazione. Rappresentazione degli interi. Aritmetica degli interi. Rappresentazione in virgola mobile (formato IEEE 754). Aritmetica in virgola mobile. Codifica dei caratteri. Codifica ASCI, BCD. Il linguaggio C. Fondamenti del C. Operatori ed espressioni. I/O dei dati. Preparazione ed esecuzione di un programma in linguaggio C. Istruzioni di controllo. Funzioni, Struttura dei Programmi. Array. Puntatori. Strutture. Gestione dinamica della Memoria. Il set delle istruzioni. Il caso del MIPS. Le istruzioni. Le operazioni svolte dall'hardware. Gli operandi dell'hardware. Rappresentazione delle istruzioni all'interno del calcolatore. Modi di indirizzamento. Istruzioni aritmetiche. Istruzioni di load/store. Istruzioni di salto. Istruzioni logiche. Pseudo-istruzioni. Direttive. Chiamate di sistema. Dalla compilazione all'esecuzione di un programma: assemblatore, linker e loader. Confronto tra architetture RISC e CISC. Circuiti Logici. Circuiti logici combinatori. Algebra di Boole. Progettazione di Reti combinatorie. Reti sequenziali sincrone ed asincrone. Progettazione di circuiti logici combinatori e sequenziali. Automi di Mealy e Moore. Il sistema calcolatore Unitˆ logico-aritmetica. La costruzione di una ALU. Memoria. I sistemi di memorizzazione e le tecnologie di memorizzazione. Memoria principale. Lettura e scrittura di una RAM. Gli elementi di memoria. Introduzione alle gerarchie di memoria ed alla memoria cache. Il processore: unitˆ di elaborazione dati e unitˆ di controllo. Introduzione. Progetto dell'unitˆ di elaborazione dati: unitˆ a ciclo singolo e multi-ciclo. L'unitˆ di controllo per l'ALU. Definizione dell'unitˆ di controllo. La microprogrammazione: il progetto dell'unitˆ di controllo. Studio del caso MIPS. Pipelining. Introduzione. L'unitˆ di elaborazione pipelined. Il controllo. Analisi delle criticitˆ. La Gerarchia di Memoria e le memorie Cache: Le prestazioni. La memoria virtuale. Macchine virtuali. Controllo della cache. Coerenza della cache. Input/Output. Tipi e caratteristiche dei dispositivi di I/O. Dischi. Bus sincroni ed asincroni. Il DMA Valutazione delle prestazioni. Introduzione alla valutazione delle prestazioni. La misura delle prestazioni. Relazioni tra le metriche. Benchmark.

    Numero crediti

    9

    Obbligatorio

    Lingua

    ITA
  • INGEGNERIA DEGLI ALGORITMI Didattica Web

    Docente:

    Salvatore Filippone

    Programma

    Modelli di calcolo; misura della complessità degli algoritmi ed esempi. Tipi di dato di base: liste, code, stack; Strutture dati ad albero: Alberi di ricerca, alberi binari, alberi bilanciati; Metodi di ordinamento e loro complessità; metodi di progettazione e analisi degli algoritmi Rappresentazione degli insiemi: tabelle di hashing, code con priorità; Grafi: loro rappresentazione, algoritmi di base (cammini minimi, alberi), componenti connesse, problemi di flusso e di matching. Misure di centralità.

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • CONTROLLI AUTOMATICI Didattica Web

    Docente:

    Antonio Tornambe'

    Programma

    http://didattica.uniroma2.it/docenti/curriculum/5216-Antonio-Tornambe

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • AUTOMAZIONE E ROBOTICA CON LABORATORIO Didattica Web

    Numero crediti

    12

    Obbligatorio

    Lingua

    ITA
  • INGEGNERIA DEL SOFTWARE E PROGETTAZIONE WEB Didattica Web

    Docente:

    Guglielmo De Angelis

    Programma

    Computational Science (CN). CN/Interactive Visualization - Use of APIs for developing user interfaces using standard input components such as menus, sliders, and buttons. Graphics and Visualization (GV). GV/Fundamental Concepts - Media applications including user interfaces - Use of standard APIs for the construction of UIs and display of standard media formats (see CN) Platform-Based Development (PBD). PBD/Web Platforms - Web programming languages (HTML5, Java Script, CSS) - Web platform constraints. Programming Languages (PL). PL/Object-Oriented Programming - Object-oriented design o Decomposition into objects carrying state and having behavior o Class-hierarchy design for modeling - Definition of classes: fields, methods, and constructors - Subclasses, inheritance, and method overriding - Dynamic dispatch: definition of method-call - Subtyping o Subtype polymorphism; implicit upcasts in typed languages o Notion of behavioral replacement: subtypes acting lik! e supertypes o Relationship between subtyping and inheritance - Object-oriented idioms for encapsulation o Privacy and visibility of class members o Interfaces revealing only method signatures o Abstract base classes - Using collection classes, iterators, and other common library components - PL/Event-Driven and Reactive Programming - Events and event handlers - Canonical uses such as GUIs, servers - Using a reactive framework o Defining event handlers/listeners - Externally-generated events and program-generated events - Separation of model, view, and controller. PL/Basic Type Systems - A type as a set of values together with a set of operations o From Primitive types (e.g., numbers, Booleans) to Compound types built from other types (e.g., records, unions, arrays, lists, functions, references) - Association of types to variables, arguments, results, and fields - Type safety and errors caused by using values inconsistently given their intended types - Goals and limitati! ons of static typing - Generic types (parametric polymorphism) - Complementary benefits of static and dynamic typing PL/Language Translation and Execution - Interpretation vs. compilation to native code vs. compilation to portable intermediate representation - Language translation pipeline: parsing, optional type-checking, translation, linking, execution o Execution as native code or within a virtual machine o Alternatives like dynamic loading and dynamic (or -just-in-time -) code generation - Run-time representation of core language constructs such as objects (method tables) - Run-time layout of memory: call-stack, heap, static data o Implementing loops, recursion, and tail calls - Memory management o Manual memory management: allocating, de-allocating, and reusing heap memory o Automated memory management: garbage collection as an automated technique using the notion of reachability.PL/Runtime Systems - Dynamic memory management approaches and techniques - Data layout for objects and activation records - Other common features of virtual mach! ines, such as class loading, threads, and security. PL/Advanced Programming Constructs - Control Abstractions: Exception Handling - Object-oriented abstractions: Multiple inheritance - Meta-classing. PL/Concurrency and Parallelism - Constructs for thread-shared variables and shared-memory synchronization - Models for passing messages between sequential processes - Thread states and state diagrams - Structures (ready list, i/o blocked list, condition blocked list, and so forth) - The role of locks, monitors, read-writers, and so forth. PL/Type Systems - Type checking - Static overloading. Software Development Fundamentals (SDF). SDF/Development Methods - Program comprehension - Program correctness o Types of errors (syntax, logic, run-time) o The concept of a specification o Defensive programming (exception handling) o Code reviews o Testing fundamentals - Structural and behavioral models of software designs - Design patterns - Software architecture concepts and standard ar! chitectures (e.g. client-server, n-layer, pipes-and-filters). SE/Software Construction - Coding practices: techniques, idioms/patterns, mechanisms for building quality programs o Using exception handling mechanisms. SE/Software Verification and Validation - Verification and validation concepts - Inspections, reviews, audits - Testing o Unit, integration, validation, and system testing o Black-box and white-box testing techniques o Regression testing and test automation - Defect tracking

    Numero crediti

    12

    Obbligatorio

    Lingua

    ITA
  • BASI DI DATI Didattica Web

    Docente:

    Vittoria De Nitto Persone'

    Programma

    – Sistemi di basi di dati: proprietà fondamentali – Progettazione di basi di dati: Progettazione concettuale Modello Entity - Relationship Progettazione logica modello relazionale algebra relazionale Normalizzazione SQL Progettazione fisica organizzazione fisica e gestione delle interrogazioni gestione delle transazioni

    Numero crediti

    9

    Obbligatorio

    Lingua

    ITA
  • RICERCA OPERATIVA Didattica Web

    Docente:

    Gianpaolo Oriolo

    Programma

    1. Definizioni fondamentali di teoria dei grafi. Connessione, acicilicità , alberi, circuiti euleriani. Grafi bipartiti e problemi di colorazione. 2. L'uso delle condizioni di ottimalità per il problema dell'albero ricoprente e del cammino minimo. Il problema del massimo flusso e il problema del minimo taglio. Matching nei grafi bipartiti. 3. Richiami di calcolo combinatorio ed elementi di conteggio. Dimostrazioni per induzione e pigeon-hole principle. 4. Programmazione lineare. Metodo del simplesso. Dualità e condizioni di ottimalità . Analisi di sensitività . 5. Programmazione lineare intera. Branch and bound. 6. Applicazioni selezionate. Scheduling and planning di linee ferroviare. Route planning for aziende di distribuizione di food. 7. Tutorial per AMPL (A Mathematical Programming Language).

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • TEORIA DEI SISTEMI Didattica Web

    Docente:

    Laura Menini

    Programma

    1) Proprietà strutturali: raggiungibilità, controllabilità, osservabilità, determinabilità. 2) Assegnazione degli autovalori mediante retroazione statica dallo stato (formula di Mitter, formula di Ackermann). 3) Progetto di osservatori dello stato e retroazione dinamica dall'uscita. 4) Elementi di teoria della realizzazione. 5) Parametrizzazione di Youla-Kucera dei controllori stabilizzanti (caso SISO).

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • INGEGNERIA DI INTERNET E WEB Didattica Web

    Docente:

    Francesco Lo Presti

    Programma

    Prima parte Introduzione alle Reti di Calcolatori. La sezione di accesso della rete. La sezione interna della rete. Reti di accesso e mezzi trasmissivi. Ritardi e perdite nelle reti a commutazione di pacchetto. Strati protocollari e loro modelli di servizio. La rete dorsale di Internet. Breve storia. Principi dei protocolli dello strato di applicazione. Il World Wide Web: HTTP. Trasferimento di file: FTP. Posta Elettronica in Internet. DNS: il servizio di directory di Internet. Principi dei protocolli dello strato di trasporto. Multiplexing e demultiplexing delle applicazioni. Protocollo UDP. Trasferimento affidabile dei dati: principi. Controllo della congestione: principi. Protocollo TCP. Modelli di servizio della rete. Principi di instradamento. Instradamento gerarchico. Protocollo IP. Instradamento in Internet. Organizzazione interna dei router. Lo Strato di collegamento: introduzione e servizi. Tecniche di ricerca e correzione di errori. Protocolli di accesso multiplo e LAN. Indirizzi LAN ed ARP. Rete Ethernet. Hub, Bridge e Switch. LAN 802.11. Seconda parte Programmazione di applicazioni di rete. Paradigmi e concetto di socket. Progettazione di applicazioni connection-oriented e connectionless. Multiplexing dell'I/O. Esempi di Applicazioni. Componenti software del Web. Client Web. Server Web. Proxy Web. Protocollo HTTP/1.1. Caratteristiche generali ed evoluzione del protocollo. Metodi, header e codici di risposta. Meccanismi per l'ottimizzazione della banda di rete. Gestione della connessione: connessioni persistenti e pipelining. Architettura dei server Web. Componenti dei server Web. Tipologie di architetture software. Gestione di risorse statiche. Il server Web Apache. Tecnologie per la generazione di risorse dinamiche. Livelli logici di un servizio Web-based. Architetture multi-tier.

    Numero crediti

    9

    Obbligatorio

    Lingua

    ITA
  • AUTOMI E LINGUAGGI Didattica Web

    Docente:

    Alberto Pettorossi

    Programma

    Preliminari matematici: relazioni, funzioni. Gerarchia di Chomsky. Linguaggi regolari, espressioni regolari, automi finiti deterministici e nondeterministici. Parsing dei linguaggi regolari. Linguaggi context-free e automi pushdown deterministici e nondeterministici. Parsing dei linguaggi context-free: parser di Cocke-Younger-Kasami, parser "chop-expand", parser LL(1), parser LR(0), parser LR(1) e parser LALR(1). Macchine di Turing e grammatiche e linguaggi di tipo 0. Grammatiche e linguaggi di tipo 1. Problemi decidabili, indecidabili e semidecidabili. Pattern matcher di Knuth-Morris-Pratt. Correttezza parziale dei programmi per mezzo delle triple di Hoare.

    Numero crediti

    6

    Obbligatorio

    Lingua

    ITA
  • MOBILE PROGRAMMING Didattica Web

    Docente:

    Massimo Regoli

    Programma

    Introduzione alla programmazione Mobile Programmazione in ambienti real-time Ambiente di sviluppo AndroidStudio Kotlin come linguaggio di sviluppo in ambiente Android Coroutine in Kotlin per la gestione del calcolo concorrenziale Ciclo divita di una applicazione Servizi e attività in background Sensori e loro gestione Architettura MVVM (Model-View-ViewModel) Librerie Volley, Gson, Dagger/Hilt, Retrofit, MPAndroidChart, Room, ... Toolkit Andoid JetPack Compose per lo sviluppo di interfacce ViewModel per la gestione dell'architettura MVVM Cenni all'uso di database nella applicazioni Mobili Gestione e verifica della Privacy nelle applicazioni mobili

    Numero crediti

    6

    Obbligatorio

    No

    Lingua

    ITA
  • FONDAMENTI DI ELETTRONICA Didattica Web

    Docente:

    Marco Re

    Programma

    Introduzione ai sistemi digitali: Specifica di sistemi combinatori ad alto livello. Specifica di sistemi combinatori a livello binario. Codifica e decodifica, codici. Rappresentazione binaria di numeri interi con e senza segno. Analisi di circuiti combinatori dal livello binario a livello comportamentale. Logica Booleana. Rappresentazioni canoniche di reti combinatorie (Somma di prodotti, Prodotti di somme). Caratteristiche di circuiti integrati CMOS orientati alla sintesi di sistemi combinatori. Margine di rumore. Porte Logiche architetture CMOS (NAND, NOR, XOR, AND, OR, MUX, BUFFERS, BUFFER Three state). Implementazioni basate su transistori e Transmission Gates. Modellazione del comportamento temporale. Descrizione ed analisi di reti di porte logiche. Progetto di sistemi combinatori. Reti a due livelli minime il metodo delle mappe di Karnough. Maximum Delay path per circuiti combinatori. Reti multilivello: fattorizzazione e sharing. Circuiti combinatori programmabili: FPGAs cenni, Programmable Array Logic (PAL), Programmable Logic Array (PLA). I sistemi sequenziali: Sistemi sequenziali sincroni. Analisi di circuiti sequenziali: tabella di transizione di stato, diagramma di stato, comportamento temporale di macchine a stati finiti. Analisi ad alto livello, analisi di macchine sequenziali partendo da specifica binaria (circuito). Architetture ed equazioni delle Macchine di Mealy e delle Macchine di Moore. Architettura dei flip flops: gated-latch, edge-triggered flip-flop, flip-flop tipo D, T, SR e JK. Tempi caratteristici dei Flip Flop. Analisi e sintesi di sistemi sequenziali. Parametri caratteristici sistemi sequenziali: costo, timing, massima frequenza funzionamento. Progetto di macchine sequenziali con codifica speciale degli stati: "un flip-flop per stato", registro di stato a scorrimento (shifting state register). Convertitori A/D e D/A. Cenni ai linguaggi di descrizione dell’ hardware (VHDL).

    Numero crediti

    9

    Obbligatorio

    No

    Lingua

    ITA
Corso
  • Titolo: Ingegneria Informatica
  • Anno Accademico: 2024/2025
  • Tipo: Corso di Laurea
  • Manifesto: b1da4d7a-0fe6-49f1-b768-6bd1cd7c3424
  • ISCED: 7 73 732
Info