Informatica

Università degli Studi di Pisa
A Pisa

Chiedi il prezzo
Vuoi parlare del corso con un consulente?
Confronta questo corso con altri simili
Leggi tutto

Informazione importanti

  • Laurea
  • Pisa
Descrizione

Il Corso di Laurea è progettato con l’obiettivo di rispondere alla crescente domanda di figure aventi elevate competenze scientifiche e tecnologiche per la società dell’informazione; ci si propone di formare specialisti dotati di una profonda cultura nei fondamenti scientifici dell’informatica e di elevate competenze nelle relative tecnologie, con l’obiettivo di contribuire al progresso dell’informatica sia per quanto riguarda gli aspetti di base che per il loro utilizzo nei differenti ambiti applicativi. Il percorso formativo copre tutti gli argomenti fondamentali indispensabili nel bagaglio culturale di un laureato magistrale del settore; è prevista, inoltre, l’acquisizione di conoscenze avanzate su alcuni argomenti specialistici di notevole impatto innovativo, che lo studente sceglie in base alle proprie attitudini e ai propri interessi, all’interno di una offerta che valorizza le aree di competenza specifiche dei docenti. Le basi scientifiche forniscono gli strumenti concettuali che permettono di identificare e definire compiutamente gli indicatori di qualità delle soluzioni computazionali proposte in termini di efficienza algoritmica, correttezza e prestazioni. Allo stesso tempo il laureato magistrale in informatica sarà in grado di valutare e padroneggiare le tecnologie informatiche. Il percorso formativo della laurea magistrale in informatica è strutturato in due fasi. La prima parte del percorso formativa della laurea magistrale si pone come obiettivo quello fare crescere la capacità di astrazione degli studenti. La capacità di vedere un sistema informatico a diversi livelli di astrazione usando tecniche e linguaggi differenti è l’aspetto che meglio caratterizza il laureato magistrale e che permette loro di comprendere e dominare l’innovazione. La seconda parte del percorso formativo prevede...

Informazione importanti
Sedi

Dove e quando

Inizio Luogo
Consultare
Pisa
Lungarno Antonio Pacinotti, 43 , 56122, Pisa, Italia
Visualizza mappa

Opinioni

Non ci sono ancora opinioni su questo corso

