Laurea in Informatica

Laurea in Informatica

Il corso di studi è suddiviso tra laurea (triennio,180 crediti) e una laurea magistrale (biennio, 120 crediti).

I primi due anni del triennio sono stati riorganizzati con l’impronta di quelli della vecchia laurea in Informatica ma hanno meno crediti di Matematica e Fisica.

Si è cercato di introdurre fin dall’inizio degli studi universitari più Programmazione e maggiori conoscenze tecniche, per soddisfare le richieste del mondo del lavoro.

I curricula dei corsi di laurea comprendono attività finalizzate ad acquisire:

  • strumenti di matematica discreta e del continuo;
  • conoscenza dei principi, delle strutture e dell’utilizzo dei sistemi di elaborazione;
  • tecniche e metodi di progettazione e realizzazione di sistemi informatici, sia di base che applicativi;
  • conoscenza di settori di applicazione;
    È opportuno che siano previsti elementi di cultura aziendale e professionale ed elementi di cultura sociale e giuridica.

I corsi devono prevedere fra le attività formative nei diversi settori disciplinari, lezioni ed esercitazioni di laboratorio ed inoltre congrue attività progettuali autonome e congrue attività individuali in laboratorio. Prevedono, in relazione a obiettivi specifici, attività esterne, come tirocini formativi presso aziende, strutture della pubblica amministrazione e laboratori, oltre a soggiorni di studio presso altre università italiane e estere, anche nel quadro di accordi internazionali.

Parallelismo tra il corso di laurea in Informatica ed il corso di laurea in Ingegneria Informatica

Il corso di laurea in informatica presenta molte similitudini con il corso di laurea in ingegneria informatica. Il primo ha una connotazione più logico-matematica, in particolare studia i fondamenti scientifici dell’informatica (come la Teoria della complessità computazionale) e la loro applicazione per lo studio e la realizzazione di algoritmi, linguaggi, sistemi per la gestione di basi di dati, sistemi operativi, ecc. 

Il secondo intende formare ingegneri in grado di progettare sistemi informatici. A tal fine, approfondisce l’hardware (elettronica, elettrotecnica, fisica, ecc.) e l’integrazione dell’hardware con il software. In generale, se si è interessati all’informatica come scienza pura allora il corso di laurea in informatica è più adatto; se invece si intende approfondire anche la progettazione di sistemi di trattamento automatico dell’informazione, allora il corso di laurea in ingegneria informatica è la scelta migliore.

Nonostante le differenze esistenti tra le due lauree, dottori in informatica e dottori in ingegneria informatica spesso si ritrovano a lavorare insieme sia nel mondo della ricerca che nelle professioni. Entrambe le lauree, informatica ed ingegneria informatica, danno accesso all’esame di stato per l’iscrizione all’ordine degli ingegneri senza alcuna limitazione.

Obiettivi Formativi della laurea in Informatica

Il laureato in informatica possiede competenze teoriche, metodologiche, sperimentali ed applicative nelle aree fondamentali dell’informatica che costituiscono la base concettuale e tecnologica per l’approccio informatico allo studio dei problemi e per la progettazione, produzione ed utilizzazione della varietà di applicazioni richieste nella Società dell’Informazione per organizzare, gestire ed accedere ad informazioni e conoscenze.

Dunque, i laureati in informatica posseggono competenze metodologiche, sperimentali, applicative negli ambiti fondamentali dell’informatica. La laurea in informatica permette di affrontare in maniera adeguata il crescente sviluppo delle tecnologie, attraverso l’analisi di sistemi complessi e la pianificazione di modelli e soluzioni realizzabili tramite software e sistemi informatici.

Sbocchi occupazionali di Informatica

Sbocchi Occupazionali

Gli sbocchi occupazionali sono quelli relativi alla progettazione, organizzazione, gestione e manutenzione di sistemi informatici, sia in imprese produttrici nelle aree dei sistemi informatici e delle reti, sia nelle imprese, nelle pubbliche amministrazioni e, più in generale, in tutte le organizzazioni che utilizzano sistemi informatici.

Il laureato in Informatica sarà anche in grado di proporsi autonomamente sul mercato del lavoro.

Professioni: amministratore di basi di dati, amministratore di rete/web, consulente nel settore delle tecnologie informatiche, progettista di rete, analista software, analista di sistema, sviluppatore web, tecnici esperti in applicazioni e della produzione di servizi, sviluppatore software, operatore di supporto e assistenza tecnica, responsabile di aziende operanti nei servizi multimediali o nei servizi informatici e di telecomunicazione, game development.

