Documento di lavoro per il Consiglio dei Corsi di Studio in Informatica

9 giugno 2000

 

Commissione Syllabus

M. Bellia, G. Ferrari, G. Leoni, F. Luccio, D. Pedreschi, A. Starita, M. Vanneschi

 

 

La commissione syllabus, incaricata dal CCSI del 14 aprile 2000 di perfezionare la proposta di syllabus per il nucleo della futura laurea triennale in Informatica, e dei relativi crediti formativi universitari, e di proporre una ripartizione in insegnamenti, č pervenuta alla presente versione del documento di lavoro.  I lavori della commissione, documentati nella pagina web della segreteria didattica, si sono basati sulle raccomandazioni del consiglio riportate nella delibera n. 39 del 14 aprile 2000, in riferimento alle linee guida del documento di lavoro del 16.12.99, ed alla struttura del nucleo del recente documento draft “Computing Curricula 2001” del gruppo di lavoro congiunto ACM/IEEE.

 

 

1.                 Syllabus con crediti per il nucleo del curriculum

 

Il metodo di lavoro seguito č stato quello di definire in primo luogo il nucleo della laurea triennale, limitatamente alle attivitā formative caratterizzanti (tipologia (b) – informatica) e le attivitā formative affini o integrative (tipologia (c) – tutti i settori tranne informatica). In quest’ultimo caso la commissione ha ritenuto di limitare per il momento l’attenzione ai soli contenuti di matematica computazionale e ricerca operativa.

 

Il syllabus accreditato va inteso come un insieme di contenuti delle attivitā formative necessarie a formare le competenze e le conoscenze della figura professionale identificata, pesati con i crediti che ne misurano il carico di apprendimento. Pertanto, tale syllabus non va interpretato direttamente in termini di insegnamenti e relativi esami.

 

Syllabus del nucleo per le attivitā di tipo (b) - Informatica.

Totale crediti formativi universitari (CFU): 78 (di cui 24 di laboratorio)

 

A.      Laboratorio di informatica             (totale CFU: 24)

  1. Introduzione alla programmazione             (4)
  2. Programmazione di strutture di dati             (4)
  3. Programmazione concorrente                 (4)
  4. Programmazione di sistema                         (6)
  5. Programmazione di rete                 (6)

 

B.       Algoritmica   (totale CFU: 8)

­        Modelli di calcolo e calcolabilitā

­        Analisi di algoritmi e complessitā

­        Progetto di algoritmi                               

­        Le classi P, NP, RP

 

C.       Fondamenti di sistemi           (totale CFU: 4)

­        sistemi a livelli

­        principi di parallelismo e cooperazione (validi a tutti i livelli), prestazioni

­        processi, spazi di indirizzamento, primi elementi di nucleo minimo

­        processori, gerarchie di memorie, comunicazioni, dispositivi

 

D.      Architettura degli elaboratori       (totale CFU: 5)

­        strutturazione firmware e comunicazioni

­        architettura uniprocessor, gestione I/O

­        caching e pipelining

­        multiprocessor a memoria condivisa

 

E.       Sistemi operativi                (totale CFU: 5)

­        strutturazione, nucleo, chiamate di sistema

­        gestione memoria e dispositivi

­        gestione file in ambiente centralizzato e distribuito

­        elementi di sistemi operativi distribuiti, client e/o server

 

F.       Reti di calcolatori                         (totale CFU: 4)

­        supporti di trasmissione, protocolli di basso livello

­        protocolli TCP/IP e simili

­        supporti e servizi per applicazioni di rete

 

G.      Programmazione di rete             (totale CFU: 2)

­        programmazione di applicazioni interoperanti

­        paradigmi per la programmazione remota

 

H.      Fondamenti di programmazione      (totale CFU: 8)

­        algoritmi e problem-solving

­        elementi di sintassi e semantica dei linguaggi di programmazione

­        teoria degli automi

­        costrutti di base della programmazione

­        strutture di dati e gestione della memoria

­        ricorsione e strategie di calcolo basate sulla ricorsione

 

I.       Metodologie di programmazione        (totale CFU: 6)

­        elementi di traduzione e supporto dei linguaggi

­        meccanismi di astrazione, tipi di dato astratto e tecniche di visibilitā

­        programmazione object-oriented, event-driven e concorrente

­        programmazione di interfacce

 

J.      Ingegneria del software          (totale CFU: 6)

­        analisi e specifica

­        progettazione e realizzazione

­        verifica e validazione

­        processi di supporto (versionamento, configurazione, misurazione)

 

K.       Basi di dati                         (totale CFU: 3)

­        sistemi per basi di dati

­        modelli dei dati

­        progettazione di basi di dati

­        linguaggi di interrogazione di basi dati

 

L.       Sistemi basati sulla conoscenza       (totale CFU: 3)

­        tecniche di ragionamento e di rappresentazione della conoscenza

­        metodi di ricerca e ottimizzazione  

 

 

Syllabus del nucleo per le attivitā di tipo (c) - affini.

Totale crediti formativi universitari (CFU): 12

 

Calcolo numerico                                  (totale CFU: 6)

­        rappresentazione dei numeri reali, analisi dell’errore, complessitā numerica

­        metodi numerici per l’algebra lineare

­        metodi iterativi per equazioni e sistemi non lineari

­        approssimazione, interpolazione

 

Ricerca operativa                                  (totale CFU: 6)

­        strutture ed algoritmi di base per grafi e reti

­        algoritmi di programmazione matematica

­        ottimizzazione su reti di flusso  

 

 

2.        Insegnamenti del nucleo - tipologia (b): informatica

 

 

Insegnamento

Rif. syllabus

CFU CC2001

CFU syllabus

CFU proposti

 

Laboratorio 1: Introduzione alla programmazione

A.1

 

4

4

 

Laboratorio 2: Programmazione di strutture di dati

A.2

 

4

4

 

Laboratorio 3: Programmazione concorrente

A.3

 

4

4

 

Laboratorio 4: Programmazione di sistema

A.4

 

6

6

 

Laboratorio 5: Programmazione di rete

A.5

 

6

6

 

Totale

 

 

24

24

 

 

 

 

 

 

1

Algoritmica

B

7,8

8

9

2

Architettura degli elaboratori

C + D

8,3

9

10

3

Sistemi operativi

E

5,5

5

6

4

Reti di calcolatori e programmazione di rete

F + G

3,8

6

6

5

Fondamenti di programmazione

H

11,3

8

9

6

Metodologie di programmazione

I

5,8

6

6

7

Ingegneria del software

J

7,5

6

6

8

Basi di dati e sistemi intelligenti

K + L

5,0

6

6

 

Totale

 

54,8

54,0

58,0

 

 

 

 

 

 

 

Totale nucleo Informatica (incluso Lab)

 

78,8

78,0

82,0

 

 

3.        Insegnamenti del nucleo - tipologia (c): affini

 

 

Insegnamento

Rif. syllabus

CFU CC2001

CFU syllabus

CFU proposti

1

Calcolo numerico

 

 

6

6

2

Ricerca operativa

 

 

6

6

 

Totale

 

 

12

12