Informatica

Laurea Magistrale

A Milano

6001-7000 €

Chiama il centro

Hai bisogno di un coach per la formazione?

Ti aiuterà a confrontare vari corsi e trovare l'offerta formativa più conveniente.

Descrizione

  • Tipologia

    Laurea Magistrale

  • Luogo

    Milano

Il Corso di Laurea in Informatica nasce con l'obiettivo di formare laureati in grado di fare fronte a tutte le esigenze della società dell'informazione. Il laureato in Informatica è dotato di una preparazione culturale di base ad ampio spettro, che gli permetterà sia di seguire con successo il continuo progredire delle tecnologie, sia di accedere ai livelli di studio universitario successivi. La preparazione tecnica del laureato in Informatica gli consente inoltre un rapido inserimento nel mondo del lavoro nel settore delle tecnologie dell'informazione e della comunicazione, e un successivo avanzamento in carriera verso ruoli di responsabilità. Nel percorso formativo, la comprensione della tecnologia informatica e il suo utilizzo nella risoluzione di problemi sono integrati con una solida preparazione scientifica-metodologica di base. L'integrazione tra tecnologia e fondamenti scientifici è la caratteristica distintiva del corso di laurea, che consente ai laureati di comprendere l'evoluzione tecnologica, interpretarne i contenuti, prevederne gli effetti, individuarne le applicazioni, e di ampliare la propria capacità di risolvere problemi. Oltre alle competenze tecniche e scientifiche necessarie per l'attività professionale, il laureato in informatica acquisisce quel bagaglio di competenze trasversali necessarie per comunicare con altri specialisti tecnico-scientifici per cooperare con loro, comprendere e produrre documentazione tecnica, valutare gli aspetti economici, riconoscere e analizzare i vincoli legislativi in materia informatica. Ogni anno di corso è articolato su due semestri, ciascuno comprendente almeno 12 settimane di attività didattica. I corsi di insegnamento prevedono che la formazione di base sia accompagnata da esercitazioni, e talvolta da attività progettuali e di laboratorio . L'acquisizione delle competenze è verificata e valutata, per ciascun insegnamento, per mezzo di verifiche scritte, prove orali o realizzazioni progettuali,...

Sedi e date

Luogo

Inizio del corso

Milano
Visualizza mappa
Via Santa Tecla, 5

Inizio del corso

Consultare

Profilo del corso

INFORMATICA

Corso di laurea

Descrizione
Piano di studi
Sbocchi professionali
Sbocchi professionali

La laurea in Informatica consente la prosecuzione, senza debiti formativi, verso le Lauree Magistrali in Informatica, in Informatica e Networking e in Data Science and Business Informatics e consente inoltre di partecipare all’Esame di Stato per l’abilitazione alla professione di ingegnere junior (Albo professionale – Sezione B degli Ingegneri junior – Settore dell’informazione). I laureati in Informatica svolgeranno attività professionali negli ambiti della progettazione, organizzazione e gestione di sistemi informatici, nelle imprese produttrici di tecnologia per l’informazione e per le reti di comunicazione. Opereranno attivamente nelle amministrazioni e nei laboratori che adottano sistemi informatici nelle proprie organizzazioni. Tra le posizioni più richieste l’analista programmatore e sistemista, il consulente commerciale, l’esperto di logistica per le imprese, l’esperto in linguaggi e tecnologie multimediali, l’esperto di sicurezza dei sistemi informatici, l’esperto di sistemi informativi territoriali, il progettista di architetture software, il progettista di software applicativo, il progettista e amministratore di basi di dati e sistemi informativi, il progettista e amministratore dei siti Web.



Percentuale di impiego dei laureati

Domande e risposte

Aggiungi la tua domanda

I nostri consulenti e altri utenti potranno risponderti

Inserisci i tuoi dati per ricevere una risposta

Pubblicheremo solo il tuo nome e la domanda

Opinioni