Materie di studio L31 Scienze e Tecnologie Informatiche: istituzioni di matematica, matematica discreta e logica, calcolo numerico, fisica, analisi matematica, architettura degli elaboratori e laboratorio, calcolo delle probabilità, algoritmi e strutture dati, algebra lineare, economia e gestione aziendale, linguaggi formali calcolabilità e complessità, grafica computerizzata, tecnologie web, metodologie di programmazione, informatica teorica, reti di calcolatori, fondamenti di ingegneria del software, metodologie della cyber security.

Dove si studia [ L31 Scienze e Tecnologie Informatiche ]

Università degli studi di Bari A.Moro
Dipartimento di informatica
Informatica
Informatica e Comunicazione Digitale, Taranto
Informatica e tecnologie per la produzione del software

Università degli studi della Basilicata
Dipartimento di matematica, informatica ed economia
Scienze e Tecnologie Informatiche, Potenza

Università degli studi di Bologna Alma Mater
Dipartimento di informatica, scienza e ingegneria
Informatica
Informatica per il Management
Ingegneria e Scienze Informatiche, Cesena

Libera Università di Bolzano
Facoltà di scienze e tecnologie informatiche
Informatica
Informatica e Management delle Aziende digitali

Università degli studi di Cagliari
Dipartimento di matematica e informatica
Informatica

Università della Calabria
Dipartimento di matematica e informatica
Informatica, Rende

Università degli studi di Camerino
Scuola di scienze e tecnologie
Informatica

Università degli studi di Catania
Dipartimento di matematica e informatica
Informatica

Università degli studi di Ferrara
Dipartimento di matematica e informatica
Informatica

Università degli studi di Firenze
Dipartimento di statistica, informatica, applicazioni
Informatica

Università degli studi di Genova
Dipartimento di informatica, bioingegneria, robotica e ingegneria dei sistemi
Informatica

Università degli studi dell’Insubria Varese – Como
Dipartimento di scienze teoriche applicate
Informatica, Varese

Università degli studi de L’ Aquila
Dipartimento di ingegneria e scienze dell’informazione e matematica
Informatica

Università degli studi di Messina
Dipartimento di scienze matematiche ed informatiche, scienze fisiche e scienze della terra
Informatica

Università degli studi di Milano
Dipartimento di Informatica
Informatica
Informatica musicale
Informatica per la Comunicazione Digitale
Sicurezza dei sistemi e delle reti informatiche

Università degli studi Milano Bicocca
Dipartimento di informatica, sistemistica e comunicazione
Informatica

Università degli studi di Modena e Reggio Emilia
Dipartimento di Scienze Fisiche, Informatiche e Matematiche
Informatica, Modena

Università degli studi del Molise
Dipartimento di Bioscienze e Territorio
Informatica, Pesche

Università degli studi di Napoli Federico II
Dipartimento di Scienze e Tecnologie
Informatica

Università degli studi di Napoli Parthenope
Dipartimento di Scienze e Tecnologie
Informatica

Università degli studi di Padova
Dipartimento di Matematica
Informatica

Università degli studi di Palermo
Dipartimento di Matematica e informatica
Informatica

Università degli studi di Parma
Dipartimento di Scienze Matematiche, Fisiche, Informatiche
Informatica

Università degli studi di Perugia
Dipartimento di Matematica e informatica
Informatica

Università degli studi del Piemonte Orientale Amedeo Avogadro – Vercelli
Dipartimento di Scienze e Innovazione Tecnologica
Informatica, Alessandria

Università degli studi di Pisa
Dipartimento di Informatica
Informatica

Sapienza Università di Roma
Dipartimento di Informatica
Applied Computer Science and Artificial Intelligence
Informatica

Università degli studi di Roma Tor Vergata
Dipartimento di Ingegneria dell’Impresa
Informatica

Libera Università degli studi “Maria SS. Assunta” – LUMSA
Dipartimento di Giurisprudenza, economia, politica a lingue
Tecniche informatiche per la gestione dei dati, Roma

Università degli studi di Salerno
Dipartimento di Informatica
Informatica, Fisciano

Università degli studi di Torino
Dipartimento di Informatica
Informatica

Università degli studi di Trento
Dipartimento di Ingegneria e Scienza dell’informazione
Informatica

Università degli studi di Trieste
Dipartimento di Ingegneria e Scienza dell’informazione
Intelligenza artificiale e data analytics

Università degli studi di Udine
Dipartimento di Scienze matematiche, informatiche e fisiche
Informatica
Internet of things, Big Data, Machine Learning
Scienze e tecnologie multimediali, Pordenone

Università degli studi di Urbino Carlo Bo
Dipartimento di Scienze Pure e Applicate
Informatica Applicata

Università Ca’ Foscari di Venezia
Dipartimento di Scienze Ambientali, Informatica e Statistica
Informatica

Università degli studi di Verona
Dipartimento di Informatica
Bioinformatica
Informatica

