Ai futuri Ingegneri Informatici viene richiesta capacità di:
a) raccogliere e interpretare dati, essendo in grado di derivarne giudizi autonomi;
b) comprendere l'impatto delle soluzioni ingegneristiche nel contesto sociale e fisico-ambientale.
Il Corso di Laurea in Ingegneria Informatica si pone l'obiettivo di fornire allo studente gli opportuni strumenti metodologici ed operativi per consentirgli di affrontare, con autonomia e obiettività di giudizio, i problemi tipici della progettazione e produzione di applicazioni software, e dell'elaborazione di informazioni digitali.
La verifica dei risultati attesi sopra indicati viene condotta nei singoli insegnamenti e in particolare in quelli del settore dei sistemi per l'elaborazione dell'informazione (ING-INF/05), che prevedono tutti attività di laboratorio.
Le abilità comunicative che sono richieste ad un futuro Ingegnere Informatico riguardano in particolare la capacità di comunicare informazioni, idee, problemi e soluzioni a interlocutori specialisti e non specialisti, in forma scritta e orale, in italiano e in inglese.
Tali abilità (in italiano) vengono accertate attraverso le prove scritte e/o orali previste nei singoli insegnamenti, ed eventualmente nello svolgimento di un tirocinio o di una attività progettuale.
Per quanto riguarda in particolare le abilità comunicative in inglese, oltre all'idoneità di base di livello B1 del Quadro Comune Europeo di Riferimento, lo studente può sostenere alcuni esami all'estero grazie alle possibilità offerte dal Programma Erasmus.
La capacità di apprendere è essenziale poiché ad un futuro Ingegnere Informatico viene richiesto un aggiornamento continuo delle proprie conoscenze, vista l'evoluzione sia dei concetti sia delle applicazioni che caratterizzano l'Ingegneria Informatica.
Inoltre, la capacità di apprendere può essere richiesta per intraprendere studi successivi con un alto grado di autonomia.
Tali capacità, oltre che nell'ambito dei singoli insegnamenti, nei quali allo studente può essere chiesto di approfondire in modo autonomo conoscenze in particolari temi di interesse, vengono verificate principalmente nella preparazione dell'elaborato per la prova finale ed, eventualmente, nello svolgimento di un tirocinio o di una attività progettuale.
1) Scienze di base
- Conoscere e comprendere i principali concetti dell'analisi matematica relativi alle funzioni e al calcolo differenziale ed integrale, oltre che alle equazioni differenziali.
- Conoscere e comprendere i principali concetti dell'algebra lineare e della geometria euclidea di dimensione due e tre.
- Conoscere e comprendere i principali concetti della fisica, in particolare dell'elettromagnetismo.
- Conoscere e comprendere i fondamenti dell'informatica e in particolare della programmazione imperativa e sequenziale.
2) Informatica per l'ICT
- Conoscere e comprendere i fondamenti dei calcolatori elettronici, in particolare basati su microprocessori Intel.
- Conoscere e comprendere i fondamenti dei sistemi operativi, con particolare riferimento a UNIX/Linux e alla relativa programmazione di sistema.
- Conoscere e comprendere i fondamenti delle basi di dati in particolare relazionali.
- Conoscere e comprendere i fondamenti della programmazione ad oggetti ed in particolare di Java.
- Conoscere e comprendere i fondamenti dell'ingegneria del software.
- Conoscere e comprendere i fondamenti delle reti di calcolatori e dei principali servizi applicativi.
- Conoscere e comprendere i fondamenti dell'intelligenza artificiale e delle tecniche di apprendimento automatico supervisionato.
- Conoscere e comprendere le tecnologie del web, i linguaggi di markup e i fondamentali meccanismi dei dispositivi mobili.
3) Altre discipline dell'ICT
- Conoscere e comprendere i fondamenti delle telecomunicazioni.
- Conoscere e comprendere i concetti di base dei controlli automatici.
4) Discipline affini e integrative
- Conoscere e comprendere i fondamenti della statistica e della probabilità matematica.
- Conoscere e comprendere il funzionamento delle aziende sia dal punto di vista gestionale che della rappresentazione contabile dei loro risultati.
- Conoscere e comprendere le basi dei circuiti elettrici e dell'elettronica digitale.
- Conoscere e comprendere i principali concetti della ricerca operativa relativi alla modellazione matematica per problemi decisionali e l'ottimizzazione tramite la programmazione lineare a variabili continue, intere o miste.
1) Scienze di base
- Sapere modellare e risolvere problemi matematici utilizzando le tecniche dell'analisi matematica in particolare funzioni di una variabile, punti di massimo e di minimo di funzioni di più variabili reali e integrali di volume e di superficie.
- Sapere modellare e risolvere problemi algebrici e geometrici utilizzando le tecniche dell'algebra lineare e della geometria.
- Sapere applicare i rudimenti dell'elettromagnetismo classico sino alle equazioni di Maxwell.
- Sapere definire algoritmi sequenziali e avere la capacità di sviluppare e verificare programmi utilizzando il linguaggio di programmazione C.
2) Informatica per l'ICT
- Sapere analizzare le principali architetture dei calcolatori elettronici valutandone le prestazioni e sapere scrivere semplici funzioni in assembly.
- Sapere utilizzare i principali comandi shell di UNIX/Linux e avere la capacità di sviluppare programmi di script in Shell e programmi concorrenti usando il linguaggio di programmazione C.
- Sapere progettare, creare, modificare e interrogare un database relazionale.
- Sapere sviluppare programmi usando il linguaggio di programmazione Java.
- Sapere applicare le tecniche dell'ingegneria del software per la specifica, l'analisi e la progettazione di sistemi software.
- Sapere usare i principali servizi applicativi delle reti di calcolatori e avere la capacità di installare e configurare reti locali e Web server in ambiente UNIX/Linux.
- Sapere realizzare sistemi di decisione nei quali la logica viene descritta formalmente o appresa da dati di esempio
- Sapere realizzare pagine web utilizzando HTML e CSS, con elementi attivi realizzati in JavaScript. Conoscere i rudimenti del Python per applicazioni server side.
3) Altre discipline dell'ICT
- Sapere progettare collegamenti analogici e numerici per telecomunicazioni.
- Sapere descrivere e analizzare i sistemi dinamici reatroazionati e sapere progettare regolatori, atti a migliorare le prestazioni dinamiche dei sistemi retroazionati.
4) Discipline affini e integrative
- Sapere applicare la statistica e la probabilità matematica.
- Sapere usare gli strumenti necessari per l'analisi economico-finanziaria e per l'interpretazione dei risultati gestionali.
- Sapere analizzare i circuiti elettrici lineari e sapere comprendere il comportamento dei componenti e dei circuiti elettronici all'interno dei sistemi di calcolo.
- Sapere rappresentare problemi decisionali e di ottimizzazione tramite modelli matematici lineari, e saper risolvere semplici problemi di programmazione matematica lineare continua, intera o mista.