Materie

  • Algebra lineare
  • Semantica
  • Laboratorio
  • Logica
  • DBMS
  • Cache
  • C
  • C#
  • Aritmetica
  • Memoria
  • Condizionamento
  • Meccanismi
  • Programmazione
  • Calcolo
  • C++
  • Algebra
  • Algoritmi
  • Reti
  • Modellazione
  • Strutture

Programma

  • Analisi matematica (9 cfu)

    • Fornire i primi strumenti di analisi matematica intesi sia come tecniche di calcolo che come esempi di ragionamento logico deduttivo.

      Contenuti

      Numeri reali e numeri complessi.

      Successioni: principali proprietà.

      Prime definizioni legate al concetto di funzione di una variabile reale. Le principali funzioni elementari. Limiti di funzioni.

      Infinitesimi ed infiniti. Funzioni continue e funzioni derivabili: principali proprietà. Ricerca dei punti di massimo e di minimo. Convessità. Formula di Taylor. Studio di una funzione e del suo grafico.

      L'integrale e le sue proprietà; teorema fondamentale del calcolo integrale. Metodi di integrazione. Cenni su equazioni differenziali lineari del I e II ordine e a variabili separabili.



  • Fornire i primi strumenti di analisi matematica intesi sia come tecniche di calcolo che come esempi di ragionamento logico deduttivo.

    Contenuti

    Numeri reali e numeri complessi.

    Successioni: principali proprietà.

    Prime definizioni legate al concetto di funzione di una variabile reale. Le principali funzioni elementari. Limiti di funzioni.

    Infinitesimi ed infiniti. Funzioni continue e funzioni derivabili: principali proprietà. Ricerca dei punti di massimo e di minimo. Convessità. Formula di Taylor. Studio di una funzione e del suo grafico.

    L'integrale e le sue proprietà; teorema fondamentale del calcolo integrale. Metodi di integrazione. Cenni su equazioni differenziali lineari del I e II ordine e a variabili separabili.



  • Programmazione I e laboratorio (12 cfu)

    • Introduzione alla risoluzione di problemi e alla programmazione con esercitazioni in laboratorio.

      Contenuti

      Grammatiche libere

      Presentazione del Linguaggio funzionale Caml

      Programmazione funzionale

      Presentazione del Linguaggio imperativo C (rappresentazione numerica, funzioni, procedure, parametri, puntatori)

      Programmazione imperativa (array, liste, ecc.)

      Definizione di un interprete in Caml del Linguaggio Imperativo



  • Introduzione alla risoluzione di problemi e alla programmazione con esercitazioni in laboratorio.

    Contenuti

    Grammatiche libere

    Presentazione del Linguaggio funzionale Caml

    Programmazione funzionale

    Presentazione del Linguaggio imperativo C (rappresentazione numerica, funzioni, procedure, parametri, puntatori)

    Programmazione imperativa (array, liste, ecc.)

    Definizione di un interprete in Caml del Linguaggio Imperativo



  • Fisica (6 cfu)

    • Introduzione ai principi e al metodo scientifico della fisica classica.

      Sistemi di riferimento e coordinate, cinematica e dinamica dei sistemi elementari nella modellazione newtoniana.

      Simmetria, invarianza e leggi di conservazione.

      Modellazione dei processi della dinamica dei punti materiali e dei fenomeni elettromagnetici.

      Modellazione di processi naturali deterministici.




  • Introduzione ai principi e al metodo scientifico della fisica classica.

    Sistemi di riferimento e coordinate, cinematica e dinamica dei sistemi elementari nella modellazione newtoniana.

    Simmetria, invarianza e leggi di conservazione.

    Modellazione dei processi della dinamica dei punti materiali e dei fenomeni elettromagnetici.

    Modellazione di processi naturali deterministici.




  • Algoritmica e laboratorio (12 cfu)

    • Progettazione e analisi di algoritmi. Risoluzione di problemi con strutture dati. Attivita' di programmazione in laboratorio.

      Breve introduzione a problemi computazionali, indecidibilità, e trattabilità.

      Complessità computazionale: limiti superiori e inferiori.

      Tecniche di analisi: Relazioni di Ricorrenza, analisi ammortizzata e analisi competitiva.

      Tecniche algoritmiche: Divide et Impera, Programmazione Dinamica, Greedy.

      Algoritmi per Sequenze: ricerca e ordinamento

      Algoritmi per Alberi: ricorsione, visite, e rappresentazioni.

      Dizionari: Alberi bilanciati, Tabelle hash, Trie.

      Algoritmi e strutture di dati randomizzate.

      Algoritmi per Grafi: rappresentazione, algoritmi di visita, Albero di Copertura Minimo, Cammini Minimi (Dijkstra).



  • Progettazione e analisi di algoritmi. Risoluzione di problemi con strutture dati. Attivita' di programmazione in laboratorio.

    Breve introduzione a problemi computazionali, indecidibilità, e trattabilità.

    Complessità computazionale: limiti superiori e inferiori.

    Tecniche di analisi: Relazioni di Ricorrenza, analisi ammortizzata e analisi competitiva.

    Tecniche algoritmiche: Divide et Impera, Programmazione Dinamica, Greedy.

    Algoritmi per Sequenze: ricerca e ordinamento

    Algoritmi per Alberi: ricorsione, visite, e rappresentazioni.

    Dizionari: Alberi bilanciati, Tabelle hash, Trie.

    Algoritmi e strutture di dati randomizzate.

    Algoritmi per Grafi: rappresentazione, algoritmi di visita, Albero di Copertura Minimo, Cammini Minimi (Dijkstra).



  • Matematica discreta e algebra lineare (12 cfu)

    • MODULO DI MATEMATICA DISCRETA
      • Insiemi, relazioni, funzioni
      • Principio di induzione e definizioni per ricorrenza
      • Il concetto di cardinalità e calcolo combinatorio
      • Aritmetica e congruenze
      • Polinomi e fattorizzazione

      MODULO DI ALGEBRA LINEARE
      • Spazi vettoriali e basi
      • Sistemi lineari e loro intepretazione geometrica
      • Matrici e determinanti
      • Risoluzione di sistemi lineari
      • Polinomio caratteristico e criteri di diagonalizzabilità di operatori lineari


  • MODULO DI MATEMATICA DISCRETA
    • Insiemi, relazioni, funzioni
    • Principio di induzione e definizioni per ricorrenza
    • Il concetto di cardinalità e calcolo combinatorio
    • Aritmetica e congruenze
    • Polinomi e fattorizzazione

    MODULO DI ALGEBRA LINEARE
    • Spazi vettoriali e basi
    • Sistemi lineari e loro intepretazione geometrica
    • Matrici e determinanti
    • Risoluzione di sistemi lineari
    • Polinomio caratteristico e criteri di diagonalizzabilità di operatori lineari


  • Logica per la Programmazione (6 cfu)

    • Obiettivi:

      Obiettivo del corso è la presentazione del calcolo proposizionale e del calcolo del primo ordine e la loro applicazione alla specifica di programmi e alla dimostrazione di correttezza dei programmi in base alla logica di Hoare.

      Contenuti:

      Il concetto di enunciato dichiarativo
      Sintassi della logica proposizionale
      Semantica della logica proposizionale (tabelle di verità)
      Leggi per il calcolo proposizionale e dimostrazioni
      Sintassi della logica del primo ordine
      Semantica della logica del primo ordine (interpretazioni, modelli ecc.)
      Leggi per il calcolo del primo ordine e dimostrazioni
      Specifica di proprietà di programmi
      Prova di correttezza di programmi mediante il calcolo delle triple di Hoare



  • Obiettivi:

    Obiettivo del corso è la presentazione del calcolo proposizionale e del calcolo del primo ordine e la loro applicazione alla specifica di programmi e alla dimostrazione di correttezza dei programmi in base alla logica di Hoare.

    Contenuti:

    Il concetto di enunciato dichiarativo
    Sintassi della logica proposizionale
    Semantica della logica proposizionale (tabelle di verità)
    Leggi per il calcolo proposizionale e dimostrazioni
    Sintassi della logica del primo ordine
    Semantica della logica del primo ordine (interpretazioni, modelli ecc.)
    Leggi per il calcolo del primo ordine e dimostrazioni
    Specifica di proprietà di programmi
    Prova di correttezza di programmi mediante il calcolo delle triple di Hoare



  • Conoscenza della lingua inglese (3 cfu)





  • Programmazione II (9 cfu)

    • Programmare come progetto e verifica di astrazioni, gerarchie di macchine virtuali e supporto run-time.

      Contenuti

      Programmazione orientata ad oggetti. Il nucleo del linguaggio Java: classi, oggetti, ereditarietà, astrazioni sui dati (specifica e implementazione, tecniche di verifica induttiva), astrazione mediante gerarchie, polimorfismo à la Java

      Strutture a run time: ambiente, memoria, heap; blocchi, sottoprogrammi, records di attivazione, pila dei records di attivazione; oggetti; interpretazione, compilazione.



  • Programmare come progetto e verifica di astrazioni, gerarchie di macchine virtuali e supporto run-time.

    Contenuti

    Programmazione orientata ad oggetti. Il nucleo del linguaggio Java: classi, oggetti, ereditarietà, astrazioni sui dati (specifica e implementazione, tecniche di verifica induttiva), astrazione mediante gerarchie, polimorfismo à la Java

    Strutture a run time: ambiente, memoria, heap; blocchi, sottoprogrammi, records di attivazione, pila dei records di attivazione; oggetti; interpretazione, compilazione.



  • Sistemi Operativi e laboratorio (12 cfu)

    • Principi e concetti per la gestione delle risorse di un sistema di elaborazione.
      Laboratorio di programmazione di sistema.

      Contenuti

      MODULO DI SISTEMI OPERATIVI
      Funzioni, struttura e componenti dei Sistemi Operativi
      - Nucleo e Processi
      - Gestione dei processi e del processore: concorrenza e sincronizzazione tra processi e tra thread, scheduling
      - Gestione della memoria, memoria virtuale e cache
      - Gestione dei dispositivi di I/O e di memoria di massa
      - Sistema di archiviazione e gestione degli archivi

      MODULO DI LABORATORIO DI PROGRAMMAZIONE DI SISTEMA
      - Unix e la shell bash
      - Utilizzo di C in ambiente GNU per lo sviluppo di applicazioni di sistema
      - Programmazione di sistema: file system, processi e memoria, thread
      - Meccanismi di IPC: Pipe, Socket, Segnali


  • Principi e concetti per la gestione delle risorse di un sistema di elaborazione.
    Laboratorio di programmazione di sistema.

    Contenuti

    MODULO DI SISTEMI OPERATIVI
    Funzioni, struttura e componenti dei Sistemi Operativi
    - Nucleo e Processi
    - Gestione dei processi e del processore: concorrenza e sincronizzazione tra processi e tra thread, scheduling
    - Gestione della memoria, memoria virtuale e cache
    - Gestione dei dispositivi di I/O e di memoria di massa
    - Sistema di archiviazione e gestione degli archivi

    MODULO DI LABORATORIO DI PROGRAMMAZIONE DI SISTEMA
    - Unix e la shell bash
    - Utilizzo di C in ambiente GNU per lo sviluppo di applicazioni di sistema
    - Programmazione di sistema: file system, processi e memoria, thread
    - Meccanismi di IPC: Pipe, Socket, Segnali


  • Ricerca operativa (6 cfu)

    • Conoscenze: L’insegnamento ha l’obiettivo di fornire le conoscenze di base di Ricerca Operativa.

      Obiettivi: L’insegnamento ha l’obiettivo di fornire gli strumenti per costruire modelli matematici di ottimizzazione, l’analisi di tali modelli e i metodi risolutivi.


      ARGOMENTI

      MODELLI MATEMATICI DELLA RICERCA OPERATIVA.

      PROGRAMMAZIONE LINEARE.

      PROGRAMMAZIONE LINEARE SU RETI.

      PROGRAMMAZIONE LINEARE INTERA.


  • Conoscenze: L’insegnamento ha l’obiettivo di fornire le conoscenze di base di Ricerca Operativa.

    Obiettivi: L’insegnamento ha l’obiettivo di fornire gli strumenti per costruire modelli matematici di ottimizzazione, l’analisi di tali modelli e i metodi risolutivi.


    ARGOMENTI

    MODELLI MATEMATICI DELLA RICERCA OPERATIVA.

    PROGRAMMAZIONE LINEARE.

    PROGRAMMAZIONE LINEARE SU RETI.

    PROGRAMMAZIONE LINEARE INTERA.


  • Basi di dati (6 cfu)

    • Fornire le basi scientifiche e metodologiche per la progettazione, la realizzazione e l'uso di basi di dati relazionali.

      Contenuti

      I sistemi informativi e informatici. Funzionalità dei sistemi per la gestione di basi di dati (DBMS).

      I meccanismi di astrazione dei modelli dei dati a oggetti. La progettazione di basi di dati usando il modello a oggetti.

      Il modello dei dati relazionale. La trasformazione di schemi a oggetti in schemi relazionali

      Il linguaggio SQL per creare e usare basi di dati. Interrogazioni semplici, giunzioni, quantificazioni esistenziali ed universali, raggruppamento.

      La teoria relazionale delle basi di dati. Le dipendenze fra i dati. Decomposizioni di schemi relazionali. Forme normali.

      Architettura dei DBMS.



  • Fornire le basi scientifiche e metodologiche per la progettazione, la realizzazione e l'uso di basi di dati relazionali.

    Contenuti

    I sistemi informativi e informatici. Funzionalità dei sistemi per la gestione di basi di dati (DBMS).

    I meccanismi di astrazione dei modelli dei dati a oggetti. La progettazione di basi di dati usando il modello a oggetti.

    Il modello dei dati relazionale. La trasformazione di schemi a oggetti in schemi relazionali

    Il linguaggio SQL per creare e usare basi di dati. Interrogazioni semplici, giunzioni, quantificazioni esistenziali ed universali, raggruppamento.

    La teoria relazionale delle basi di dati. Le dipendenze fra i dati. Decomposizioni di schemi relazionali. Forme normali.

    Architettura dei DBMS.



  • Calcolo numerico (6 cfu)

    • Uso e valutazione delle metodologie di risoluzione di problemi del calcolo scientifico. Analisi degli aspetti computazionali, quali il condizionamento dei problemi esaminati, la stabilita' e la complessita' dei metodi proposti.

      Contenuti

      Rappresentazione dei numeri reali e analisi dell'errore numerico: errori di arrotondamento, aritmetica di macchina e propagazione degli errori.

      Condizionamento di un problema e complessità computazionale di un algoritmo numerico.

      Metodi iterativi per le equazioni non lineari: i principali metodi e lo studio della loro convergenza.

      Metodi numerici per l'algebra lineare: i principali metodi diretti e iterativi per la risoluzione di sistemi lineari.

      Interpolazione e integrazione numerica: il polinomio di interpolazione, le formule di quadratura interpolatorie.


  • Uso e valutazione delle metodologie di risoluzione di problemi del calcolo scientifico. Analisi degli aspetti computazionali, quali il condizionamento dei problemi esaminati, la stabilita' e la complessita' dei metodi proposti.

    Contenuti

    Rappresentazione dei numeri reali e analisi dell'errore numerico: errori di arrotondamento, aritmetica di macchina e propagazione degli errori.

    Condizionamento di un problema e complessità computazionale di un algoritmo numerico.

    Metodi iterativi per le equazioni non lineari: i principali metodi e lo studio della loro convergenza.

    Metodi numerici per l'algebra lineare: i principali metodi diretti e iterativi per la risoluzione di sistemi lineari.

    Interpolazione e integrazione numerica: il polinomio di interpolazione, le formule di quadratura interpolatorie.


  • Architettura degli elaboratori (9 cfu)

    • Basi scientifiche e tecnologiche per comprendere le caratteristiche dei sistemi di elaborazione ai vari livelli e la loro relazione con gli strumenti di programmazione. Strutturazione dei sistemi mediante moduli concorrenti e cooperanti.

      Contenuti

      Metodologia di strutturazione di sistemi di elaborazione:

      Strutturazione a livelli o macchine virtuali, moduli concorrenti e comunicanti; componenti per reti logiche; livello dell'architettura firmware, unità di elaborazione e comunicazioni.

      Livello della macchina assembler e processori: modi di indirizzamento, puntatori, procedure; modalità di compilazione per linguaggi imperativi (C); architettura base di processori general-purpose; valutazione delle prestazioni, benchmarking, impatto di architetture Risc vs Cisc

      Architettura globale dell'elaboratore: architettura base di CPU, memorie e ingresso-uscita; supporto a processi e thread; supporto all'allocazione statica e dinamica della memoria.

      Architetture ad alte prestazioni e tendenze: memorie cache; architetture pipeline, superscalari/multithreading, multicore.


  • Basi scientifiche e tecnologiche per comprendere le caratteristiche dei sistemi di elaborazione ai vari livelli e la loro relazione con gli strumenti di programmazione. Strutturazione dei sistemi mediante moduli concorrenti e cooperanti.

    Contenuti

    Metodologia di strutturazione di sistemi di elaborazione:

    Strutturazione a livelli o macchine virtuali, moduli concorrenti e comunicanti; componenti per reti logiche; livello dell'architettura firmware, unità di elaborazione e comunicazioni.

    Livello della macchina assembler e processori: modi di indirizzamento, puntatori, procedure; modalità di compilazione per linguaggi imperativi (C); architettura base di processori general-purpose; valutazione delle prestazioni, benchmarking, impatto di architetture Risc vs Cisc

    Architettura globale dell'elaboratore: architettura base di CPU, memorie e ingresso-uscita; supporto a processi e thread; supporto all'allocazione statica e dinamica della memoria.

    Architetture ad alte prestazioni e tendenze: memorie cache; architetture pipeline, superscalari/multithreading, multicore.


  • Ingegneria del software (6 cfu)

    • Il corso introduce i problemi della produzione di sistemi software e illustra alcuni processi di sviluppo software. Viene presentato in dettaglio un processo di sviluppo guidato dai modelli, definendo modelli statici e modelli dinamici per le principali fasi del processo: analisi del dominio, analisi dei requisiti, progettazione architettonica e dettaglio. Infine si affronta il tema della verifica: obiettivi e pianificazione delle verifiche, progettazione e valutazione delle prove.


  • Il corso introduce i problemi della produzione di sistemi software e illustra alcuni processi di sviluppo software. Viene presentato in dettaglio un processo di sviluppo guidato dai modelli, definendo modelli statici e modelli dinamici per le principali fasi del processo: analisi del dominio, analisi dei requisiti, progettazione architettonica e dettaglio. Infine si affronta il tema della verifica: obiettivi e pianificazione delle verifiche, progettazione e valutazione delle prove.


  • Calcolo delle probabilita' e statistica (6 cfu)

    • Assimilare le principali nozioni di Calcolo delle Probabilita' ed essere in grado di utilizzare le procedure base dell'inferenza statistica (eseguire una stima e pianificare un test statistico).

      Contenuti

      Spazi di probabilità, probabilità condizionata e indipendenza, formula di Bayes.

      iali) disponibili sul mercato da utilizzare per fornire anche una conoscenza pratica dell'argomento
      ...
  • Chiama il centro

    Hai bisogno di un coach per la formazione?

    Ti aiuterà a confrontare vari corsi e trovare l'offerta formativa più conveniente.

    Informatica

    6001-7000 €