Le professioni di Informatica

Programmatore informatico 

Il programmatore del terzo millennio è uno specialista, costantemente aggiornato sull’evoluzione della tecnologia e sulle nuove tendenze. Si occupa di realizzare (implementare, in linguaggio tecnico) i requisiti per i software ai quali lavora, intesi sia come nuove features (prodotti) sia come evoluzione di quelle già esistenti. Negli ultimi anni poi, a seguito della sempre maggiore diffusione di smartphones e dispositivi mobili, si sta ampliando anche la richiesta di programmatori con specifica competenza nello sviluppo delle cosiddette “app”.

Le competenze tecniche di base vanno dalla conoscenza della teoria dei linguaggi di programmazione (numerazione binaria, macchine calcolatrici astratte, costrutti logici, algoritmi) alla conoscenza dei vari paradigmi di programmazione (lineare, object oriented, distribuita), oltre naturalmente alle principali metodologie di progettazione del software (es. UML Unified Modeling Language, “linguaggio di modellizzazione unificato” ).

Inoltre, sono necessarie al giorno d’oggi anche competenze di base relative alle reti TCP/IP (protocollo Internet) ed ai principali database (Oracle, DB2, concetti del modello entità-relazione). Questo tipo di competenza di base, si specializza con l’apprendimento di uno o più linguaggi e ambienti di sviluppo software (es. piattaforma Java, linguaggio C, piattaforma .net, etc.). 

Figure affini al programmatore si possono considerare l’Analista Programmatore (o Software Engineer, che ha maggiore competenza in ambito di progettazione del software); il Test Engineer, un informatico specializzato nella definizione e nella realizzazione dei test per i nuovi software; il Database Administrator (o DBA) che ha specifiche competenze e certificazioni in ambito database; il Web Designer che si occupa della progettazione e della programmazione di siti internet.

System integrator 

Si tratta di una figura professionale, nel contesto dell’IT (Information Technology), deputato a far dialogare sistemi diversi tra loro allo scopo di creare una nuova struttura funzionale che possa utilizzare le potenzialità dei sistemi d’origine, creando funzionalità in origine, non presenti.

Come SI (system integrator) si mettono insieme sistemi informatici eterogenei (comprendenti quindi software, hardware e network) in modo che possano processare, salvare e categorizzare dati.

Per esempio, si possono costruire una soluzione informatica che integri un database, un sito web, un’applicazione gestionale proprietaria (un’applicazione che gestisce un magazzino o la fatturazione aziendale) e il collegamento con un’altra azienda, creando così un’applicazione unica che soddisferà le esigenze del cliente.

L’integrazione dei sistemi informatici è ormai una necessità comune a tutti i settori lavorativi, questo perché ormai i vari software gestionali si sono trasformati in applicativi verticali (che rispondono a specifiche esigenze di un mercato ben definito) ed estremamente specialistici.

Gran parte delle richieste arrivano dal settore industriale e manifatturiero, settori dove si ha a che fare con scenari informatici, all’interno della stessa azienda, molto eterogenei e con singoli componenti software applicativi completamente scollegati fra di loro.

In questi ultimi tempi, il SI si occupa anche di Cloud Computing (CC), ma cosa vuol dire di preciso? Che cosa implica per il lavoro dell’SI? Anni fa, Internet era spesso rappresentata nei diagrammi come una nuvola (cloud): una sorta di gigantesco etere nel cielo, ben al di là della casa o ufficio. 

Al giorno d’oggi i dati, i programmi non devono necessariamente risiedere sui PC o sui server; possono infatti essere “ospitati” (o memorizzati) su Internet o, come si suol dire, “in the cloud”. CC significa semplicemente gestire esternamente (online) le applicazioni e le attività, invece che all’interno di quattro mura.

I vantaggi per il cliente non sono pochi:

  • abbassamento dei costi (utilizzare software “in the cloud” riduce considerevolmente l’investimento)
  • costi di supporto inferiori (versioni più aggiornate dei programmi, senza bisogno di supporto specialistico per l’aggiornamento)
  • rischi ridotti (la sicurezza dei dati diventa un problema del fornitore)
  • accesso ai servizi in ogni momento e in ogni luogo (lavorare sui propri documenti via web, da casa o in qualsiasi altro luogo).

Il System Integrator è la figura cardine che supporta il cliente nella migrazione dai sistemi fruibili in modalità “tradizionale” a quelli fruibili in modalità CC.

Web developer

Il Web è nato come risposta a una sfida aperta, nel mescolarsi di influenze, idee e conclusioni di origini diverse, fino a coagulare un concetto nuovo grazie alla mediazione meravigliosa della mente umana.

L’architettura del nuovo Web, 1999
Tim Berners-Lee

