PROGRAMMAZIONE DIDATTICA COORTE A.A. 2017/2018
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 2017/2018)

METODOLOGICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi Propedeuticità
57069 CALCOLO DIFFERENZIALE E INTEGRALE MAT/05 6 6 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 SISTEMI DI ELABORAZIONE DELL'INFORMAZIONE 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).

-

73026 ELEMENTI DI MATEMATICA E LOGICA 12 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. Si 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

-

  73027 - ELEMENTI DI MATEMATICA E LOGICA (MOD 1 MATEMATICA DISCRETA) MAT/02 6 6 CFU DI BASE Formazione Matematico-Fisica

-

  73029 - ELEMENTI DI MATEMATICA E LOGICA (MOD 2 LOGICA) MAT/01 6 6 CFU DI BASE Formazione Matematico-Fisica

-

73117 PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 6 Perfezionare la conoscenza della lingua inglese fino ad arrivare almeno al livello B1 ed auspicabilmente al livello B2 della Comunità Europea.

-

  73119 - PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 5 5 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.

-

  73120 - PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 1 1 CFU ALTRE ATTIVITA' Altre Conoscenze Utili per l'Inserimento Nel Mondo del Lavoro
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.

-

1° anno (coorte 2017/2018)

PROFESSIONALE - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi Propedeuticità
57069 CALCOLO DIFFERENZIALE E INTEGRALE MAT/05 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
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 SISTEMI DI ELABORAZIONE DELL'INFORMAZIONE 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).

-

73026 ELEMENTI DI MATEMATICA E LOGICA 12 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. Si 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

-

  73027 - ELEMENTI DI MATEMATICA E LOGICA (MOD 1 MATEMATICA DISCRETA) MAT/02 6 6 CFU DI BASE Formazione Matematico-Fisica

-

  73029 - ELEMENTI DI MATEMATICA E LOGICA (MOD 2 LOGICA) MAT/01 6 6 CFU DI BASE Formazione Matematico-Fisica

-

73117 PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 6 Perfezionare la conoscenza della lingua inglese fino ad arrivare almeno al livello B1 ed auspicabilmente al livello B2 della Comunità Europea.

-

  73119 - PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 5 5 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.

-

  73120 - PERFEZIONAMENTO DELLA LINGUA INGLESE L-LIN/12 1 1 CFU ALTRE ATTIVITA' Altre Conoscenze Utili per l'Inserimento Nel Mondo del Lavoro
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.

-

2° anno (coorte 2017/2018)

METODOLOGICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi Propedeuticità
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 CALCOLO NUMERICO MAT/08 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
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.

-

25882 GEOMETRIA MAT/03 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
Scopo del corso è presentare agli studenti gli elementi di base dell'algebra lineare, della geometria euclidea e proiettiva. Tali argomenti fanno parte dei fondamenti dello studio della matematica moderna. Obiettivo non secondario, inoltre, è mostrare agli studenti una teoria che è fortemente motivata da problemi reali, e che si può trattare in maniera esauriente e rigorosa. Si vogliono mettere in luce la differenza tra gli invarianti delle figure per trasformazioni euclidee e per trasformazioni proiettive.

-

80300 SISTEMI DI ELABORAZIONE E TRASMISSIONE INF/01 15 15 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.

-

80302 PROGRAMMAZIONE CONCORRENTE E ALGORITMI DISTRIBUITI INF/01 9 9 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.

-

25880 BASI DI DATI INF/01 9 9 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.

-

2° anno (coorte 2017/2018)

PROFESSIONALE - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi Propedeuticità
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

-

86801 GESTIONE AZIENDALE ING-IND/35 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
l corso ha come obiettivo principale il completamento della formazione tecnico-informatica specifica con le nozioni fondamentali per la comprensione del contesto aziendale e degli aspetti organizzativi e gestionali di sviluppo e supporto dei sistemi informativi. Questo tipo di corso permette di avvicinare i giovani alle realtà aziendali concrete e rendere quindi più rapido, economico e facile il loro inserimento in azienda. A questo fine il corso sarà suddiviso in tre parti principali. La prima si propone di fornire la comprensione di alcuni concetti chiave dell’Economia Aziendale, quali bilancio, contabilità industriale e scelte di breve periodo. La seconda integra gli elementi fondamentali dell’Organizzazione aziendale declinando organizzazione, specializzazione/standardizzazione e meccanismi di coordinamento nel contesto di azienda, impresa, settore, mercato. La terza parte, affronta i processi decisionali in contesto manageriale, con attenzione alle fasi, alle tecnologie gestionali e alla pianificazione aziendale.

-

61804 CALCOLO NUMERICO MAT/08 6 6 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
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 INF/01 15 15 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.

-

80302 PROGRAMMAZIONE CONCORRENTE E ALGORITMI DISTRIBUITI INF/01 9 9 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.

-

25880 BASI DI DATI INF/01 9 9 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 2017/2018)

METODOLOGICO - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi Propedeuticità
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 CALCOLO DIFFERENZIALE E INTEGRALE 2 MAT/05 9 9 CFU AFFINI O INTEGRATIVE Attività Formative Affini o Integrative
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.

-

80303 FONDAMENTI DELL'INFORMATICA 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 INGEGNERIA DEL SOFTWARE INF/01 9 9 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.

-

80306 COMPLEMENTI DI ALGORITMI E STRUTTURE DATI INF/01 9 9 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 NP-completezza.

-

80307 FISICA FIS/01 9 9 CFU DI BASE Formazione Matematico-Fisica
L'insegnamento fornisce i concetti e le leggi fondamentali della meccanica, dell'elettrostatica, dell'elettromagnetismo (ottica compresa). Particolare importanza viene attribuita alla comprensione dell'utilità e delle limitazioni connesse all'uso di schematizzazioni e modelli. L'interesse degli studenti viene stimolato mostrando come i concetti appresi possono essere utilizzati per comprendere meglio le possibilita' e le limitazioni dell'hardware sia per quanto riguarda la velocita' di una cpu, sia per quanto riguarda in generale la sensoristica e la trasmissione dati.

-

Lo studente deve conseguire anche 12 CFU A SCELTA

3° anno (coorte 2017/2018)

PROFESSIONALE - GE
Codice Disciplina Settore CFU Tipologia/Ambito Obiettivi Formativi Propedeuticità
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.

-

80303 FONDAMENTI DELL'INFORMATICA 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 INGEGNERIA DEL SOFTWARE INF/01 9 9 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.

-

27054 BASI DI DATI 2 INF/01 6 6 CFU CARATTERIZZANTI Discipline Informatiche
Obiettivo del corso è la formazione di utenti amministratori di sistemi di gestione dati, in particolare quelli relazionali. Lo studente deve acquisire capacità relative alla progettazione avanzata e all'amministrazione di una base di dati. In particolare deve apprendere come, dato un documento di specifica dei requisiti, incluso il carico di lavoro: - ottimizzare lo schema logico e lo schema esterno di una base di dati; - progettare lo schema fisico di una base di dati; - monitorare le prestazioni del sistema e adottare correttivi; - gestire l'esecuzione concorrente di transazioni; - definire le politiche di controllo dell'accesso.

-

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) 12 12 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.

-

Lo studente deve conseguire anche 12 CFU A SCELTA