PROGRAMMAZIONE DIDATTICA COORTE A.A. 2018/2019
CORSO DI LAUREA in 8759 INFORMATICA (classe L-31)

SCHEDA INFORMATIVA

Sede amministrativa:  GE
Classe delle lauree in: 

Classe delle lauree in SCIENZE E TECNOLOGIE INFORMATICHE (classe L-31)

Durata:  3 anni
Indirizzo web:  http://informatica.dibris.unige.it/
Dipartimento di riferimento:  SEZIONE INTERSCUOLA DI SCIENZE MATEMATICHE, FISICHE E NATURALI DEL DIBRIS

PIANO DI STUDI

1° anno (coorte 2018/2019)

Comune ai curricula: CURRICULUM PROPEDEUTICO - GE CURRICULUM TECNOLOGICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi
57069 CALCULUS 1 MAT/05 9 9 CFU DI BASE Formazione Matematico-Fisica
Far acquisire i concetti fondamentali del calcolo differenziale integrale: limiti di funzioni e di successioni, continuità, derivabilità di funzioni, ricerca di primitive. Rendere gli studenti capaci di utilizzare i concetti del calcolo differenziale per lo studio del grafico di funzioni e quelli del calcolo integrale per il calcolo dell'area di figure piane. Grande importanza sarà quindi data ad esempi e ad esercizi per aiutare gli studenti a meglio comprendere, assimilare e applicare tali concetti. Un importante obiettivo del corso sarà anche di utilizzare il formalismo e l'astrazione per abituare lo studente ad un metodo di ragionamento rigoroso.
67425 ARCHITETTURA DEI CALCOLATORI INF/01 12 12 CFU CARATTERIZZANTI Discipline Informatiche
Fornire una visione complessiva dei moderni sistemi di elaborazione e del loro funzionamento, identificando i livelli principali della loro organizzazione interna e presentando per ciascuno di tali livelli le problematiche tipiche e le tecniche di base che sottendono le soluzioni utilizzate nella pratica. Introduzione dei principali codici per la rappresentazione delle informazioni in un sistema e delle loro caratteristiche; introduzione dei livelli di macchina convenzionale, di architettura a trasferimento tra registri e di microprogrammazione; introduzione alla programmazione in codice macchina e in linguaggio assembler; cenni alla struttura di un processore moderno con gerarchia di memorie cache. Introduzione alla strutturazione del nucleo di un sistema operativo (virtualizzazione della memoria, gestione delle interruzioni e struttura del nucleo di sicurezza).
73119 PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 3 3 CFU VER. CONOSC. LINGUA STRANIERA Per la Conoscenza di Almeno Una Lingua Straniera
Perfezionare la conoscenza della lingua inglese fino ad arrivare almeno al livello B1 ed auspicabilmente al livello B2 della Comunità Europea.
80298 ALGORITMI E STRUTTURE DATI INF/01 12 12 CFU DI BASE Formazione Informatica di Base
Ampliare le conoscenze e le capacità inerenti la programmazione in piccolo mediante linguaggi imperativi, fornendo le basi per progettare algoritmi corretti ed efficienti,  e sviluppare strutture dati che permettano un’organizzazione efficace ed efficiente delle informazioni.
80299 INTRODUZIONE ALLA PROGRAMMAZIONE INF/01 12 12 CFU DI BASE Formazione Informatica di Base
- Fornire la conoscenza di base dei concetti fondamentali della programmazione imperativa con linguaggi di programmazione classici: macchina virtuale; codifica dei dati e delle istruzioni; modello Von Neumann; linguaggio formale, analisi lessicale, sintattica e semantica; algoritmo; tipo di dato; asserzione invariante; complessità di calcolo. - Imparare ad usare un linguaggio di programmazione imperativo e un ambiente testuale di sviluppo di programmi, come per esempio il linguaggio C oppure C++ (limitato alla parte non object-oriented), con un editor di testi, il compilatore GCC e GNU Make. - Imparare a progettare, realizzare e far funzionare un programma sequenziale di piccole dimensioni partendo dalle specifiche informali fornite dall'utente.
98388 ALGEBRA E LOGICA PER INFORMATICA 12
  73027 - ALGEBRA MAT/02 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
