Documento di lavoro per il Consiglio dei Corsi di Studio in Informatica
9 giugno 2000
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)
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 |