Programma

  • Principi dei linguaggi di Programmazione (9 cfu)

    • Il corso si propone l'obiettivo di presentare i prinicipi e le tecniche per la realizzazione di linguaggi di programmazione. Il corso consiste di due moduli.
      Il primo modulo si propone di Introdurre la teoria, i principi e le tecniche per la generazione di efficienti strumenti che mappano programmi in codici eseguibili sulle machine correnti. limitandoci agli aspetti di più diffusa applicazione e fornendo puntatori ad approfondimenti.
      Il secondo modulo ha l'obiettivo stendere ed approfondire la conoscenza dei diversi paradigmi linguistici. Mostrare alcuni esempi di tecniche basate sulla semantica utilizzabili nella implementazione di linguaggi.
  • Basi di dati II (9 cfu)

    • Gli obiettivi del corso sono:
      Fornire informazioni sulle tecniche per la realizzazione di sistemi per basi di dati, per permettere un uso più consapevole di tali strumenti, per fornire gli strumenti di base per l’amministrazione di sistemi per la gestione di basi di dati, e per fornire conoscenze relative ad algoritmi, strutture dati, ed alla costruzione di sistemi complessi
      Fornire informazioni relative a modelli avanzati per la gestione di dati semistrutturati e di conoscenza in uso nel semantic web

      Syllabus

      Architettura dei DBMS (sistemi per la gestione di basi di dati)
      Il gestore della memoria permanente e il gestore del buffer
      Il gestore delle strutture di memorizzazione
      Il gestore dei metodi di accesso
      Il gestore del catalogo e il gestore delle autorizzazioni.
      Il gestore delle interrogazioni: ottimizzazione ed esecuzione.
      Gestione delle transazioni e della concorrenza.
      Progettazione fisica e messa a punto di basi di dati
      Introduzione a XML e alla interrogazione di database semistrutturati.
      Ontologie formali e elementi di description logic
      Introduzione ai linguaggi formali per il web semantico: Resource Description Framework (RDF), Web Ontology Language (OWL)
  • Programmazione Avanzata (9 cfu)

    • Gli obiettivi del corso sono:
      di fornire agli studenti una conoscenza approfondita di come come concetti e metafore ad alto livello dei linguaggi di programmazione si traducono in sistemi eseguibili e quali siano i loro costi e limiti
      di familiarizzare gli studenti con i moderni principi, tecniche e migliori pratiche per la costruzione di software sofisticato
      di introdurre tecniche di programmazione a livelli di astrazione più elevata, in particolare generative programming, component programming e web computing
      di presentare frameworks allo stato dell’arte che incorporano queste tecniche.
      Il corso in particolare si focalizza su questioni di qualità relative al progetto dettagliato ed alla codifica, quali l’affidabilità, le prestazioni, l’adattabilità e l’integrabilità in sistemi più ampi.

      Syllabus
      Pragmatica dei Linguaggi di Programmazione
      Supporto Run Time e Ambienti di Esecuzione
      Programmazione Generica
      Librerie di Classi e Framework
      Programmazione Generativa
      Interoperabilità tra Linguaggi
      Programmazione Basata su Componenti
      Web Services
      Web e Application Frameworks
      Linguaggi di Scripting

  • Algoritmica II (9 cfu)

    • In questo corso studieremo, progetteremo e analizzeremo soluzioni algoritmiche e strutture dati avanzate per la risoluzione efficiente di problemi combinatori che coinvolgono vari tipi di dato— quali interi, stringhe, punti (geometrici), alberi, grafi. Questo corso costituisce un naturale approfondimento e ampliamento delle conoscenze di base apprese nel percorso della laurea triennale. Il suo syllabus è organizzato per ambiti applicativi, al fine di contestualizzare le tecniche studiate nella realizzazione di software efficiente per essi, e così da consentire adattamenti e specializzazioni di anno in anno che si renderanno necessari e/o opportuni.

      Data Storage
      Data compression e data synchronization

      Data Streaming
      Bloom Filter: standard, spectral, compressed, con applicazioni
      Count Min Sketch, con applicazioni

      Memorie Gerarchiche
      Permuting e Sorting, limiti inferiori
      Multi-way mergesort su 1 disco, disk striping, e sorting multi-disco
      String B-tree

      BioInformatica
      Suffix Array: definizione, ricerca e costruzione
      Suffix Tree: definizione, ricerca, e costruzione da LCP e SA
      Lowest Common Ancestor
      Pattern matching: KMP, Aho-Corasick, Agrep

      Motori di Ricerca
      Hashing: universale, cuckoo, perfect, minimal ordered perfect
      Codifiche di interi a lunghezza variabile
      Liste invertite: memorizzazione e query

      Reti
      Distributed set operations e hash table
      Skip graphs: P2P routing via skip lists
      Caching: competitive analysis e on-line algorithms

      GIS e DataBase
      Closest Pair, Interval tree, Range tree, Priority search tree, K-d tree

      Algoritmi di approssimazione, e strutture dati avanzate
      Soluzioni approssimate a problemi NPC
      Strutture dati randomizzate e auto-aggiustanti

  • Metodi numerici e ottimizzazione (12 cfu)

    • Il corso si propone di presentare alcune delle principali metodologie e tecniche relative alla soluzione di problemi numerici. Tali metodologie richiedono l'utilizzo, spesso in combinazione tra loro, di tecniche dell'analisi numerica e di algoritmi di ottimizzazione. Verranno illustrati alcuni dei principali casi in cui i metodi di ottimizzazione trovano applicazione nella risoluzione di problemi di analisi numerica e, viceversa, le tecniche di analisi numerica risultano fondamentali per la soluzione di problemi di ottimizzazione. Le metodologie introdotte saranno illustrate mediante l'applicazione ad alcuni specifici problemi selezionati, ad esempio, nei seguenti ambiti: regressione e stima di parametri in statistica, approssimazione e data fitting, machine learning, data mining, ricostruzioni di immagini e segnali, equilibri economici e problemi finanziari.

      Syllabus

      Richiami di algebra lineare e calcolo differenziale
      Ottimizzazione non vincolata e sistemi di equazioni
      Metodi diretti ed iterativi per sistemi lineari
      Metodi iterativi per sistemi non lineari
      Metodi per l'ottimizzazione non vincolata
      Problema dei minimi quadrati
      Metodi iterativi per il calcolo di autovalori
      Ottimizzazione vincolata e sistemi di equazioni
      Algoritmi per l'ottimizzazione vincolata
      Applicazioni: regressione, stima di parametri, approssimazione e data fitting
      Applicazioni: machine learning, data mining, ricostruzioni di immagini e segnali
      Applicazioni: equilibri economici e problemi finanziari
      Strumenti software per problemi numerici

  • Modelli di Calcolo (9 cfu)

    • Vengono introdotti i principi della semantica operazionale, della semantica denotazionale e delle tecniche per metterle in relazione per un linguaggio imperativo e per un linguaggio funzionale di ordine superiore. Viene anche presentata la semantica operazionale e osservazionale di due calcoli per la descrizione di processi (CCS e pi-calcolo). Infine si esaminano i modelli operazionali con probabilità discrete e li si presentano dal punto di vista degli automi probabilistici.

      Syllabus
      Semantica operazionale e denotazionale di un semplice linguaggio imperativo (IMP)
      Introduzione e sistemi di prova con regole di inferenza
      Sintassi e semantica operazionale di IMP
      Tecniche di prova per induzione.
      Ordinamenti parziali completi
      Teorema del minimo punto fisso
      Segnature e algebre dei termini
      Semantica denotazionale di IMP
      Equivalenza tra semantica operazionale e denotazionale di IMP
      Semantica operazionale e denotazionale di un linguaggio funzionale higher order (HOL)
      Sintassi e semantica operazionale lazy di HOL
      Domini e costruzioni di domini
      Semantica denotazionale lazy di HOL
      Relazione tra semantica operazionale e denotazionale di HOL
      Sistemi di transizione e calcoli di processo per sistemi comunicanti mobili e probabilistici
      Sintassi e semantica operazionale di un calcolo di processi (CCS)
      Semantica osservazionale del CCS
      Logica di Hennessy-Milner
      Sintassi e semantica di un calcolo per processi mobili (pi-calculus)
      Modelli operazionali con probabilità discrete, processi di Markov
      Automi probabilistici (PA)
      Simulazione e bisimulazione di PA

  • Sistemi distribuiti: paradigmi e modelli (9 cfu)

    • Il corso tratta dei paradigmi e dei modelli di programmazione utilizzati per sistemi distribuiti e paralleli sia a livello delle applicazioni che degli strumenti di supporto. Partendo da modelli di programmazione strutturata (algorithmical skeleton, parallel design pattern) o basati sul concetto di componente o di servizio, verranno presi in considerazione sia i problemi relativi agli aspetti funzionali (potere espressivo, modularità, riuso) che quelli relativi agli aspetti non funzionali (performance, fault tolerance, adattività). Nell’ultima parte del corso si presenteranno i protocolli e le problematiche relative alle reti wireless e multimedia nonché alle architetture peer2peer, e si vedranno le implicazioni derivanti dal loro uso per la realizzazione di applicazioni parallele e distribuite.


      Syllabus
      Paradigmi per la programmazione parallela e distribuita
      Programmazione strutturata
      Componenti
      Workflow

      Modelli implementativi'
      Posix-TCP/IP-SSH/SCP
      RPC/RMI
      Distributed Virtual Shared Memory
      Distributed Virtual File Systems
      Sistemi “Middleware” (Globus, gLite, ...)

      Architetture per sistemi distribuit
      Reti wireless
      Reti per multimedia
      Architetture Peer-to-peer
  • Prova Finale (24 cfu)

  • 12 cfu a scelta nel gruppo Libera scelta

    • Insegnamenti a libera scelta dello studente
    • Servizi software (6 cfu)

      • • Obiettivi formativi: L’obiettivo del corso è introdurre gli aspetti principali della progettazione, analisi e realizzazione di servizi software. Syllabus • Standard di base dei servizi Web • Progettazione, analisi e realizzazione di servizi software o Individuazione, composizione e adattamento di servizi esistenti o Utilizzo di linguaggi workflow per la definizione di processi aziendali (“business processes”) o Analisi di processi aziendali • Descrizioni estese di servizi o Informazioni sulla qualità dei servizi o Informazioni sul comportamento dei servizi • Introduzione ai servizi cloud
    • Piattaforme abilitanti distribuite (6 cfu)

      • Il corso approfondisce e sviluppa, rispetto ai corsi fondamentali, lo studio delle problematiche legate alle piattaforme abilitanti distribuite, quali Grid e Cloud. Ciò avviene anche attraverso l'esame delle soluzioni allo stato dell'arte, l'analisi nel dettaglio della loro tecnologia e l'utilizzo pratico di alcune piattaforme abilitanti distribuite di ultima generazione. Syllabus Introduzione al middleware distribuito Approfondimento dei concetti e tecniche di grid computing Componenti e soluzioni per il grid computing Virtualizzazione delle risorse Tecnologie di virtualizzazione Approfondimento dei concetti e tecniche di cloud computing Esempi pratici di cloud computing Strumenti di sviluppo applicazioni per grid e cloud Struttura del corso 9 CFU distribuiti in due moduli.
    • Apprendimento automatico: fondamenti (6 cfu)

      • Obiettivi Gli obiettivi del corso sono di introdurre i principi e l'analisi critica dei principali paradigmi per l'apprendimento da insiemi di dati e sue applicazioni. I concetti sono introdotti progressivamente dagli approcci più semplici fino ai modelli allo stato dell'arte nell'ambito dell’inquadramento concettuale generale e moderno del machine learning. Il corso si focalizza in particolare sull'analisi critica delle caratteristiche per la realizzazione e l'uso appropriato di algoritmi di apprendimento di funzioni da esempi e per la modellazione e valutazione sperimentale. Syllabus - Introduzione: Compiti computazionali nell'apprendimento predittivo e concetto di generalizzazione. - Modelli e concetti di base: struttura dello spazio delle ipotesi, spazi discreti e continui, modelli lineari, nearest neighbor, modelli proposizionali, bias induttivo. - Modelli Neurali: Perceptron e proprietà computazionali. Introduzione alle Reti Neurali multistrato feedforward: architetture e algoritmi di apprendimento. - Modelli basati su regole. - Principi dell'apprendimento ed aspetti pratici generali: Validazione, Analisi Bias-Variance. Elementi di Statistical Learning Theory, VC-dimension. Comitati di modelli. - Support Vector Machines: caso lineare, margine, caso non-lineare, modelli a Kernel. - Modelli Bayesiani e Grafici. - Unsupervised learning. - Introduzione alle Applicazioni e modelli avanzati.
    • Basi di dati di supporto alle decisioni (6 cfu)

      • Ogni organizzazione utilizza i dati storici accumulati con il sistema informatico operazionale per produrre informazioni sintetiche adatte a facilitare i processi decisionali e renderli più veloci ed obiettivi. Il corso presenta i principali approcci al problema e le caratteristiche degli strumenti matematici e informatici utilizzati. Il corso presenta l’approccio che prevede l'utilizzo di particolari basi di dati, dette Data Warehouse, a partire dalle quali si procede con opportune interrogazioni per produrre interattivamente dati di sintesi. Si presentano anche i nuovi requisiti che questi problemi pongono alla tecnologia dei sistemi per basi di dati per rendere possibili analisi interattive rapide di grandi quantità di dati. - Sistemi informativi e informatici nelle organizzazioni. - I sistemi informatici direzionali basati su data warehouse. - Modelli dei dati per data warehouse e metodi di analisi multidimensionale. - Progettazione concettuale e logica di data warehouse. - Algoritmi per la scelta delle viste da materializzare. - La tecnologia dei sistemi per data warehouse: tipi di indici, ottimizzazione delle interrogazioni, progettazione fisica, riscrittura delle interrogazioni per l'uso di viste materializzate. - Studio di casi.
    • Progettazione di interfacce e valutazione dell’usabilità (6 cfu)

      • Lo scopo del corso è di apprendere i concetti di base ed i metodi principali per progettare e valutare interfacce utenti, più in generale, applicazioni interattive, caratterizzate da usabilità ed accessibilità. Verranno considerati anche vari strumenti automatici in grado di supportare i metodi considerati. Alla fine del corso lo studente dovrebbe essere in grado di progettare e valutare autonomamente sistemi interattivi caratterizzati da buona usabilità. Contenuti Nella prima parte del corso si inizierà con esempi di interfacce difficili da usare, per introdurre i concetti e gli aspetti che si devono tenere presenti quando si progettano interfacce utenti. Poi, si passerà a vedere come usare questi concetti in concreto nella progettazione ed implementazione dei dialoghi e delle presentazioni forniti da applicazioni interattive, con esempi ed esercizi. Si fornirà particolare attenzione alla progettazione di ipermedia adattabili ed adattivi, siti web, interfacce per dispositivi mobili e telefoni cellulari. La seconda parte del corso verrà dedicata a come valutare l’usabilità di applicazioni interattive considerando vari metodi, da quelli basati su ispezione dell’interfaccia seguendo criteri predefiniti a quelli che si basano su informazioni empiriche, includendo tecniche remote, dove utenti e valutatori lavorano in siti e/o tempi differenti. Si finirà il corso considerando ambienti di interazione innovativi rispetto agli ambienti comuni basati su sistemi desktop.
    • Data Mining: aspetti avanzati e casi di studio (6 cfu)

      • I formidabili progressi della potenza di calcolo, della capacità di acquisizione e memorizzazione dei dati e di connettività hanno creato quantità di dati senza precedenti. Il data mining, ovvero la scienza dell’estrazione di conoscenza da tali masse di dati, si è quindi affermato come ramo interdisciplinare dell’informatica. Le tecniche di data mining sono state applicate a molti problemi in ambito industriale, scientifico e sociale, e si ritiene che avranno un impatto sempre più profondo sulla società. L’obiettivo del corso è quello di fornire: - una rassegna delle tecniche avanzate per il mining delle nuove forme di dati; - una rassegna delle principali aree applicative e di casi di studio paradigmatici Mining di serie temporali e dati spazio-temporali Mining di dati sequenziali, mining di grandi grafi e reti Tecniche avanzate di associazione, correlazione and pattern frequenti Tecniche avanzate di classificazione, clustering e outlier detection Analitica visuale Linguaggi, standard e architetture dei sistemi di data mining Impatto sociale del data mining Data mining e protezione della privacy Applicazioni: Grande distribuzione, Marketing, CRM Industria delle telecomunicazioni, Analisi finanziaria, analisi di rischio Rilevamento di frodi Pubblica amministrazione e sanità Mobilità e trasporti
    • Metodi per la specifica e verifica di processi di business (6 cfu)

      • Il corso si pone l'obiettivo di illustrare i concetti principali e le problematiche inerenti la gestione di processi, intesi come flussi di lavoro (workflow) costruiti componendo certe attivita' atomiche, e di fornire una panoramica dei linguaggi, dei modelli concettuali e degli strumenti automatici basati su essi, che possono essere usati per affrontare le problematiche in maniera adeguata. Per realizzare tale obiettivo, il corso si propone di conciliare le tecniche di astrazione, con l'approccio strutturato e modulare e coi modelli operazionali propri della ricerca scientifica in ambito informatico, mostrando l'influenza esercitata dalle proprieta' di interesse ai fini della analisi e della verifica automatica sulla scelta dei linguaggi e modelli usati per la specifica e la progettazione di processi. Il percorso di apprendimento portera' gli studenti ad acquisire dimestichezza con i termini tecnici dell'area, con i diversi modelli per strutturare e comporre i processi in modo rigoroso, con le proprieta' logiche che questi modelli possono essere richiesti soddisfare e con le tecniche di analisi e verifica dei processi. Inoltre potranno sperimentare i concetti visti con strumenti automatici per progettare e analizzare processi.
    • Elaborazione di Segnali e Immagini (6 cfu)

      • L’obiettivo del corso è fornire allo studente la conoscenza dei metodi fondamentali di analisi di segnali, sia...

Confronta questo corso con altri simili
Leggi tutto