Il corso intende introdurre al metodo razionale, addestrando all'uso del linguaggio scientifico, analizzando le tecniche specifiche del ragionamento logico-deduttivo con applicazioni alla programmazione. Si forniscono gli elementi di base di matematica discreta e di algebra lineare, utilizzando il formalismo e l'astrazione per abituare ad un metodo di ragionamento rigoroso. S’introducono i concetti fondamentali (insiemi, prodotti cartesiani, funzioni, numeri naturali e induzione, equivalenze, cardinalità), strutture algebriche (monoidi, liste, grafi, cammini, anelli di matrici, spazi vettoriali), strutture logiche (calcolo dei predicati e teorie formali, interpretazioni, modelli) e si presentano risultati importanti di matematica discreta e loro applicazioni: - Algoritmo euclideo - Aritmetica modulare - Risoluzione di sistemi lineari - Correttezza e completezza per la logica del prim'ordine - Teoremi di Gödel, di Turing, di Church
  73029 - LOGICA MAT/01 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
Il corso intende introdurre al metodo razionale, addestrando all'uso del linguaggio scientifico, analizzando le tecniche specifiche del ragionamento logico-deduttivo con applicazioni alla programmazione. Si forniscono gli elementi di base di matematica discreta e di algebra lineare, utilizzando il formalismo e l'astrazione per abituare ad un metodo di ragionamento rigoroso. S’introducono i concetti fondamentali (insiemi, prodotti cartesiani, funzioni, numeri naturali e induzione, equivalenze, cardinalità), strutture algebriche (monoidi, liste, grafi, cammini, anelli di matrici, spazi vettoriali), strutture logiche (calcolo dei predicati e teorie formali, interpretazioni, modelli) e si presentano risultati importanti di matematica discreta e loro applicazioni: - Algoritmo euclideo - Aritmetica modulare - Risoluzione di sistemi lineari - Correttezza e completezza per la logica del prim'ordine - Teoremi di Gödel, di Turing, di Church

2° anno (coorte 2018/2019)

