* Conoscenza delle logiche di elaborazione dei calcolatori elettronici * Conoscenza delle reti di calcolatori * Conoscenza della struttura hardware/software * Conoscenza dei compilatori e linguaggi di programmazione * Conoscenza dei tipi di dati * Conoscenza del linguaggio di programmazione Python
Capacità di applicare conoscenza e comprensione
* Capacità di analisi per la comprensione dei problemi degli elaboratori elettronici e di reti di calcolatori * Analisi del funzionamento e delle prestazioni dell’hardware/software * Capacità di scrittura di applicativi software in Python, sia generici che orientati all’intelligenza artificiale
Ulteriori risultati di apprendimento attesi * Capacità di utilizzare le conoscenze apprese in molteplici ambiti dell’informatica * Applicabilità e progettazione di soluzioni software per ambito aziendale * Capacità analitica necessaria alla lettura e comprensione di testi scientifici
Abilità Comunicative * Capacità di utilizzo del gergo informatico * Capacità di divulgazione delle metodologie informatiche e scientifiche
Capacità di apprendimento * Autonomia nella consultazione della documentazione informatica * Autonomia nella ricerca mirata di testi scientifici in ambito intelligenza artificiale * Problem solving
Prerequisiti
Nessuno
Metodi didattici
* Lezione frontale * Laboratorio * Lezione invertita * Seminari * Strumenti digitali per il lavoro collaborativo e cooperativo
Verifica Apprendimento
Gli obiettivi del corso sono la comprensione della materia informatica partendo dalla storia della sua nascita, fino agli elementi essenziali che caratterizzano questo settore. Sarà appresa la conoscenza dei sistemi numerici e le operazioni aritmetiche e logiche come avvengono in un calcolatore elettronico. Il funzionamento delle reti di computer che formano complessi sistemi di scambio di informazioni ed internet. Sarà illustrata la struttura fisica di un calcolatore e la sua componentistica e come questa si interfaccia con lo strato software operativo che gestisce ogni componente. Sarà illustrato il funzionamento di un compilatore e delle fasi di creazione/compilazione/esecuzione di un software. Il laboratorio sarà focalizzato sulla comprensione degli elementi base della programmazione fino ad argomenti complessi di modellazione e architettura software. Verranno illustrati i tipi di dati immagine/testo/tabellare e come elaborarli. Sarà mostrato come creare delle reti neurali artificiali utilizzando il linguaggio di programmazione Python e le librerie per il calcolo scientifico.
Testi
* Informatica e cultura dell’informazione Luca Mari, Giacomo Buonanno, Donatella Sciuto McGraw-Hill Seconda edizione ISBN-13: 9788838665769 ISBN-10: 8838665761 * Pensare in python [free] https://github.com/AllenDowney/ThinkPythonItalian/blob/master/thinkpython_italian.pdf
* Deep Learning Book [free] https://www.deeplearningbook.org/
Contenuti
Storia dell'informatica e dell'informazione Algebra booleana Sistemi numerici Reti di calcolatori Trasmissione dell'informazione Modello di Von Neumann Scheda madre, CPU, Memoria, Componentistica esterna Sistema operativo Compilatori e linguaggi di programmazione Tipologie di dati Storia dell’intelligenza artificiale Reti neurali artificiali Basi della programmazione Programmazione in Python Python per il calcolo scientifico Intelligenza artificiale con Python
Lingua Insegnamento
ITALIANO
Altre informazioni
Progettazione di un software di intelligenza artificiale ed esposizione orale della progettazione con comprensione delle fonti. Sono previste domande di approfondimento/verifica del programma di studio durante la presentazione e valutazione delle competenze analitiche acquisite