Il laureato in Informatica avrà una buona capacità di reperire dati e informazioni utili allo svolgimento del proprio lavoro, in particolare nella formulazione di problemi e nella definizione di strategie di risoluzione dei medesimi. Sarà in grado di fornire giudizi autonomi sulle scelte operate e di valutare criticamente i risultati ottenuti, anche in funzione di tali scelte.
Gli strumenti didattici privilegiati per il raggiungimento di questi obiettivi sono principalmente i progetti, individuali o di gruppo; gli obiettivi sono verificati durante la presentazione e la discussione dei progetti, chiedendo agli studenti di esplicitare le motivazioni delle scelte progettuali e tecnologiche effettuate. Funzionali al raggiungimento dell'autonomia di giudizio sono anche il tirocinio e la prova finale nei quali lo studente propone soluzioni autonome per il soddisfacimento di requisiti posti da un relatore/tutor aziendale, discusse poi con questi ultimi.
Il laureato ha capacità comunicative sia verso i colleghi con cui collabora sia verso persone non del campo informatico a cui deve presentare i risultati del proprio lavoro. Ha capacità di leggere con profitto letteratura tecnica (informatica) in lingua inglese.
Tali capacità sono conseguite principalmente tramite (1) il lavoro di gruppo nei progetti per affinare le capacità di interazione e comunicazione tra pari e (2) la richiesta di presentazione del proprio lavoro all'interno di progetti, con chiarezza e sinteticità oltre che con linguaggio tecnico appropriato (ove necessario), utilizzando varie metodologie e tecnologie comunicative. Vengono inoltre messi a disposizione degli studenti dei docenti Tutor, che possono proporre azioni di supporto di tipo metodologico per il superamento di difficoltà nelle attività didattiche. Tali docenti complementano le attività previste dal centro linguistico, per quanto riguarda l'inglese, e lo sportello di ascolto (counseling) messo a disposizione dell'Ateneo.
Per verificare il conseguimento delle capacità di comunicazione vengono utilizzate varie modalità di accertamento, che includono prove scritte e orali, e relazioni e/o presentazioni di accompagnamento ai progetti software.
I laureati devono acquisire elevata capacità e propensione all'apprendimento continuo e autonomo, perché la disciplina informatica è in continua e rapida evoluzione.
Il percorso formativo cerca di raggiungere questo obiettivo dotandosi delle seguenti caratteristiche fondamentali:
- durante il percorso di studi, lo studente viene esposto a conoscenze, tecnologie e metodologie scientifiche molto eterogenee e in continua evoluzione. Questo lo abitua allo sforzo di rivedere costantemente le proprie conoscenze e la capacità di apprendimento raggiunta;
- le conoscenze scientifiche di base, che tradizionalmente vengono considerate meno appaganti rispetto alla pratica della disciplina che lo studente ha scelto, sono tuttavia fondamentali proprio per affinare la capacità di apprendere nozioni non semplici e rendere così più agevole l'aggiornamento e/o il proseguimento degli studi;
- le relazioni progettuali e le esposizioni orali richiedono agli studenti un maggiore sforzo di apprendimento, ma li inducono ad acquisire una maggiore padronanza delle materie (secondo il ben noto asserto secondo cui si spiega bene solo ciò che bene si è appreso).
In conclusione, il corso fornisce padronanza della disciplina in termini di nozioni e tecniche applicabili al mondo reale, senza sacrificare l'acquisizione di metodi e conoscenze scientifiche di base che garantiscono loro sia la capacità di aggiornarsi autonomamente, sia di proseguire gli studi in un corso di laurea magistrale.
I risultati attesi, verificati tramite la valutazione della prova finale, sono volti a rispecchiare questo duplice obiettivo.
Area scienze di base
I laureati di Informatica di Modena avranno conoscenza e comprensione dei principi e degli strumenti logico-matematici per la modellistica propedeutici allo studio delle discipline informatiche. Avranno conoscenza delle metodologie di astrazione nonché delle principali tecniche algoritmiche per il problem solving, anch'esse propedeutiche allo studio delle discipline informatiche e, in particolare, allo sviluppo di applicazioni software avanzate.
Analisi, progetto e implementazione di applicazioni
I laureati in Informatica avranno solide conoscenze e capacità di comprensione nei seguenti ambiti:
- concrete tecniche algoritmiche, progetto e uso di strutture dati;
- linguaggi formali;
- paradigmi e linguaggi di programmazione (imperativi, orientati agli oggetti, funzionali, logici o ispirati da sistemi naturali);
- metodologie e tecniche di (e strumenti di ausilio alla) progettazione software;
- metodologie e tecniche di ottimizzazione e di apprendimento automatico;
- aspetti architetturali e di linguaggio che impattano sulle prestazioni;
- tecnologie per la rappresentazione e la gestione di dati, strutturati e non strutturati.
Amministrazione di sistemi
I laureati in Informatica avranno le fondamentali conoscenze relative all'architettura hardware/software dei moderni sistemi informatici, con particolare riguardo a:
1) architettura dei calcolatori, incluse architetture massicciamente paralelle;
2) organizzazione e funzionalità dei sistemi operativi moderni;
3) struttura e funzionamento delle reti di comunicazione locale e di Internet, principali servizi offerti e relativi protocolli;
4) organizzazione e funzionalità di sistemi di gestione di basi di dati.
Area scienze di base
La capacità di applicazione delle conoscenze (in maniera professionale e con un buon grado di autonomia) si esplicherà, per i laureati in Informatica di Modena, principalmente nelle:
1) capacità di analizzare un problema e di descriverlo in forma matematico/algoritmica in modo che esso possa poi essere "risolto" mediante strumentazione informatica;
2) capacità di valutare, rispetto ad un modello astratto ma significativo, il costo computazionale di un algoritmo (tempo e quantità di memoria richiesta per l'esecuzione);
3) capacità di modellare sistemi basati su reti di "entità" interagenti;
4) capacità di analizzare e descrivere il comportamento di un sistema informatico attraverso opportuni parametri matematico/statistici;
5) capacità di valutare l'efficacia delle metodologie di astrazione e il loro impatto sulla progettazione di architetture e linguaggi.
Analisi, progetto e implementazione di applicazioni
La conoscenza di un'ampia gamma di tecnologie e metodi di progetto e sviluppo di software si traducono (anche e soprattutto grazie alle molte ore dedicate ai laboratori e allo sviluppo di progetti) nella capacità concreta di:
1) sviluppare soluzioni software efficienti a partire da una descrizione algoritmica o anche da semplici modelli formali;
2) gestire l'integrazione di più programmi in un'applicazione "distribuibile" a terzi, curando anche gli aspetti di documentazione;
3) sviluppare e integrare soluzioni basate su metodi algoritmici, calcolo numerico e apprendimento automatico
4) progettare sistemi e applicazioni che massimizzano la performance
5) lavorare allo sviluppo di soluzioni software, che possono includere sofisticate strutture dati e informative.
Amministrazione di sistemi
Le conoscenze e la pratica svolta (mediante attività di laboratorio e progettuale) conferiscono al laureato in Informatica le seguenti capacità basilari riguardo a:
- gestione e amministrazione di un sistema operativo basato su Unix/Linux;
- progetto e configurazione di una rete locale di computer;
- progetto di semplici database e interrogazione di database mediante il linguaggio SQL.
- capacità di progettare e realizzare applicazioni mediante tecnologie database.