Comune ai curricula: CURRICULUM PROPEDEUTICO - GE CURRICULUM TECNOLOGICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi
80249 TEORIA DELL'INFORMAZIONE E INFERENZA INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Imparare a estrarre informazione e inferire conoscenza da dati mediante l'applicazione di concetti e tecniche di base della teoria della probabilità e della statistica
61804 ALGEBRA LINEARE E ANALISI NUMERICA MAT/08 9 9 CFU DI BASE Formazione Matematico-Fisica
Introdurre i concetti fondamentali del calcolo numerico (complessità, errore) e presentare i principali metodi computazionali per la risoluzione dei principali problemi dell'algebra lineare numerica e di alcuni problemi di interpolazione e minimizzazione
61799 LINGUAGGI E PROGRAMMAZIONE ORIENTATA AGLI OGGETTI INF/01 12 12 CFU CARATTERIZZANTI Discipline Informatiche
- Basandosi sulle conoscenze di programmazione imperativa acquisite dallo studente nei corsi precedenti, fornire allo studente le nozioni fondamentali relative ai linguaggi di programmazione ad alto livello e un buon livello di conoscenza di diversi paradigmi di programmazione (in particolare object-oriented e funzionale), dal punto di vista sia concettuale che operativo. - Presentare e far sperimentare lo sviluppo di programmi a partire da specifiche informali nell'ambito della programmazione in piccolo, e mediante l'utilizzo di un ambiente di sviluppo integrato, estendendo quanto visto nel corso di Introduzione alla Programmazione.
80300 SISTEMI DI ELABORAZIONE E TRASMISSIONE DELL'INFORMAZIONE INF/01 12 12 CFU CARATTERIZZANTI Discipline Informatiche
Prendendo spunto dalla convergenza tra le tecnologie di elaborazione e di trasmissione delle informazioni, il corso vuole fornire una visione d'insieme delle principali problematiche di progettazione, realizzazione e gestione efficiente e sicura di un moderno sistema distribuito di rete. Dopo una breve introduzione alle tecniche di misurazione quantitativa delle risorse impiegate da un programma in fase di esecuzione e all'analisi operazionale (non statistica) dei sistemi, si prosegue lungo il percorso iniziato nel corso di Sistemi di elaborazione dell'informazione, presentando i problemi fondamentali e le principali tecniche, realizzate a livello di Sistema Operativo, relative ai seguenti aspetti dei moderni sistemi di elaborazione: esecuzione multitasking; supporto alla concorrenza, cooperazione e sincronizzazione fra thread e fra processi; gestione dell'I/O; gestione dei file; virtualizzazione di calcolatori. Verrà fornito inoltre un quadro di insieme delle principali problematiche della trasmissione dei dati e dell'architettura e dei meccanismi di una moderna rete di calcolatori basata sulla suite TCP/IP, secondo un modello a livelli di astrazione successivi, partendo dal livello applicazione (RPC, Socket, FTP, HTTP, DNS, SMTP, POP, ecc.) e scendendo fino al livello data link (Ethernet). Oltre alla mera descrizione dei protocolli, si enfatizzano le caratteristiche di affidabilità, sicurezza, e maggiore o minore facilità di gestione che derivano dalle varie scelte di progetto dei protocolli stessi.
80306 ANALISI E PROGETTAZIONE DI ALGORITMI INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Apprendimento e analisi dal punto di vista di correttezza ed efficienza di strutture dati e algoritmi classici, assumendo da ASD nozioni base di algoritmi, complessità e strutture dati elementari. Gli argomenti includono tecniche avanzate di analisi e progettazione, algoritmi di ordinamento, strutture dati avanzate, algoritmi su grafi, teoria della NPcompletezza.
25880 BASI DI DATI INF/01 12 12 CFU CARATTERIZZANTI Discipline Informatiche
Obiettivo del corso è la formazione di utenti professionali di sistemi di gestione dati, in particolare quelli relazionali. Tali utenti devono essere in grado di progettare e sviluppare delle semplici basi di dati a supporto di applicazioni, nonché di adattare basi dati già esistenti alle esigenze di nuovi applicativi che debbano interagire con esse, arricchendole o esprimendo nuove interrogazioni. Lo studente deve acquisire capacità relative alla progettazione e sviluppo di una base di dati partendo da un documento di specifica dei requisiti. In particolare deve apprendere come : - esprimere interrogazioni nei linguaggi relazionali e nel linguaggio SQL; - esprimere operazioni di manipolazione nel linguaggio SQL; - stabilire vincoli di integrità sui dati; - esprimere operazioni complesse tramite funzioni e procedure in SQL; - verificare la qualità degli schemi proposti ed eventualmente migliorarli eliminando ridondanze e anomalie.

3° anno (coorte 2018/2019)

