Corso di laurea - Area di Scienze MM.FF.NN. - Accesso libero con prova di verifica obbligatoria delle conoscenze richieste per l'ammissione.L'esito della prova non preclude la possibilità di immatricolarsi (D.M. 270/04) - Classe L-31
Lingua: Italiano
Informazioni generali
o Classe di Laurea: L-31 (D.M. 270/04)
o Tipologia di corso: Laurea
o Durata: 3 anni
o Tipo di accesso: Accesso libero con verifica delle competenze in ingresso
o Area di afferenza: Scienze Matematiche, Fisiche e Naturali
o Dipartimento: Ingegneria dell’Impresa Mario Lucertini
o Codice corso: H02
Descrizione e obiettivi formativi
Il corso fornisce conoscenze nei vari settori delle scienze e tecnologie dell'informazione volte a una gestione consapevole dei sistemi informatici, nell'uso come nella progettazione e nello sviluppo.
Lo studente acquisisce un'adeguata conoscenza dei settori di base dell'informatica, nonché dei lineamenti fondamentali e degli strumenti di supporto della matematica. Il percorso didattico prevede: acquisizione di nozioni di base di fisica e di matematica sia discreta sia del continuo; conoscenza dei principi, dei modelli teorici e delle architetture dei sistemi di elaborazione e delle reti di comunicazione; conoscenza dei fondamenti teorici dell'informatica, dei principali modelli di calcolo e della teoria dei linguaggi; - conoscenza e utilizzazione dei sistemi operativi; acquisizione di elementi di analisi e progettazione degli algoritmi e delle strutture dati; acquisizione delle moderne metodologie e linguaggi di programmazione; assimilazione dei principi per la progettazione e la realizzazione dei sistemi per la gestione delle basi di dati e le tecnologie correlate; acquisizione delle tecniche di progettazione e realizzazione di sistemi informatici.
Un congruo numero di crediti è riservato a corsi di laboratorio ed esercitazioni, anche offerte da altri corsi.
Sono previsti tirocini formativi presso aziende, enti di ricerca, e strutture della pubblica amministrazione o attività progettuali sostitutive, e l'incentivazione di soggiorni di studio presso università straniere nel quadro di accordi internazionali.
Sbocchi professionali
Per la natura pervasiva dell'informatica nell'ambito delle diverse attività economiche, le competenze acquisite sono richieste ed applicabili in un ampio spettro di contesti.
Tra questi, in particolare: attività tecniche per servizi di supporto alle attività istituzionali delle amministrazioni pubbliche; installazione, gestione e sviluppo di sistemi informatici; supporto ad attività di ricerca in università o enti di ricerca pubblici o privati; progettazione, sviluppo, integrazione, personalizzazione e gestione di sistemi ed applicazioni software; gestione di sistemi informativi e basi di dati; sicurezza informatica; attività di supporto per lo sviluppo e la gestione di infrastrutture e servizi nell'ambito delle telecomunicazioni e, in particolare, dell'accesso a internet; gestione di reti di telecomunicazioni fissa e mobile; gestione di reti di trasmissione di programmi radiotelevisivi via cavo, satellite, ripetitori terrestri; gestione e monitoraggio di reti di trasmissione dati; fornitura di accesso a Internet (provider).
Condizione occupazionale (Indicatori di efficacia e livello di soddisfazione dei laureandi):
http://statistiche.almalaurea.it/universita/statistiche/trasparenza?CODICIONE=0580206203100001
Valutazione della didattica - Studenti
Anno accademico precedente
Riferimenti web e contatti
Sito Web Macroarea: http://www.scienze.uniroma2.it
Sito Web Corso: http://www.informatica.uniroma2.it/
Coordinatore del Corso:
Prof. Roberto Basili
tel: +39 06 7259 7391
e-mail:basili@info.uniroma2.it
Segreteria didattica: Sig. Francesco Stillitano (Dipartimento Ingegneria dell'Impresa )
tel.: +39 06 7259 7503
email: segreteriadidattica.informatica@uniroma2.it
Il corso di laurea triennale in Informatica a Tor Vergata punta a formare degli specialisti informatici che abbiano acquisito i fondamenti della cultura informatica e che, essendo in grado di applicare tali principi, si pongano come specialisti ad uno stesso tempo competenti e flessibili in settori quali la progettazione, lo sviluppo e la gestione delle applicazioni software. Il percorso di studi prevede, quindi, sia insegnamenti di tipo teorico che alcuni orientati più a tecniche e prassi tipiche di una competenza più orientata alla pratica dello sviluppo del software.
Questo significa ovviamente che il Corso lascia molto spazio ad attività pratiche, di laboratorio, ad esercitazioni dedicate in presenza o meno di tutor, e, proprio allo scopo di preparare lo studente all'ingresso nel mondo del lavoro, ad attività complementari come gli stage presso organizzazioni esterne.
Sono ammessi al corso di laurea gli studenti in possesso di un diploma di scuola secondaria superiore o di altro titolo di studio conseguito all'estero riconosciuto idoneo.
Gli aspiranti debbono, nei tempi prestabiliti dall'apposito bando, presentare domanda di iscrizione al Corso di Laurea, secondo le modalità definite dall'Ateneo, allegando i titoli di cui sono in possesso. Il bando viene pubblicato sulla pagina web della Macroarea di Scienze Matematiche, Fisiche e Naturali (http://www.scienze.uniroma2.it/).
la pubblicazione del bando viene segnalata con un avviso sul sito del Corso di Laurea (http://www.informatica.uniroma2.it).
Sempre con uno specifico avviso sullo stesso sito si segnala la disponibilità di eventuali premi per i migliori risultati ottenuti nel test. Per l'ammissione al corso di Laurea in informatica viene assunto il possesso, e in caso contrario richiesta l'acquisizione, di una adeguata preparazione iniziale sugli argomenti di base di cui all'elenco in Appendice al Regolamento (pubblicato sul sito web del Corso di Laurea). Il recupero di eventuali obblighi formativi aggiuntivi potrà essere effettuato mediante frequenza di opportuni corsi di recupero, offerti nell'ambito delle attività didattiche, specificati sulla Guida dello Studente.
Sempre con uno specifico avviso sul sito web del Corso di Laurea si segnala la disponibilità di tali corsi di recupero.
La prova finale per il conseguimento della Laurea in Informatica consiste nella redazione di un elaborato di Tesi finale e della discussione dei suoi principali aspetti metodologici con una Commissione 'dedicata' formata da due docenti del CdL, per un tempo di circa 50-60 minuti.
Infine, la presentazione collegiale alla Commissione da parte dello studente avviene con un tempo di circa 15 minuti, inclusivi d domande da parte dei Commissari.
La valutazione finale avviene seduta stante e recepisce il parere della Commisione 'dedicata'.
Segue la proclamazione pubblica.
I laureati nei corsi di laurea della classe possiedono conoscenze nei vari settori delle scienze e tecnologie dell'informazione sia mirate all'uso e alla gestione consapevole di sistemi informatici, sia mirate alla loro utilizzazione nella progettazione e sviluppo di sistemi informatici.
A tale scopo il laureato ha acquisito un'adeguata conoscenza dei settori di base dell'informatica nonché dei lineamenti fondamentali e degli strumenti di supporto della matematica. Pertanto, il percorso didattico prevede: - l'acquisizione di nozioni di base di fisica e di matematica sia discreta che del continuo; - la conoscenza dei principi, dei modelli teorici e delle architetture dei sistemi di elaborazione e delle reti dicomunicazione; - la conoscenza dei fondamenti teorici dell'informatica, dei principali modelli di calcolo e della teroria dei linguaggi; - la conoscenza e l'utilizzazione dei sistemi operativi; - l'acquisizione di elementi di analisi e progettazione degli algoritmi e delle strutture dati; - l'acquisizione delle moderne metodologie di programmazione nonché la conoscenza dei più importanti linguaggi di programmazione; - l'assimilazione dei principi per la progettazione e la realizzazione dei sistemi per la gestione delle basi di dati e le tecnologie correlate; - l'acquisizione delle tecniche di progettazione e realizzazione di sistemi informatici; Il percorso didattico prevede l'acquisizione di conoscenze in settori affini. Il percorso didattico comprende inoltre: - un congruo numero di crediti riservato a corsi di laboratorio oltre che ad esercitazioni di laboratorio eventualmente previste in altri corsi, - lo svolgimento di tirocini formativi presso aziende, enti di ricerca, e strutture della pubblica amministrazione o attività progettuali sostitutive. Si prevede anche l'incentivazione di soggiorni di studio presso università straniere nel quadro di accordi internazionali.
Possesso di diploma di scuola secondaria superiore o di altro titolo di studio conseguito all'estero e riconosciuto idoneo. La precisazione delle conoscenze richieste e la specificazione delle modalità di verifica vengono rimandate al regolamento didattico del corso di studio, dove saranno altresì indicati gli obblighi formativi aggiuntivi previsti nel caso in cui la verifica non sia positiva.
vedere http://www.mat.uniroma2.it/brenti/opa.pdf
Basi Java: Introduzione a java, Programmazione ad oggetti, Design pattern per la programmazione ad oggetti. Programmazione con IDE come Eclipse. Android OS: Introduzione alla programmazione su terminali mobili, App Android, Risorse per le APP, Creazione di APP, Creazione di elementi grafici, gestione delle comunicazioni. J2EE: Programmazione java per server, basi di JSP, interfacce REST
Verranno trattari i seguenti temi: risoluzione automatica dei problemi; algoritmi e programmi; modelli di calcolo; linguaggi di programmazione; tipi di linguaggi di programmazione; compilazione ed interpretazione; linguaggi imperativi. linguaggio di programmazione C: struttura di un programma; tipi di dati semplici e strutturati; variabili; strutture di controllo; puntatori; funzioni; ricorsione; operazioni di input/output; strutture di dati elementari. Introduzione al linguaggio di programmazione Python. Algoritmi elementari di ricerca e ordinamento.
-Sistema dei numeri: Numeri Naturali, Interi, Razionali, Reali e Complessi. -Limiti di successioni e funzioni di variabile reale. -Derivata, applicazioni allo studio di funzioni di variabile reale. -Calcolo integrale di Riemann, Teorema fondamentale del calcolo integrale, tecniche di integrazione di funzioni elementari. -Polinomi di Mac Laurin e Taylor. -Serie e integrali impropri. -Equazioni differenziali a variabili separabili, equazioni lineari omogenee e non omogenee a coefficienti costanti. -Calcolo differenziale per funzioni a più variabili: continuità, differenziabilità e matrice Jacobiana, estremi locali e matrice Hessiana
INTRODUZIONE - Approccio strutturale - Pietre miliari nell'architettura dei computer - Tipologie di computer - Unità metriche ORGANIZ. DEI SISTEMI DI CALCOLO - Processori - Memoria principale - Memoria secondaria - Input/Output LIVELLO LOGICO DIGITALE - Porte logiche e algebra di Boole - Circuiti logici digitali elementari - Memoria - Chip della CPU e bus - Esempi di Chip della CPU - Esempi di bus - Interfacce LIVELLO DI MICROARCHITETTURA - Esempio di microarchitettura - Esempio di ISA:IJVM LIVELLO DI ARC. DELL'INSIEME D'ISTRUZIONI - Panoramica del livello ISA - Tipi di dati - Formati delle istruzioni - Indirizzamento - Tipi di istruzioni - Flusso di controllo LIVELLO DEL SISTEMA OPERATIVO - INTRODUZIONE - PROCESSI E THREAD - GESTIONE DELLA MEMORIA - FILE SYSTEM - INPUT/OUTPUT - DEADLOCK LIVELLO DEL LINGUAGGIO ASSEMBLATIVO - Introduzione al linguaggio assemblativo - Macroistruzioni - Il processo di assemblaggio - Collegamento e caricamento ARCHITETTURE PER IL CALCOLO PARALLELO - Parallelismo nel chip - Coprocessori - Multiprocessori - Multicomputer - Virtualizzazione
-Sistema dei numeri: Numeri Naturali, Interi, Razionali, Reali e Complessi. -Limiti di successioni e funzioni di variabile reale. -Derivata, applicazioni allo studio di funzioni di variabile reale. -Calcolo integrale di Riemann, Teorema fondamentale del calcolo integrale, tecniche di integrazione di funzioni elementari. -Polinomi di Mac Laurin e Taylor. -Serie e integrali impropri. -Equazioni differenziali a variabili separabili, equazioni lineari omogenee e non omogenee a coefficienti costanti. -Calcolo differenziale per funzioni a più variabili: continuità, differenziabilità e matrice Jacobiana, estremi locali e matrice Hessiana
Algebra lineare ( I°parte) • Lo spazio dei vettori numerici reali a ! componenti Definizione e proprietà di combinazioni lineari, indipendenza e dipendenza lineare tra vettori numerici. • L’algebra delle matrici reali Il linguaggio delle matrici e le principali operazioni (somma, prodotto, matrice trasposta, inversa, triangolare). Metodo di eliminazione di Gauss (per righe) e riduzione a scala di una matrice. • Sistemi di equazioni lineari omogenei e non omogenei Risoluzione con l’algoritmo di Gauss • Determinanti Metodo di Laplace (per righe e per colonne), proprietà, calcolo del determinante con il metodo di eliminazione di Gauss, relazione tra l’annullamento del determinante di una matrice quadrata e la dipendenza lineare delle righe (o delle colonne) Matrice inversa, calcolo dell’inversa con l’algoritmo di Gauss. La regola di Kramer. Algebra lineare (II°parte) • Spazi vettoriali sul campo reale e su F2. • Sottospazio vettoriali • Basi e dimensione di uno spazio vettoriale. • Intersezione e somma di due sottospazi vettoriali. Formula di Grassmann • Matrici e applicazioni lineari Nucleo, Immagine, teorema principale. Il codice di Hamming. Geometria'analitica' • Lo spazio vettoriale dei vettori geometrici Interpretazione geometrica delle operazioni di somma e prodotto per uno scalare. Interpretazione geometrica della dipendenza e indipendenza lineare di vettori geometrici, Prodotto scalare di due vettori geometrici. Basi ortonormali dello spazio dei vettori geometrici. Prodotto scalare in Rn e formula di Shwartz. • Sistemi di coordinate cartesiane nello spazio. Equazioni parametriche e cartesiane di un piano. Equazioni parametriche di una retta. Relazioni di parallelismo e perpendicolarità tra rette e piani.
PART A: Probability and Computing: Randomized Algorithms for Big Data Basic Notions of Probability (Chapt 1 of [2]) Verifying Polynomial Identities (Chapt 1.1 of [2], Verifying Matrix Multiplications (Chapt. 1.3 of [2], Contention Resolutions (Chapt 13 of [3])
Teoria della programmazione lineare. Le soluzioni di base. Il metodo del Simplesso. Il Simplesso in due fasi. La teoria della dualità. La dualità debole. La dualità forte. Le condizioni di complementarità. Il metodo del Simplesso duale. L'algoritmo Primale-Duale. Il linguaggio AMPL. Implementazione in AMPL degli algoritmi proposti nel corso.
Spazi di probabilità. Probabilità condizionata. Formula delle probabilità totali. Formula di Bayes. Eventi indipendenti. Cenni di calcolo combinatorio. Introduzione alle variabili aleatorie. Funzione di distribuzione. Variabili aleatorie discrete e distribuzioni discrete di uso comune (ipergeometrica, binomiale, geometrica, binomiale negativa, Poisson). Variabili aleatorie discrete multidimensionali. Variabili aleatorie discrete indipendenti. Speranza matematica, momenti, varianza e covarianza per variabili aleatorie discrete. Disuguaglianza di Cebichev. Regressione lineare. Variabili aleatorie continue e distribuzioni continue di uso comune (uniforme, esponenziale, normale, Gamma). Processo di Poisson. Speranza matematica, momenti e varianza per variabili aleatorie continue. Legge dei grandi numeri. Teorema limite centrale. Approssimazione normale.
Parte I: Sistemi operativi (I semestre) • Introduzione ai sistemi operativi. • Storia e classificazione dei sistemi operativi. • Principali modelli strutturali. • Gestione dei processi. • Threads. • Sincronizzazione dei processi. • Gestione della memoria. • Gestione dell’ I/O. • Gestione del file system. • I sistemi operativi Unix e Linux. • Casi di studio: Unix e Linux Parte II: Reti di calcolatori (II semestre) • Reti di calcolatori e Internet. • Strato di applicazione. • Strato di trasporto. • Strato di rete e instradamento. • Strato di collegamento e reti di area locale. • Reti wireless
Introduzione al problema dell'Information Retrieval Definizione della nozione di Inverted Indices Costruzione di Indici per l'Information Retrieval Algoritmi per la codifica e compressione dell'Informazione Funzione di Ranking documentale Introduzione al Vector Space Model Modello Probabilistici per l'Information Retrieval Valutazione dei Sistemi di IR Sviluppo efficiente e su larga scala di sistemi di IR Crawling e Detection di risorse duplicate Introduzione a Lucene/SOLR Introduzione a Map Reduce Modelli avanzati di Retrieval (Modello 2-Poisson, Dirichlet Language Model)
Elementi di base dell'Analisi Numerica (interpolazione polinomiale, integrazione numerica, elementi di analisi di matrici, metodi iterativi per i sistemi lineari).
PART A: Probability and Computing: Randomized Algorithms for Big Data Basic Notions of Probability (Chapt 1 of [2]) Verifying Polynomial Identities (Chapt 1.1 of [2], Verifying Matrix Multiplications (Chapt. 1.3 of [2], Contention Resolutions (Chapt 13 of [3])
Introduzione allo studio della Fisica. Moto in una dimensione. Vettori. Moto in due dimensioni. Le leggi del moto. Ulteriori applicazioni delle leggi di Newton. Energia e trasferimento di energia. Energia potenziale, Quantità di moto, urti e introduzione alla dinamica dei sistemi di punti materiali. Moto rotazionale e dinamica dei corpi rigidi. Orbite planetarie: leggi di Keplero e legge di gravitazione universale. Moto armonico. Temperatura, leggi dei gas ideali e teoria cinetica dei gas. Primo principio della termodinamica. Secondo principio della termodinamica. Entropia. Elementi di elettrostatica ed elettrodinamica classica.