Corso di Laurea in Informatica Curriculum Progettazione Software

Corso di Laurea in Informatica
Curriculum Progettazione Software
Curriculum Sistemi di Elaborazione
Scopo della presentazione I
Aiutare a decidere quale curriculum
Quando diventa determinante la scelta?
– Al secondo anno si fissano
• 3 crediti (Mat. Comp. II o Logica)
• 6 crediti (affini vari, Geometria per Grafica e Immagini)
– Al terzo anno per scegliere Prog. SW o Sist. di Elab.
• Nessun problema per chi al secondo aveva scelto Progettazione
Software o Sistemi di Elaborazione
• Chi al secondo aveva scelto Grafica e Immagini deve ancora dare Logica
(ma Geometria va bene come scelta, anche se ASI e STC sono più
qualificanti per i “non grafici”)
La scelta definitiva si ha solo al terzo anno (o al quarto,
quinto etc. per chi ritarda la laurea eg studenti part-time)
2 Ottobre 3
1
Una scelta per due anni o per la vita?
Scegliere in base al lavoro per cui ci si vuole qualificare
– Per avere un lavoro subito (prima), o in una località (più) appetibile, o (più)
interessante, o pagato bene (anzi meglio)
– Competenze specifiche facilitano un immediato inserimento nel mondo del
lavoro
Scegliere in base all’interesse/divertimento dei curricula
– Forte impronta applicativa
 Laboratorio dedicato per “provare l’ebbrezza di essere root”
– Stretti rapporti con l’industria (il 90% del mercato passa da qui)
 Stage esterni (in via di organizzazione)
Scegliere in base alla speranza di sopravvivenza
– Di solito ci si basa su “radio fante”…ma tutti gli anni cambia qualcosa
– Impegno dei docenti al coordinamento = non tre compitini in due giorni, uno
scritto a cavallo di un progetto, etc
– Sforzo di facilitare l’apprendimento, ma seria verifica
(potreste essere i prossimi progettisti del mio sistema bancario)
2 Ottobre 3
2
Progettazione Software
o Sistemi di Elaborazione?
– Progettazione Software per diventare sviluppatore (e in prospettiva
progettista) di software (eg di applicazioni multimediali, applicazioni web,
sistemi informativi etc)
– Sistemi di Elaborazione per diventare sistemista, net manager etc.
(gestori di hardware, comunicazioni a basso livello e software di base)
Fra questi due estremi vi è un continuum di figure
professionali che coprono circa il 90% del mercato del
lavoro
Purtroppo, per carenza di docenti, i corsi offerti sono
troppo pochi per caratterizzare figure professionali agli
estremi (soprattutto sul lato sistemi)
Presentazione a “curricula unificati”
2 Ottobre 3
3
Compilazione del piano di studi
Corsi Obbligatori
Cultura Aziendale
Ingegneria del Software
Logica Matematica (2 anno)
Tecniche Avanzate di Programmazione
– Piattaforme e programmazione a componenti
– Applicazione “sul campo” in un progetto (su piattaforma dotnet)
Applicazioni di rete
– Protocolli di comunicazione (da Sistemi Operativi II al livello applicativo)
– Programmazione per il web (da HTML a PHP, MySQL, cookies…)
Implementazione di Linguaggi
Architetture Parallele I
Compilatori ed implementazione (eg Macchine ad alta prestazione e
di oggetti)
loro programmazione
(progetti non obbligatori, seminari) Sistemi Distribuiti I
Composizione in parallelo di SW
residenti su vari calcolatori
2 Ottobre 3
5
Scopo della presentazione II
Aiutare a decidere quali corsi una volta scelto il curriculum
Risposte alle domande
–
–
–
–
Quali competenze acquisisco scegliendo un particolare corso?
A che mi serve seguire un particolare corso?
Sono in grado di seguire un particolare corso?
Ho scelto corsi che individuano una figura professionale
ragionevole?
– C’è qualcuno là fuori che mi pagherà (di più) perché ho imparato
questi contenuti?
– Mi servirà per il Nobel?
2 Ottobre 3
6
Contabilità
Per completare il piano di studi, bisogna decidere
al secondo anno: 6 crediti “affini”
al terzo anno
• Crediti obbligati:
– 6 per la prova finale
– 33 di esami obbligatori
• Dovete ancora decidere:
– 12 crediti fra i corsi proposti in seguito;
– al più 9 crediti ASSOLUTAMENTE liberi che potete usare sui
corsi proposti in seguito
2 Ottobre 3
7
Scelta degli affini
Possibilità “canoniche”
• ASI Funzionamento e programmazione a basso livello dei sistemi
digitali(Acquisizione dati, Interfacce HW, Trattamento on line di
audio e video)
• STC Architettura di rete dallo strato fisico fino allo strato di
trasporto(trasmissione digitale, prestazioni del canale di
comunicazione, servizi di rete integrati ( dati, fonia, immagini))
– Obbligatorio per la laurea specialistica indirizzo
Sistemi di Elaborazione
• Geometria, può essere una scelta ragionevole per gli indecisi (ma
non aggiunge competenze specifiche del settore)
2 Ottobre 3
8
Corsi Facoltativi
 Architetture di Sistemi di Gestione Dati -- 6 CFU
 Modelli dei Dati di Nuova Generazione -- 6 CFU
 Intelligenza artificiale -- 6 CFU
 Sicurezza -- 6 CFU
 Complementi di algoritmi e strutture dati -- 6 CFU
 Soft Computing -- 6 CFU