CURRICULUM PROPEDEUTICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi
65704 SVILUPPO DI APPLICAZIONI WEB INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Il corso introduce la parte applicativa della rete Internet, intesa come l'insieme di tecniche e metodi per la costruzione di applicazioni web dinamiche, che sono quelle su cui si basa la totalità degli odierni servizi offerti sul web. In particolare si vogliono sviluppare le capacità di programmazione lato client e lato server mediante linguaggi di scripting, prevedendo anche l'interazione con database remoti, la realizzazione di interfacce ricche e l'integrazione di dati esposti mediante API pubbliche. Verranno presentati i linguaggi e le tecnologie seguenti: HTML, CSS, XML, JSON, JavaScript, PHP, Ajax, e lo stile architetturale REST. Particolare enfasi viene data al problema della mancanza di stato propria del protocollo HTTP e alle tecniche per mantenere quello stato che il protocollo non offre. Infine si vuole sviluppare una conoscenza di base dei concetti di usabilità, accessibilità e di sicurezza delle applicazioni web.
80156 COMPUTER SECURITY ING-INF/05 6 6 CFU CARATTERIZZANTI Discipline Informatiche
1. Introduction 2. Introduction to Cryptography 3. Symmetric Cryptography 4. Public-Key Cryptography 5. Message Authentication and Digital Signatures 6. Public Key Infrastructure (PKI) 7. Authentication Protocols 8. Internet Security 9. Secure Programming 10. Network Security 11. Web Security 12. Malware 13. Access Control
67866 PROVA FINALE (INDIRIZZO METODOLOGICO) 3 3 CFU PROVA FINALE Per la Prova Finale
Verificare la capacità di affrontare, con una certa autonomia, un argomento, o una problematica, documentandosi su letteratura originale, effettuando approfondimenti, confronti, sintesi; produrre una relazione chiara e rigorosa; esporre in modo efficace i risultati. La dimensione e la complessità devono essere tali da poter realizzare tutto con circa 75 ore di lavoro.
61805 CALCULUS 2 MAT/05 9 9 CFU DI BASE Formazione Matematico-Fisica
Il corso si propone di fornire le nozioni elementari sulle serie numeriche e di potenze e le conoscenze di base del calcolo differenziale e integrale per le funzioni reali e vettoriali di più variabili reali. Più che sulle dimostrazioni si insisterà sulla comprensione e sull'assimilazione dei concetti e dei risultati principali e sulle applicazioni. Ampio spazio verrà dato ad esempi e ad esercizi. Alla fine del corso, gli studenti dovrebbero essere in grado di svolgere correttamente calcoli elementari e standard riguardanti serie numeriche e di potenze, derivate parziali o direzionali, ricerca di massimi e minimi per funzioni di più variabili, integrali multipli.
80302 PROGRAMMAZIONE CONCORRENTE E ALGORITMI DISTRIBUITI INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Comprendere i problemi e le metodologie necessarie allo sviluppo di programmi concorrenti ed asincroni attraverso lo studio dei principi di cooperazione e sincronizzazione tra processi con memoria condivisa e tra processi distribuiti. Esercitazioni in laboratorio sull'uso di librerie per concorrenza e distribuzione in diversi linguaggi/piattaforme.
80303 TEORIA DEGLI AUTOMI E CALCOLABILITÀ INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Introduzione a linguaggi formali e alla teoria degli automi e calcolabilità background considerato core tier nel curriculum ACM/IEEE 2013 e utile in vari contesti quali: compilatori, intelligenza artificiale, database, linguaggi per il web e metodi formali per l'analisi di sistemi
80305 FONDAMENTI DI INGEGNERIA DEL SOFTWARE INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Il corso si propone di introdurre i principi scientifici e professionali di base dell'ingegneria del software, affrontando le diverse fasi di sviluppo del codice: pianificazione, progettazione, modellazione, implementazione, collaudo e verifica, manutenzione. Al termine del corso, lo studente avrà acquisito una conoscenza base di UML.
98389 FONDAMENTI DI COMPUTAZIONE QUANTISTICA FIS/02 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
Apprendere i concetti e i fenomeni principali alla base dei computer quantistici - quali il principio di sovrapposizione degli stati, il q-bit, l'entanglement e le porte quantistiche - e capire il funzionamento di alcuni algoritmi quantistici elementari.
98390 ELEMENTI DI CULTURA AZIENDALE, PROFESSIONALE, SOCIALE E GIURIDICA 3 3 CFU ALTRE ATTIVITA' Altre Conoscenze Utili per l'Inserimento Nel Mondo del Lavoro
Impadronirsi dei rudimenti di cultura aziendale, professionale, sociale e giuridica necessari per inserirsi nel mondo del lavoro in ambito informatico.

Lo studente deve conseguire anche 12 CFU A SCELTA

3° anno (coorte 2018/2019)

