Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

25
Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione

Transcript of Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

Page 1: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

Corso di Laurea in Informatica

Curriculum Progettazione

Software

Curriculum Sistemi di

Elaborazione

Page 2: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 2

Scopo della presentazione I

Aiutare a decidere quale curriculumQuando 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)

Page 3: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 3

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 lavoroScegliere 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)

Page 4: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 4

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 lavoroPurtroppo, per carenza di docenti, i corsi offerti sono troppo pochi per caratterizzare figure professionali agli estremi (soprattutto sul lato sistemi)Presentazione a “curricula unificati”

Page 5: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

Compilazione del piano di studi

Page 6: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 6

Corsi ObbligatoriCultura AziendaleIngegneria 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 LinguaggiCompilatori ed implementazione (eg di oggetti)(progetti non obbligatori, seminari)

Architetture Parallele IMacchine ad alta prestazione e loro programmazione

Sistemi Distribuiti IComposizione in parallelo di SW residenti su vari calcolatori

Page 7: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 7

Scopo della presentazione II

Aiutare a decidere quali corsi una volta scelto il curriculumRisposte 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?

Page 8: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 8

Contabilità

Per completare il piano di studi, bisogna decidereal 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

Page 9: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 9

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)

Page 10: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 10

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 Grafica interattiva -- 6 CFU Calcolabilità e complessità -- 6 CFU 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

In grassetto gli obbligatori per la laurea specialistica

Page 11: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 11

Architetture dei Sistemi IntegratiFlavio Fontanelli

Semestre II 6 CFUhttp://www.ge.infn.it/~fontanelContenuti

– 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

Page 12: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 12

Sistemi e Tecnologie della Comunicazione

Silvana TerreniSemestre II 6 CFUhttp://www.disi.unige.it/course/STC1_01.htmlContenuti

– 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).

Page 13: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 13

Intelligenza ArtificialeMaurizio Martelli (Viviana Mascardi)

Semestre I 6 CFUhttp://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 autocontenutoParticolarmente 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

classica

Page 14: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 14

Implementazione IMassimo Ancona

Semestre I 6 CFUhttp://www.disi.unige.it/person/AnconaM/Corsi/Impl1.htmContenuti

– 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 programmazioneParole 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

Page 15: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 15

Sistemi distribuiti IMassimo Ancona (W. Cazzola)

Semestre II 3 CFU http://www.disi.unige.it/person/CazzolaW/programma.htmlContenuti

– 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

Page 16: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 16

Sistemi distribuiti IIMassimo Ancona (W. Cazzola)

Semestre II 3 CFUhttp://www.disi.unige.it/person/CazzolaW/programma.htmlContenuti

– 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

Page 17: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 17

Soft ComputingFrancesco Masulli

Semestre I 6 CFUhttp://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

Page 18: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 18

Calcolabilità e ComplessitàEugenio Moggi

Semestre 6 CFUhttp://www.disi.unige.it/person/MoggiE/CC03/Inizio: 16/10Contenuti

– 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,

problemi decidibili

Page 19: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 19

Modelli dei Dati di Nuova Generazione

Barbara CataniaSemestre 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

Page 20: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 20

Architetture dei Sistemi di Gestione DatiGiovanna Guerrini

Semestre I 6 CFU http://www.disi.unige.it/person/GuerriniG/teach/asgd03Contenuti

– 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

Page 21: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 21

Grafica interattivaEnrico Puppo

Semestre I 6 CFUhttp://www.disi.unige.it/person/PuppoEContenuti

– 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 computergraphics, visualizzazione scientifica, visualizzazione 3D,simulazioni grafiche...

Parole chiave– Interactive 3D computer graphics, OpenGL, C++

Page 22: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 22

Complementi di Algoritmi e Strutture DatiLeila De Floriani

Semestre II 6 CFUhttp://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

Page 23: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 23

SicurezzaGiovanni Chiola e Maurizio Aiello

Semestre I 6 CFUhttp://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 CodiciParticolarmente 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

guasti, integrita’

Page 24: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 24

Architetture Parallele I e IIGiuseppe Ciaccio

Semestre I 3+6 CFUhttp://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

Page 25: Corso di Laurea in Informatica Curriculum Progettazione Software Curriculum Sistemi di Elaborazione.

2 Ottobre 3 25

Ingegneria del SoftwareGianna Reggio e Egidio

AstesianoSemestre I 9 CFUhttp://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