Il web developer è la figura professionale che si occupa della realizzazione e codifica di applicazioni web-based. In particolare, si dedica allo sviluppo del codice di programmazione, dell’ottimizzazione dei database e dei linguaggi di markup. Un autentico “tecnico del codice”.

In teoria, il web developer non dovrebbe occuparsi della progettazione grafica di un sito, né dei contenuti né tantomeno della creazione di file multimediali, ma dell’assemblaggio, della struttura e di tutte le automazioni di un sito web, ma non sempre i confini lavorativi sono ben definiti.

La sua figura professionale, può essere paragonata a quella di un regista che si occupa della realizzazione della struttura, dello sviluppo, del collaudo e della manutenzione di tutte le funzionalità di un sito web. 

In collaborazione con le altre figure professionali coinvolte nel progetto si decidono quali funzioni dovranno essere programmate e quali saranno le tecnologie più adatte per implementarle.

Il campo in cui opera è molto diversificato: dalla costruzione di una semplice pagina web statica, alla progettazione del sito da un punto di vista funzionale, alla scelta delle tecnologie più adatte in termini di costi, efficienza e affidabilità; dall’esecuzione di test e simulazioni per valutare la sicurezza delle soluzioni realizzate fino ad applicativi dinamici come quelli di commercio elettronico (ecommerce). Dalla creazione di social network, app specifiche per Iphone, Ipad e Android e infine all’assistenza e consulenza per eventuali integrazioni o modifiche future. Si evidenzia che nel web spesso le professioni tendono a confondersi, questo avviene perché parliamo di un settore innovativo e in forte crescita. La qualità dei progetti è essenziale, così come la specializzazione in linguaggi di programmazione e cercare di capire la strada che si vuole intraprendere.

Si dovrà possedere una forte competenza nell’uso dei vari linguaggi di markup per il web (html, xml, xhtml, asp, php, sql, css, js) e curare il rispetto degli standard dettati dal W3C, il Consorzio Internazionale del World Wide Web.

Così come si dovrà possedere conoscenze approfondite sul funzionamento dei protocolli di rete, dei server web, sulla gestione dei database, la sicurezza informatica, i principali linguaggi di programmazione (C, C++, Java, Visual Basic, HTML, XHTML, XML, JSP, ASP, PHP, Perl, CGI, SQL, ecc.), avere basi di DBMS (Data Base Management System) e Web Security (S/MIME, PGP e SSL: protocolli sicuri di posta elettronica e accesso a Internet).

L’evoluzione rapida e costante delle applicazioni web impone un continuo aggiornamento delle conoscenze tecniche e tecnologiche, sia attraverso corsi di formazione specifici che come autodidatta.

Esperto in sicurezza informatica 

Opera per rilevare, prevenire e risolvere le minacce alla sicurezza di reti di computer e di archivi di dati. Effettua periodiche verifiche dello stato di sicurezza dei sistemi e prepara relazioni tecniche e documentazione rivolta al miglioramento e alla gestione dei sistemi ICT.

L’esperto/esperta in sicurezza informatica svolge anche un ruolo importante nel mantenere l’integrità e la riservatezza dei dati di un’azienda e dei sistemi informativi.

Nei casi di perdita di archivi informatizzati agisce per il recupero dei dati e a fronte di violazioni dei sistemi informatici analizza e interpreta i dati collegati all’evento criminoso, per scoprire collegamenti tra eventi, gruppi e individui attraverso la ricerca di percorsi di utilizzo di dati.

Fornisce consulenza e supporto nell’installazione e nella manutenzione e operatività di software, firewall e SIEM (security information and event management) e, talvolta, può dover sviluppare e sperimentare programmi e strumenti personalizzati sulle specifiche esigenze del cliente.

Software architect

 Con questa definizione si intende la figura professionale specializzata nella progettazione delle funzioni e delle specifiche di programmi e applicativi informatici. In base all’analisi dei bisogni del cliente, studia la soluzione più idonea, definisce le specifiche tecniche e realizza il disegno logico delle singole componenti e del complesso del software. Si occupa talvolta della fase di test per verificare il funzionamento e la rispondenza del software rispetto agli obiettivi iniziali. Esegue eventuali revisioni ed aggiornamenti.

Ethical Hacker 

Un esperto di sicurezza informatica le cui attività di “hacker” vale a dire di svolgere attacchi informatici, sono indirizzate verso la propria azienda, al fine di potenziare reti, infrastrutture IT, siti web dell’azienda contro il rischio di reali attacchi informatici, realizzati dai pirati informatici, vale a dire dai cosiddetti cracker. La sicurezza dei dati e l’invulnerabilità delle infrastrutture è vitale per il sistema informatico di ogni azienda e organizzazione pubblica o privata.