In grassetto gli obbligatori
 Grafica interattiva -- 6 CFU
 Calcolabilità e complessità -- 6 CFU per la laurea specialistica
 Implementazione di linguaggi -- 6 CFU
 Architetture parallele I -- 3 CFU
 Architetture parallele II -- 6 CFU
 Sistemi distribuiti I -- 3 CFU
 Sistemi distribuiti II -- 3 CFU
2 Ottobre 3
9
Architetture dei Sistemi Integrati
Flavio Fontanelli
Semestre II
6 CFU
http://www.ge.infn.it/~fontanel
Contenuti
– Introduzione all’Hardware e alla sua progettazione
– Introduzione al Digital Signal Processing
Prerequisiti
– Architettura dei calcolatori
Particolarmente raccomandato per
– approfondimento delle conoscenze HW e per lo sviluppo di SW
real-time (robotica, trattamento segnali audio e video on-line...)
Parole chiave
– Acquisizione dati, Interfacce HW, Funzionamento e
programmazione a basso livello dei sistemi digitali,Trattamento
on line di audio e video, CAD Elettronico
2 Ottobre 3
10
Sistemi e Tecnologie della Comunicazione
Silvana Terreni
Semestre II
6 CFU
http://www.disi.unige.it/course/STC1_01.html
Contenuti
– architettura di rete dallo strato fisico fino allo strato di trasporto
Prerequisiti
– fisica a livello liceale
Particolarmente raccomandato per
– conoscere i sistemi di trasmissione digitale in generale e il
funzionamento della rete dal livello fisico fino alla consegna all’ host
Parole chiave
– rete,trasmissione digitale, prestazioni del canale di comunicazione,
servizi di rete integrati ( dati, fonia, immagini).
2 Ottobre 3
11
Intelligenza Artificiale
Maurizio Martelli (Viviana Mascardi)
Semestre I
6 CFU
http://www.disi.unige.it/person/MascardiV/Didattica/IA1_03_04/
programma_IA1_03_04.html
Contenuti
– IA classica: sistemi esperti, problem solving, rappresentazione della
conoscenza,
ragionamento approssimato, riconoscimento del linguaggio naturale
– IA recente: sistemi ad agenti, linguaggi adatti a modellare ed implementare
agenti, relazioni con l'ingegneria del software
– Prolog: programmazione logica per risolvere problemi di IA classica e recente
Prerequisiti autocontenuto
Particolarmente raccomandato per
– sviluppatori, progettisti ed analisti di sistemi informativi, interessati alla
ricerca in informatica
Parole chiave
– Prolog; Agenti intelligenti e sistemi multi-agente; Intelligenza Artificiale
2 Ottobre 3
classica
12
Implementazione I
Massimo Ancona
Semestre I
6 CFU
http://www.disi.unige.it/person/AnconaM/Corsi/Impl1.htm
Contenuti
– Meccanismi di base: architettura del RTE e del RTS nei linguaggi imperativi
sequenziali
– Meccanismi avanzati: linguaggi modulari e meccanismi per la compilazione
indipendente e separata; trattamento delle eccezioni; implementazione della
concorrenza e di meccanismi object-oriented; meccanismi per la progr.
sincrona reattiva e per l'implementazione di linguaggi e sistemi asincroni,
sistemi real-time
Prerequisiti
– Linguaggi, programmazione e strutture dati (LP)
Particolarmente raccomandato per: specialisti in programmazione
Parole chiave
– Implementazioni di compilatori, RTE, RTS, macchine virtuali e codice
intermedio, CISC e RISC, modularita` e compilazioni separate, trattamento
di eccezioni, concorrenza, object-orientation, sistemi reattivi sincroni,
linguaggi e sistemi di programmazione asincroni
2 Ottobre 3
13
Sistemi distribuiti I
Massimo Ancona (W. Cazzola)
Semestre II
3 CFU
http://www.disi.unige.it/person/CazzolaW/programma.html
Contenuti
– Nozioni di Base relative al funzionamento di una rete di computer
(da un punto di vista SW) e di applicazioni client/server o peer to
peer (eg. mirc, napster o gnutella)
Prerequisiti
– Nozioni base di sistemi operativi, e programmazione Java (LP, SO
I e II)
Particolarmente raccomandato per
– qualsiasi posizione lavorativa in particolare per quelle legate a
internet ed alle applicazioni di rete
Parole chiave
– Java, Applicazioni e Programmazione Client/Server e di Rete
2 Ottobre 3
14
Sistemi distribuiti II
Massimo Ancona (W. Cazzola)
Semestre II
3 CFU
http://www.disi.unige.it/person/CazzolaW/programma.html
Contenuti
– Middleware Distribuiti, Riflessivi, Real-Time e Mobili.
Approfondimenti di CORBA, .NET ed esempi di altri middleware.
Prerequisiti
– Sistemi Distribuiti I
Particolarmente raccomandato per
– qualsiasi posizione lavorativa in particolare per quelle legate a
internet ed alle applicazioni di rete
Parole chiave
– CORBA, .NET, mobile-computing e real-time
2 Ottobre 3
15
Soft Computing
Semestre I
Francesco Masulli
6 CFU
http://www.disi.unige.it/person/MasulliF/
Inizio: 3/10, ore 14-15, aula 214/ NO LEZIONE 6-10/10
Contenuti
– Calcolo Evoluzionario
– Insiemi e Sistemi Sfumati
– Applicazione a problemi di ottimizzazione di sistemi e al
trattamento di informazione imprecisa
Prerequisiti
– programmazione
Particolarmente raccomandato per
– progettista di sistemi industriali
Parole chiave
– Ottimizzazione, algoritmi genetici, ragionamento approssimato
2 Ottobre 3
16
Calcolabilità e Complessità
Eugenio Moggi
Semestre
6 CFU
http://www.disi.unige.it/person/MoggiE/CC03/
Inizio: 16/10
Contenuti
– nozioni e risultati fondamentali di calcolabilità e complessità
computazionale, in particolare definisce le classi dei problemi
"decidibili" e di quelli "trattabili".
Prerequisiti
– Matematica Discreta (Logica Matematica), Programmazione,
Algoritmi e Strutture Dati
Particolarmente raccomandato per
– chi vuole proseguire con la laurea specialistica
Parole chiave
– modelli di calcolo, classi di complessità, funzioni calcolabili,
2 Ottobre 3problemi decidibili
17
Modelli dei Dati di Nuova Generazione
Barbara Catania
Semestre II
6 CFU
http://www.disi.unige.it/person/CataniaB/teach/BDer-03-04/BDer-03-04.htm
Contenuti
–
–
–
–
Basi di dati relazionali ad oggetti
Basi di dati attive
Gestione dati multimediali
Progetto
Prerequisiti
– Basi di dati
Particolarmente raccomandato per
– progettazione e sviluppo basi di dati di nuova generazione
Parole chiave
– basi di dati (relazionali) ad oggetti, multimedia, trigger
2 Ottobre 3
18
Architetture dei Sistemi di Gestione Dati
Giovanna Guerrini
Semestre I
6 CFU
http://www.disi.unige.it/person/GuerriniG/teach/asgd03
Contenuti
–
–
–
–
–
Organizzazione dati su memoria secondaria
strategie di elaborazione delle interrogazioni
controllo della concorrenza e ripristino
controllo dell’accesso
architetture distribuite, multidatabase, basi di dati e Web
Prerequisiti:
– BD I, SO I
Particolarmente raccomandato per
– amministrazione di sistemi di gestione dati
Parole chiave
– ottimizzazione, transazioni, autorizzazioni
2 Ottobre 3
19
Grafica interattiva
Semestre I
Contenuti
Enrico Puppo
6 CFU
http://www.disi.unige.it/person/PuppoE
– Nozioni di base per la grafica 3D (trasformazioni geometriche,
illuminazione...)
– Sviluppo di applicazioni di grafica 3D interattiva
– La libreria OpenGL (standard grafico).
– Esercitazione: un visualizzatore 3D
Prerequisiti
– C (Prog.), Prog. OO (LP), Prog. ad eventi e interfacce (IU), Vettori e trasf.
di coordinate (Geometria)
Particolarmente raccomandato per
– progettisti e sviluppatori di applicazioni di computer
graphics, visualizzazione scientifica, visualizzazione 3D,
simulazioni grafiche...
Parole chiave
– Interactive 3D computer graphics, OpenGL, C++
2 Ottobre 3
20
Complementi di Algoritmi e Strutture Dati
Leila De Floriani
Semestre II
6 CFU
http://www.disi.unige.it/person/SobreroD/compalgo/ (a.a.2002/2003)
Contenuti
– Strutture dati classiche per memorizzazione, organizzazione e ricerca di
informazioni
– Strutture dati per il trattamento di informazione spaziale
Applicazioni di riferimento
– sistemi informativi, sistemi informativi geografici, computer graphics,
elaborazione di immagini
Prerequisiti
– Nozioni di base di strutture dati, linguaggio C, (algoritmi, LP)
Particolarmente raccomandato per
– progettisti di sistemi SW e di sistemi informativi geografici
Parole chiave
– Grafi, alberi, strutture dati spaziali, algoritmi geometrici
2 Ottobre 3
21
Sicurezza
Giovanni Chiola e Maurizio Aiello
Semestre I
6 CFU
http://www.disi.unige.it/person/ChiolaG/Sicure02.html
Competenze
– Conoscenze delle principali problematiche relative alla sicurezza
informatica, sia a livello di singolo sistema che a livello di rete
– Esperienza su uno o più aspetti pratici particolari
Prerequisiti
– Sistemi Operativi, principi di funzionamento del protocollo TCP/IP e della
comunicazione mediante socket
Corso consigliabile/complementare: Crittografia e Teoria dei Codici
Particolarmente raccomandato per
– chi voglia occuparsi della configurazione e/o installazione di sistemi sia a
livello tecnico che a livello organizzativo/gestionale
Parole chiave
– autenticazione, confidenzialita',disponibilita', robustezza, tolleranza ai
2 Ottobre 3guasti, integrita’
22
Architetture Parallele I e II
Giuseppe Ciaccio
Semestre I
3+6 CFU
http://www.disi.unige.it/person/CiaccioG/arch_par/programma_corso.htm
Contenuti
– Architetture dei processori pipeline, processori superscalari,
calcolatori multiscalari, calcolo delle prestazioni e benchmarks
– Laboratorio
Prerequisiti
– Architetture
Particolarmente raccomandato per
– sistemisti e programmatori di sistemi ad alte prestazioni
2 Ottobre 3
23
Ingegneria del Software
Gianna Reggio e Egidio Astesiano
Semestre I
9 CFU
http://www.disi.unige.it/person/ReggioG/ISI03/
Contenuti
– Ciclo di vita del software; Modelli del processo di sviluppo del software;
Requisiti, progettazione e testing; UML
– Laboratorio: Progettazione (design) di una applicazione software a partire
da una specifica dei requisiti e implementazione (J2EE)
Prerequisiti
– i corsi di carattere informatico dei primi due anni
Particolarmente raccomandato per chi è coinvolto nella (supervisione
della) produzione di software di qualsiasi tipo
Parole chiave
– Ciclo di vita del software, Modelli del processo di sviluppo del software,
Requisiti, Design, Testing, UML
2 Ottobre 3
24