CURRICULUM TECNOLOGICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi
65704 SVILUPPO DI APPLICAZIONI WEB INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Il corso introduce la parte applicativa della rete Internet, intesa come l'insieme di tecniche e metodi per la costruzione di applicazioni web dinamiche, che sono quelle su cui si basa la totalità degli odierni servizi offerti sul web. In particolare si vogliono sviluppare le capacità di programmazione lato client e lato server mediante linguaggi di scripting, prevedendo anche l'interazione con database remoti, la realizzazione di interfacce ricche e l'integrazione di dati esposti mediante API pubbliche. Verranno presentati i linguaggi e le tecnologie seguenti: HTML, CSS, XML, JSON, JavaScript, PHP, Ajax, e lo stile architetturale REST. Particolare enfasi viene data al problema della mancanza di stato propria del protocollo HTTP e alle tecniche per mantenere quello stato che il protocollo non offre. Infine si vuole sviluppare una conoscenza di base dei concetti di usabilità, accessibilità e di sicurezza delle applicazioni web.
80156 COMPUTER SECURITY ING-INF/05 6 6 CFU CARATTERIZZANTI Discipline Informatiche
1. Introduction 2. Introduction to Cryptography 3. Symmetric Cryptography 4. Public-Key Cryptography 5. Message Authentication and Digital Signatures 6. Public Key Infrastructure (PKI) 7. Authentication Protocols 8. Internet Security 9. Secure Programming 10. Network Security 11. Web Security 12. Malware 13. Access Control
80302 PROGRAMMAZIONE CONCORRENTE E ALGORITMI DISTRIBUITI INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Comprendere i problemi e le metodologie necessarie allo sviluppo di programmi concorrenti ed asincroni attraverso lo studio dei principi di cooperazione e sincronizzazione tra processi con memoria condivisa e tra processi distribuiti. Esercitazioni in laboratorio sull'uso di librerie per concorrenza e distribuzione in diversi linguaggi/piattaforme.
80305 FONDAMENTI DI INGEGNERIA DEL SOFTWARE INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Il corso si propone di introdurre i principi scientifici e professionali di base dell'ingegneria del software, affrontando le diverse fasi di sviluppo del codice: pianificazione, progettazione, modellazione, implementazione, collaudo e verifica, manutenzione. Al termine del corso, lo studente avrà acquisito una conoscenza base di UML.
80311 TECNICHE AVANZATE DI PROGRAMMAZIONE INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Concetti di progettazione e programmazione basata su componenti. Tecnologie e strumenti di produttività in uso nell'ambito professionale. Integrazione delle capacità di progettazione e programmazione acquisite durante i corsi di programmazione, basi di dati e ingegneria del software.
67863 PROVA FINALE (INDIRIZZO PROFESSIONALE) 6 6 CFU PROVA FINALE Per la Prova Finale
Tipicamente, l'obiettivo è la realizzazione di un progetto, nelle sue varie fasi (analisi del problema, studio e confronto di eventuali soluzioni già proposte, proposta di soluzione, realizzazione, verifica della soluzione proposta). In alcuni casi, l'attività può riguardare solo un gruppo di fasi. Un requisito importante è una sufficiente autonomia nello svolgimento del lavoro. La dimensione e la complessità devono essere tali da poter realizzare tutto con circa 300 ore di lavoro.
98390 ELEMENTI DI CULTURA AZIENDALE, PROFESSIONALE, SOCIALE E GIURIDICA 3 3 CFU ALTRE ATTIVITA' Altre Conoscenze Utili per l'Inserimento Nel Mondo del Lavoro
Impadronirsi dei rudimenti di cultura aziendale, professionale, sociale e giuridica necessari per inserirsi nel mondo del lavoro in ambito informatico.
98391 TIROCINIO 6 6 CFU ALTRE ATTIVITA' Tirocini Formativi e di Orientamento

6 CFU tra i seguenti insegnamenti:
84490 APP MULTIMEDIALI E INTERNET DEL FUTURO ING-INF/03 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
Il corso avrà l'obiettivo di far acquisire esperienza mediante la realizzazione di alcuni componenti di un sistema multimediale con particolare riferimento a quelli per reti mobili quali i moderni smartphone o quelli relativi alla così detta "Internet of Things": le cosiddette Apps. Le problematiche affrontate riguarderanno la rappresentazione, l'elaborazione e il recupero di dati multimediali tra i quali suoni, musica, grafica, immagini e video ma altresì informazione di localizzazione o proveniente da sensori quali l'accelerometro, la bussola ecc. al fine di realizzare le moderne Apps. Allo stesso tempo, verrano presentate le principali caratteristiche architetturali delle moderne reti di telecomunicazioni nella loro evoluzione verso l'Internet del futuro: integrazione tra rete fissa e mobile, separazione tra il trasporto dei dati e il controllo e gestione della rete, virtualizzazione delle funzioni di rete, flessibilità, programmabilità, efficienza energetica.
52507 DATA MINING SECS-S/01 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
Sviluppare la capacità di estrarre sapere e conoscenza da grandi quantità di dati.
 

PROPEDEUTICITÀ

Nessuna indicazione.