Artificial Intelligence And Digital Innovation

Academic program

×
Print
Course
FILOSOFIA DELLA SCIENZA
Course ID
MF0650
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
BENZI MARGHERITA
Teachers
CFU
6.0
Teaching duration (hours)
48.0
Individual study time
102.0
SSD
M-FIL/02 - LOGICA E FILOSOFIA DELLA SCIENZA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
C
Year
1
Period
Primo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Introduzione alla filosofia della scienza contemporanea; analisi della nozione di 'causa' e dei diversi approcci al ragionamento causale nei diversi contesti di applicazione; illustrazione di alcuni problemi etici e di scelta collettiva legati all'intelligenza artificiale e delle proposte avanzate dalla filosofia analitica per affrontarli.
Introduction to contemporary philosophy of science; analysis of the notion of 'cause' and different approaches to causal reasoning in different contexts of application; illustration of some ethical and collective choice problems related to artificial intelligence and proposals put forward by analytic philosophy to address them.
Testi di riferimento/Textbooks
- P. Godfrey-Smith. Teoria e realtà. Introduzione alla filosofia della scienza. Raffaello Cortina Editore 2022, capp. 1-6 (fino a p.166), 11, 12. - R. Campaner. La causalità tra filosofia e scienza. Clueb 2012, pp. 1-51. - G. Tamburrini. Etica delle macchine. Dilemmi morali per robotica e intelligenza artificiale. Carocci 2020, capp. 1 e 3. - J. Pearl, Pearl. The seven tools of causal inference, with reflections on machine learning. Communications of the ACM, 62(3) 2019, 54-60. Facoltativo: - Kitchin, R. (2014). Big Data, new epistemologies and paradigm shifts. Big data & society, 1(1).
- P. Godfrey-Smith. Teoria e realtà. Introduzione alla filosofia della scienza. Raffaello Cortina Editore 2022 chapters 1-6 (up to p.166), 11, 12. - R. Campaner. La causalità tra filosofia e scienza, Clueb 2012, pp. 1-51. -G. Tamburrini. Eica delle macchine. Dilemmi morali per robotica e intelligenza artificiale. Carocci 2020, chapters 1 and 3. - J. Pearl, Pearl. The seven tools of causal inference, with reflections on machine learning. Communications of the ACM, 62(3) 2019, 54-60. Optional: - Kitchin, R. (2014). Big Data, new epistemologies and paradigm shifts. Big data & society, 1(1).
Obiettivi formativi/Mission
Conoscenza e comprensione - Il corso intende presentare alcune delle tematiche classiche della filosofia della scienza che da lungo tempo offrono un terreno comune di confronto e di elaborazione a filosofi e scienziati impegnati nell’elaborazione di sistemi di intelligenza artificiale. Tra queste, le definizioni di intelligenza e razionalità, la relazione dati-teorie, le diverse forme del ragionamento scientifico (inferenze induttive, deduttive, abduttive e basate sull’analogia) e i relativi contesti di applicazione, i fondamenti filosofici delle diverse nozioni di probabilità e di incertezza, i concetti di causa e di spiegazione, e il ruolo dei valori nella scienza. Tali tematiche saranno trattate in riferimento ai ‘nuovi’ problemi epistemologici sollevati dall’intelligenza artificiale, aprendo la via a loro una loro più ampia comprensione di aspetti centrali quali la spiegabilità, la causalità e i rispettivi ruoli di dati, modelli e teorie nella produzione di conoscenza. Sotto il profilo etico, sarà esplorata la componente epistemologica dei problemi etici posti dall’Intelligenza Artificiale, in particolare quelli derivanti dai bias cognitivi ed alla loro capacità di influenzare la presa di decisione, e quelli legati ai cosiddetti “dilemmi morali” in relazione all’uso di armi autonome e di altri artefatti. Capacità di applicare conoscenza e comprensione - Gli studenti e le studentesse acquisiranno • capacità di comprensione e di applicazione dei problemi epistemologici dalle nuove metodologie di intelligenza artificiale • capacità di riconoscere bias cognitivi, pregiudizi ed elementi discriminatori eventualmente presenti in prodotti nei prodotti dell’IA, con particolare riferimento a quelli previstivi • Capacità di partecipare a gruppi di studio /lavoro fortemente interdisciplinari • Capacità di valutare in maniera eticamente consapevole il responso di sistemi di sostegno alle decisioni e di artefatti dotati di una relativa autonomia decisionale • Capacità di orientamento nel dibattito contemporaneo su filosofia della scienza, filosofia dell’intelligenza artificiale, filosofia della tecnologia, etica dell’intelligenza artificiale, • Capacità di auto-apprendimento rispetto ad un settore relativamente nuovo ed in rapida evoluzione Autonomia di giudizio - Il corso mira a promuovere una forte autonomia di giudizio nel riconoscere, analizzare e comunicare possibili criticità etiche ed epistemologiche relative a metodi e applicazioni in diversi ambiti dell’ intelligenza artificiale; mira altresì a contribuire alla formazione di un atteggiamento critico che non si limiti ad accettare i risultati dell’intelligenza artificiale, ma che collabori ad esplicitare le premesse e i principi spesso applicati in maniera inconsapevole nei suoi prodotti. Abilità comunicative - Capacità di presentare le proprie conoscenze e tesi in maniera chiara ed articolata, capacità di intervento in occasione eventi di public engagement e di terza su aspetti etici e filosofici dell’intelligenza artificiale, capacità di comunicare all’interno di work teams con membri di diversa provenienza disciplinare. Capacità di apprendimento - Gli studenti dovranno acquisire gli strumenti concettuali di base necessari per seguire il dibattito presente e gli aggiornamenti futuri su specifiche questioni connesse ai risvolti epistemologi ed etici dell’intelligenza artificiale.
Knowledge and Understanding -The course aims to present some of the classic themes of the philosophy of science, which have long provided common ground for philosophers and computer scientists involved in the development of artificial intelligence systems. Among these, the definitions of intelligence and rationality, the relationship between data and theories, the different forms of scientific reasoning (inductive, deductive, abductive, and analogical inferences) and their contexts of application, the philosophical foundations of the different notions of probability and uncertainty, the concepts of cause and explanation, and the role played by values in scientific enterprise. These issues will be addressed with reference to the 'new' epistemological problems raised by artificial intelligence, paving the way for a broader understanding of central aspects such as explainability and the interplay between data, models and theories in the production of knowledge. From an ethical point of view, the epistemological component of the ethical problems posed by artificial intelligence will be explored, in particular those arising from cognitive biases and their ability to influence decision-making, and those related to so-called "moral dilemmas" in relation to the use of autonomous weapons and other artefacts. Applying knowledge and understanding - Students will acquire • Ability to understand and apply the epistemological problems of the new artificial intelligence methodologies • Ability to recognise cognitive biases, prejudices, and disruptive elements that may be present in artificial intelligence products, with particular reference to predictive ones • Ability to participate in highly interdisciplinary study/work groups • Ability to evaluate the ethical import of the response of decision-support systems and artifacts with some decision-making autonomy • Ability to navigate contemporary debates in philosophy of science, philosophy of artificial intelligence, philosophy of technology, and ethics of artificial intelligence • Capacity for self-learning in a relatively new and rapidly evolving field Autonomy of judgement - The course aims to promote a strong autonomy of judgement in recognising, analysing and communicating possible ethical and epistemological critical issues related to methods and applications in different fields of AI; it also aims to provide a critical attitude that contributes to question and to make explicit the premises and principles often applied unconsciously in its products. Communication skills - Ability to present one’s own knowledge and thesis in a clear and articulate manner, ability to speak at public engagement events and third-party events on ethical and philosophical aspects of artificial intelligence, ability to communicate within work-teams with members of different disciplinary backgrounds. Learning skills - Students should acquire the basic conceptual tools necessary to follow the current debate and the current updates on specific issues related to the epistemological and ethical aspects of artificial intelligence.
Prerequisiti/Required background knowledge
Interesse per le implicazioni etiche della scienza e della tecnologia. Adeguata proprietà di linguaggio.
Interest in the ethical implications of science and technology. Propriety of language.
Metodi didattici/Teaching methods
Lezioni frontali, discussione in classe di alcuni degli argomenti trattati e di i saggi prodotti dagli studenti su temi precedentemente concordati con la docente. Le slide delle lezioni, ed eventuali letture integrative suggerite saranno forniti sulla piattaforma DIR, per consentire agli studenti e alle studentesse che non possono frequentare di seguire lo svolgimento del corso.
Lectures, in-class discussion of some of the topics covered, and student-produced essays on topics previously agreed upon with the lecturer. Lecture slides and any suggested supplementary readings will be posted on the DIR platform to enable students who cannot attend to follow the course proceedings.
Altre informazioni/Further information
La presentazione e discussione da parte degli studenti di saggi su temi concordati con la docente sono considerate forme di controllo in itinere dell'apprendimento. Saranno altresì valutate la partecipazione attiva alle lezioni e alla discussione in classe.
Students' submission of short essays on topics agreed upon with the teacher is considered a form of in-progress monitoring of learning. Active participation in lectures and class discussions will also be assessed.
Modalità di verifica dell'apprendimento/Assessment methods
L’esame sarà svolto in forma orale e consisterà in almeno tre domande, coerenti con gli obiettivi formativi ed i risultati di apprendimento attesi, sulle tre parti del corso (filosofia della scienza, causalità ed etica). Un elenco di domande di autovalutazione, analoghe a quelle presentate nel corso dell’esame, sarà pubblicato sulla piattaforma DIR. La valutazione complessiva dipenderà dai risultati conseguiti nelle singole domande. Una parte dell’esame potrà essere sostenuta presentando entro una settimana dall’esame alla docente un breve saggio (approssimativamente tra 1500 e 2500 parole) su un argomento concordato e trattato durante il corso inerente alle tematiche della causalità o dell’etica.
The examination will be oral and will consist of at least three questions, consistent with the learning objectives and expected learning outcomes, on the three parts of the course (philosophy of science, causality, and ethics). A list of self-assessment questions, similar to those presented in the exam, will be posted on the DIR platform. The overall assessment will depend on the results achieved in the individual questions. Part of the exam may be taken by submitting within a week of the exam to the lecturer a short essay (approximately between 1500 and 2500 words) on a topic agreed upon and covered during the course pertaining to the topics of causality or ethic
Programma esteso/Content
A. ELEMENTI DI BASE DI FILOSOFIA DELLA SCIENZA Introduzione all’argomento e cenni sulle idee centrali dell’empirismo logico. Evidenza e induzione. La critica al’empirismologico: le rivoluzioni scientifiche e i paradgmi di Kuhn, il falsificazonismo di Popper. Caratterizzazioni del mutamento scientifico nella seconda metà del novecento: programmi di ricerca, tradizioni di ricerca, “anarchismo metodologico” e approccio sociologico. I valori nella scienza. Naturalismo e realismo scientifico. La spiegazione scientifica. Bayesianesimo e nuovi approcci all’evidenza. Cenni sul problema della verità. B. LA CAUSALITA’ TRA FILOSOFIA ED INTELLIGENZA ARTIFICIALE Le concezioni contemporanee della causalità: l’approccio probabilistico, concezioni neo meccanicistiche della causa, l’approccio controfattuttuale, l’approccio manipolativo. Cause singolari e cause generali nei diversi contesti disciplinari . L’inferenza causale: modelli grafici causali, aspetti filosofici e applicazioni. Causalità ed intelligenza artificiale: nuove questioni filosofiche. C. QUESTIONI DI ETICA Questa parte del corso intende mostrare come alcuni problemi decisionali nel campo dalla robotica e dalla intelligenza artificiale possono essere analizzate come ‘dilemmi morali’ con gli strumenti della filosofia analitica. Verranno altresì messi in luce i legami con gli orientamenti giuridici internazionali su questi temi.
A. BASIC ELEMENTS OF PHILOSOPHY OF SCIENCE Introduction to the subject and outline of the central ideas of logical empiricism. Evidence and induction. Critique of empiricism: scientific revolutions and Kuhn's paradigms, Popper's falsificationism. Characterizations of scientific change in the second half of the twentieth century: research programs, research traditions, "methodological anarchism" and sociological approach. Values in science. Naturalism and scientific realism. Scientific explanation. Bayesianism and new approaches to evidence. Hints on the problem of truth. B. CAUSALITY BETWEEN PHILOSOPHY AND ARTIFICIAL INTELLIGENCE. Contemporary conceptions of causality: the probabilistic approach, neo-mechanistic conceptions of cause, the counterfactual approach, the manipulative approach. Singular causes and general causes in different disciplinary contexts. Causal inference: causal graphical models, philosophical aspects, and applications. Causality and artificial intelligence: new philosophical issues. C. ETHICAL ISSUES. This part of the course aims to show how some decision-making problems in the fields of robotics and artificial intelligence can be analyzed as 'moral dilemmas' with the tools of analytic philosophy. Links with international legal guidelines on these issues will also be highlighted.
Risultati di apprendimento attesi/Intended learning objectives
Conoscenze – Conoscenza degli argomenti citati sopra, con particolare riguardo agli elementi-base della filosofia della scienza e la discussione corrente sui principali temi etici ed epistemologici della filosofia dell’intelligenza artificiale Competenze ed abilità Competenze - Essere in grado di comprendere e aggiornarsi sui temi oggetto del corso; di applicare adeguati metodi di studio e dibattito critico, di servirsi di opportuni strumenti bibliografici e altre fonti informazione, di comunicare adeguatamente nelle sedi di discussione delle tematiche trattate nei punti precedenti. Abilità - Miglioramento delle capacità critiche. Organizzazione autonoma di approfondimenti sulle tematiche trattate, apprendimento, elaborazione di giudizi autonomi, giustificati ed informati sulle tematiche sopra esposte, capacità argomentative ed espositive in ambito scritto e orale adeguate all’interlocutore, contribuire proficuamente e produttivamente alle attività di team-work interdisciplinare.
Knowledge - knowledge and understanding of the above quoted topics, with particular regard to the basic elements of the philosophy of science and the current debate on the main ethical and epistemological issues of the philosophy of artificial intelligence. Competences and skills Competences - To be able to understand and keep up to date with the topics covered in the course; to apply appropriate methods of study and critical discussion, to use appropriate bibliographical tools and other sources of information, to communicate appropriately in forums where the topics covered in the previous points are discussed. Skills - Improvement of critical skills. Autonomous organisation of in-depth studies on the topics dealt with, learning, development of autonomous, justified and informed judgements on the above topics, argumentative and expositive skills in writing and orally appropriate to the interlocutor, contributing profitably and productively to interdisciplinary team-work activities.
×
Print
Course
STATISTICA COMPUTAZIONALE
Course ID
MF0649
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
BONGIORNO Enea Giuseppe
CFU
6.0
Teaching duration (hours)
48.0
Individual study time
102.0
SSD
SECS-S/01 - STATISTICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
C
Year
1
Period
Primo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Introduzione alla statistica computazionale con particolare attenzione a modelli e algoritmi di generazione di variabili casuali, visualizzazione di dati multivariati, inferenza statistica, metodi Monte Carlo, metodi di ricampionamento. Le metodologie studiate a lezione verranno implementate usando il software statistico R.
Introduction to computational statistics with particular attention to models and algorithms to generate random variables, multivariate data visualization, statistic inference, Monte Carlo methods, resampling. Introduced methodologies will be implemented by means of the statistical software R.
Testi di riferimento/Textbooks
- M. L. Rizzo (2019): Statistical Computing with R, Second Edition. Chapman & Hall, Boca Raton. - Materiale a cura del docente.
- M. L. Rizzo (2019): Statistical Computing with R, Second Edition. Chapman & Hall, Boca Raton. - Lecture notes.
Obiettivi formativi/Mission
Gli obiettivi formativi del corso sono (declinati secondo i descrittori di Dublino): • Conoscenza e capacità di comprensione: conoscere e comprendere i metodi statistici introdotti, • Capacità di applicare conoscenza e comprensione: saperli implementare e interpretare in scenari simulati e reali, • Autonomia di giudizio: saper valutare autonomamente quando le metodologie sono applicabili • Abilità comunicative: saper comunicare anche a non esperti i risultati, i vantaggi e i limiti delle metodologie implementate • Capacità di apprendimento: saper estendere i concetti e le idee viste nel corso a nuovi contesti.
The goals of the course are (Dublin descriptors) • knowledge and understanding: know the introduced statistical techniques • applying knowledge and understanding: know how to implement and interpret them in real and simulated scenarios • making judgements: be able to make autonomously judgements on the use of the introduced methodologies • communication skills: know how to communicate the results, advantages and limitations of the methodologies implemented even to non-experts • learning skills: know how to extend the concepts and ideas seen in the course to new settings.
Prerequisiti/Required background knowledge
Fondamenti di matematica, probabilità e statistica.
Fundamentals of mathematics, probability and statistics.
Metodi didattici/Teaching methods
Lezioni teoriche frontali ed esercitazioni in laboratorio. La frequenza alla lezioni è fortemente raccomandata.
Both theoretical and practical classes will be held in a computer lab. Frequency of lessons is highly recommended.
Altre informazioni/Further information
Per ulteriori informazioni (come i collegamenti alle pagine web dei software utilizzati), si prega di consultare la pagina del corso su D.I.R. all’indirizzo: https://dir.uniupo.it/
Further informations (such as link to software website) can be found at the web page of the course: https://dir.uniupo.it/
Modalità di verifica dell'apprendimento/Assessment methods
L'esame è costituito da una prova orale consistente in domande teoriche e nella discussione di un eventuale elaborato.
The exam is formed by an oral examination that consists in theoretical questions and in a discussion about a possibly essay.
Programma esteso/Content
0. Introduzione ad R. 1. Manipolazione dei dati in R. Visualizazione dei dati (elementi di statistica descrittiva). 2. Metodi di generazione dei dati. 3. Statistica Inferenziale (stima puntuale, test di Ipotesi, metodi (non-)parametrici) 4. Introduzione ai processi stocastici (Catene di Markov discrete e continue) 5. Introduzione alla statistica Bayesiana e tecniche MCMC (Monte Carlo Markov Chain) 6. Tecniche di ricampionamento (bootstrap e jackknife). Gli argomenti del corso potranno subire modifiche a seconda delle esigenze didattiche che emergono durante lo svolgimento dello stesso.
0. Introduction to R. 1. Data manipulation in R. Visualization of data (elements of descriptive Statistics). 2. Generating data. 3. Inferential statistics (point estimation, Hypothesis test, (non-)parametric methods) 4. Introduction to stochastic processes (Discrete and continuous time Markov Chains) 5. Introduction to Bayesian statistics and simple Monte Carlo Markov Chain (MCMC) techniques 6. Resampling tecniques (bootstrap and jackknife) The topics of the course may undergo changes according to the didactic needs that emerge during the course.
Risultati di apprendimento attesi/Intended learning objectives
Alla fine del corso lo studente dovrebbe avere acquisito le seguenti: • Conoscenze: conoscere le motivazioni e le applicazioni principali che necessitano l’introduzione di metodi per generare numeri casuali, per simulazioni montecarlo e di ricampionamento. • Competenze ed abilità: saper valutare gli ambiti di applicazione, implementare e interpretare, in scenari simulati e reali, le metodologie viste. Saper comunicare, anche a non esperti, i risultati, i vantaggi e i limiti delle metodologie implementate. Saper estendere i concetti e le idee viste nel corso a nuovi contesti.
At the end of the classes, students should (Dublin descriptors) • Knowledge: know the main reasons and applications that require the introduction of methods for generating random numbers, for Monte Carlo simulations and for resampling. • Skills and abilities: knowing how to evaluate the areas of application, implement and interpret, in simulated and real scenarios, the methodologies tackle in classes. Knowing how to communicate, even to non-experts, the results, advantages and limitations of the methodologies implemented. Knowing how to extend the concepts and ideas seen in the course to new contexts.
×
Print
Course
APPRENDIMENTO AUTOMATICO E APPRENDIMENTO PROFONDO
Course ID
MF0616
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
9.0
Teaching duration (hours)
72.0
Individual study time
153.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso si suddivide logicamente in due moduli: Machine Learning (6 CFU) e Deep Learning (3 CFU). MACHINE LEARNING I diversi modelli di apprendimento automatico (supervisionato e non supervisionato); Regressione e classificazione; Bias e varianza dei modelli, regolarizzazione; Metodi di clustering; Determinazione di anomalie; Valutazione dei modelli di appendimento automatico; Strumenti di sviluppo. DEEP LEARNING Teoria e pratica dell’ Apprendimento Profondo
The cours is structured in two different logical modules: Machine Learning (6 CFU) and Deep Learning (3 CFU) MACHINE LEARNING Supervised and unsupervised models of machine learning; Regression and classification; Bias and variance, regularization; Clustering methods; Anomaly detection; Evaluation of machine learning models; Machine learning tools. DEEP LEARNING Theory and Implementation of Deep Learning methods
Testi di riferimento/Textbooks
A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow. (2nd edition), O’Reilly, 2019; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4 ed.), Morgan Kaufmann, 2016. I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
A. Geron: Hands-on Machine Learning with scikit-learn and Tensorflow,(2nd edition), O’Reilly, 2019; P. Flach, Machine Learning, Cambridge Univ. Press, 2012; I.H. Witten, E. Frank, M.A. Hall, C.J. Pal. Data Mining: Practical Machine Learning Tools (4th ed.), Morgan Kaufmann, 2016. I. Goodfellow, Y. Bengio, A. Courville. Deep Learning, MIT Press, 2016
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione Il corso ha lo scopo di introdurre le nozioni fondamentali dei metodi di appendimento automatico e di apprendimento profondo come valutarli e come sviluppare i relativi sistemi. Capacità di applicare conoscenza e comprensione La conoscenza acquisita permetterà allo studente di: comprendere i concetti di bias e varianza dei modelli e come affrontare i relativi problemi (ad esempio le tecniche di regolarizzazione) comprendere i principali modelli di classificazione, regressione e di apprendimento non supervisionato, tra quelli maggiormente applicati correntemente; ottenere una comprensione dell'apprendimento profondo tale da poterlo applicare a una vasta gamma di argomenti con particolare riguardo alle applicazioni di computer vision, elaborazione di testi ed elaborazione di segnali Autonomia di giudizio: il corso consentirà allo studente di sviluppare un’autonomia di giudizio e porrà lo studente nelle condizioni di valutare le scelte maggiormente adeguate relativamente ai possibili modelli di apprendimento automatico. Abilità communicative: sulla base delle conoscenze acquisite, lo studente potrà sviluppare abilità comunicative e relazionali per poter lavorare in team alla progettazione di sistemi di apprendimento automatico e profondo e per poter evidenziare limiti e vantaggi dei vari approcci possibili. Capacita' di apprendimento: lo studio della disciplina consentirà allo studente di capire quali alternative esistono nella progettazione e programmazione di un sistema di apprendimento automatico e di poter scegliere l’approccio più adeguato al compito prefissato.
Knowledge and understanding: the class will introduce the basic notions of machine learning methods, how to evaluate them and how to develop the related systems. Applying knowledge and understanding: the acquired knowledge will allow the student: to know the concepts of bias and variance of the models and how to deal with the related problems (e.g. regularization techniques) to know the main classification, regression and unsupervised models most used in current applications gain an understanding of deep learning that can be applied to a wide range of topics with particular focus on computer vision, word and text processing, signal processing applications. Making judgements: contents in this class will allow the student to develop autonomous judgement skills; he/she will be able to evaluate different choices concerning the possible machine learning models. Communications skills: the student will develop relational and communication skills that will allow him/her to work in team, and to emphasize pros and cons of the possible machine learning models. Learning skills: the study of the principles of the discipline will allow the student to have a correct understanding of the possible alternatives in the development of a machine learning system, and it will allow him/her to choose the most suitable approach.
Prerequisiti/Required background knowledge
Probabilita’ e Statistica, Analisi Matematica, Matematica Discreta (calcolo matriciale), Linguaggio Python (base)
Probability and statistics, Calculus, Discrete mathematics (matrix calculus), Python language (base)
Metodi didattici/Teaching methods
Lezioni frontali e sviluppo di esempi prototipali con esercitazioni
Classroom lectures and development of simple prototypes with practicals.
Altre informazioni/Further information
Materiale didattico a complemento dei testi suggeriti fornito dal docente, tramite piattaforma DIR. Disponibilità di lezioni registrate.
Lectures material to complement suggested books provided through DIR teaching platform. Availability of recorded lectures.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale con discussione di un semplice progetto.
Oral examination with discussion of a simple project.
Programma esteso/Content
MACHINE LEARNING Introduzione al machine learning: apprendimento supervisionato e non supervisionato; Regressione lineare univariata e multivariata, ridge regression; Regressione logistica; Regolarizzazione; Reti Neurali; Valutazione di un sistema ML; Decision Trees; Bayesian Learning; Lazy Learning; Metodi di ensemble learning; Clustering; Riduzione della dimensionalita: PCA; Anomaly detection; Il tool Weka; Le API scikit-learn. DEEP LEARNING Principi teorici dell'Apprendimento Profondo Deep feedforward neural nets Reti convolutive Reti ricorrenti Autoencoder Pre-Training Applicazioni Package implementativi
MACHINE LEARNING Introduction to machine learning: supervised and unsupervised learning; Linear regression (univariate and multivariate), ridge regression; Logistic regression; Regularization; Neural Networks; ML evaluation; Support Vector Machines; Decision Trees; Bayesian Learning; Lazy Learning; Ensemble learning methods; Clustering; Dimensionality reduction: PCA; Anomaly detection; The Weka tool; The scikit-learn APIs. DEEP LEARNING Deep Learning theory Deep feedforward neural nets Convolutional networks Recurrent nets Autoencoder Pre-Training Applications Implementation Packages
Risultati di apprendimento attesi/Intended learning objectives
CONOSCENZE: Conoscere le principali metodiche di apprendimento automatico supervisionato e non supervisionato e di apprendimento profondo. conoscere le metodiche di valutazione dei modelli conoscere le caratteristiche applicative dei vari modelli COMPETENZE E ABILITA’ saper sviluppare un modello di apprendimento automatico in funzione dell’applicazione richiesta saper valutare le caratteristiche in termini di bias e varianza dei modelli sviluppato saper valutare i risultati di un sistema di apprendimento automatico secondo le metriche più adeguate saper usare ed applicare gli opportuni tool di sviluppo saper stabilire le connessioni tra argomenti trattati in parti diverse del corso, sapersi interfacciare e comunicare adeguatamente con eventuali esperti dell’applicazione di riferimento; conoscere la terminologia adeguata.
KNOWLEDGE: to know the main methodologies of machine learning (supervised and unsupervised) and of deep learning to know methods and techniques for the evaluation of the models to know the suitability features of ML models with respect to a given application COMPETENCE AND SKILL to be able to develop an ML/DL model relative to a specific application to be able suitably deal with bias and variance of the models to be able to evaluate the results of an ML system, following suitable metrics to be able to use and apply some of the main tools for ML/DL systems development. to be able to connect notions presented in different parts of the class; to be able to suitably interface with application experts; to know the right terminology.
×
Print
Course
SISTEMI DISTRIBUITI E BIG DATA
Course ID
MF0651
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
CANONICO Massimo
CFU
12.0
Teaching duration (hours)
96.0
Individual study time
204.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Principi e soluzioni tecniche e metodologiche per la progettazione e la gestione di sistemi, architetture, e applicazioni distribuite per l’analisi dei Big Data.
Principles and current technical and methodological solutions for the design and management of systems, architectures, and distributed applications for Big Data analysis.
Testi di riferimento/Textbooks
Per la seconda parte, il libro di riferimento è quello scaricabile al seguente link: https://iris.uniupo.it/handle/11579/140999. Per le restanti parti, non c'è un libro di testo di riferimento specifico. Il materiale di studio si basa su articoli scientifici, documentazione tecnica e altro materiale fornito dal docente.
For the second part, the textbook can be downloaded from here: https://iris.uniupo.it/handle/11579/140999. For the other two parts, there is no specific reference textbook. The teaching material consists of scientific articles, technical documentation and other material provided by the lecturer.
Obiettivi formativi/Mission
Il corso ha l’obiettivo di illustrare i principi e le attuali soluzioni tecniche e metodologiche per la progettazione e la gestione di sistemi, architetture, e applicazioni distribuite per l’analisi dei Big Data. In particolare, il corso affronta le diverse problematiche inerenti all’acquisizione, memorizzazione e processamento dei Big Data, presentando le principali soluzioni (hardware e software) che sono state proposte per la loro gestione. Il corso inoltre introduce il linguaggio di programmazione Rust e le peculiarità che lo rendono adatto al processamento di Big Data. Il corso prevede esercitazioni di laboratorio al fine di poter combinare gli aspetti metodologici e tecnologici visti in classe. * Conoscenze: Al termine del corso, lo studente avrà appreso i principi e le principali soluzioni tecniche e metodologiche per la progettazione e la gestione di sistemi, architetture, e applicazioni distribuite per l’analisi dei Big Data nonché concetti avanzati di programmazione in particolare relazione con l’analisi statica (attraverso i tipi) della memoria. * Competenze ed abilità: Al termine del corso, lo studente avrà appreso le conoscenze per il raggiungimento degli obiettivi formativi, nel modo misurato dal voto d'esame. In particolare, lo studente sarà in grado di approfondire autonomamente argomenti inerenti ai sistemi e alle architetture per Big Data, e di utilizzare tali conoscenze per valutare in maniera critica sistemi e applicazioni esistenti, e affrontare nuovi problemi, e valutare l’appropriatezza della loro implementabilità in Rust.
The course aims to illustrate the principles and current technical and methodological solutions for the design and management of systems, architectures, and distributed applications for Big Data analysis. In particular, the course addresses the various problems concerning the acquisition and processing of Big Data, by presenting the main solutions (both hardware and software) that have been proposed for their management. The course also introduces the Rust programming language and the peculiarities that make it suitable for Big Data processing. The course includes hands-on exercises in order to be able to combine the methodological and technological aspects seen in the classroom. * Knowledge: At the end of the course, the student will have learned the principles and the main technical and methodological solutions for the design and management of systems, architectures, and distributed applications for Big Data analysis as well as advanced programming concepts especially relating to static analysis (through types) of memory. * Competences and skills: At the end of the course, the student will have learned the knowledge to achieve the educational objectives, in the way measured by the examination grade. In particular, the student will be able to autonomously investigate topics related to systems and architectures for Big Data, and to use this knowledge to critically evaluate existing systems and applications as well as to tackle new problems, and to evaluate the appropriateness of their implementability in Rust.
Prerequisiti/Required background knowledge
Fondamenti di programmazione, basi di dati e sistemi operativi.
Fundamentals of programming, database and operating systems.
Metodi didattici/Teaching methods
Lezioni frontali ed esercitazioni di laboratorio.
Class lectures and hands-on lab lectures.
Altre informazioni/Further information
Non sono previste prove in itinere.
There are no mid-term exams.
Modalità di verifica dell'apprendimento/Assessment methods
Esame scritto ed esercitazioni pratiche. Nell’esame scritto, lo studente deve dimostrare di aver appreso i concetti e le metodologie presentate durante il corso. Nell’esercitazione pratica, lo studente deve dimostrare di avere familiarità con i framework, le piattaforme e i tool presentati durante il corso.
Written exam and practical assignments. In the written exam, the student must demonstrate that (s)he has learned the concepts and methodologies presented during the course. In the practical assignments, the student must demonstrate that (s)he is familiar with the frameworks, platforms and tools presented during the course.
Programma esteso/Content
Il corso si compone di tre parti. Prima parte (6 CFU): - Introduzione ai Big Data: motivazioni, principi e problematiche. - Sistemi per l'acquisizione dei dati. - File system e data store distribuiti. - Sistemi per la gestione di risorse di cluster computazionali. - Sistemi e framework per il processamento di batch di dati. - Sistemi e framework per il processamento di flussi di dati. Seconda parte (3 CFU): - Introduzione al Cloud Computing. - Teoria e pratica su Google Cloud Platform. - Teoria e pratica su Amazon Web Services. - Teoria e pratica su OpenStack. Terza parte (3 CFU): Introduzione alla programmazione in Rust: - Gestione della memoria automatica: ownership, borrowing e lifetime di riferimenti. - Tipi di dato elementari e strutturati. - Gestione degli errori e pattern di programmazione funzionale. - Tipi generici e traits - Multithreading
The course consists of three parts. First part (6 CFU): - Introduction to Big Data: motivations, principles, issues and challenges - Data acquisition systems. - Distributed file systems and data stores. - Cluster resource management systems. - Batch processing systems - Stream processing systems. Second part (3 CFU): - Introduction to Cloud Computing. - Theory and practice on Google Cloud Platform. - Theory and practice on Amazon Web Services. - Theory and practice on OpenStack. Third part (3 CFU): Introduction to Rust programming: - Automatic memory management: ownership, borrowing and lifetime of references. - Primitive and structured data types. - Error handling and functional programming patterns. - Generic types and traits - Multithreading
Risultati di apprendimento attesi/Intended learning objectives
* Conoscenza e capacità di comprensione: Al termine del corso, lo studente avrà appreso i concetti avanzati sulle architetture e sui sistemi distribuiti per l’analisi dei Big Data e sullo sviluppo di applicazioni software in tale contesto. Nello specifico, lo studente sarà in grado di realizzare applicazioni distribuite e scalabili per l’elaborazione batch e di data stream, e di gestire sistemi per l’acquisizione, la memorizzazione e il processamento di Big Data anche in ambito Cloud. * Capacità di applicare conoscenza e comprensione: Al termine del corso, lo studente avrà appreso le metodologie per la progettazione e realizzazione di sistemi e applicazioni per Big Data. Nello specifico, lo studente sarà in grado di progettare e sviluppare applicazioni distribuite, scalabili, sicure ed efficienti di batch processing e di data stream processing, usando i principali framework open source per l’acquisizione, il processamento e la memorizzazione di Big Data. *Autonomia di giudizio Al termine del corso, lo studente sarà in grado di identificare autonomamente le soluzioni più idonee per realizzare sistemi e applicazioni distribuite per l’analisi dei Big Data e di valutare sia le scelte architetturali e implementative, che le prestazioni di sistemi e applicazioni per Big Data esistenti. * Abilità comunicative: Al termine del corso, lo studente avrà acquisito la padronanza della terminologia più appropriata inerente ai sistemi e alle applicazioni per l’analisi di Big Data, sarà in grado di presentare l’architettura di un sistema per Big Data con termini e linguaggio tecnico consono e di argomentare in maniera critica riguardo alle varie alternative sia a livello sistemistico che applicativo. * Capacità di apprendimento: Al termine del corso, lo studente avrà acquisito le conoscenze metodologiche per approfondire autonomamente argomenti inerenti ai sistemi e alle architetture per Big Data, e di utilizzare tali conoscenze per valutare sistemi esistenti, affrontare nuovi problemi nonché valutare vantaggi e svantaggi della scelta di linguaggi di programmazione per l’implementazione.
* Knowledge and understanding: At the end of the course, the student will have acquired the methodological knowledge to independently investigate topics related to systems and architectures for Big Data, and to use this knowledge to evaluate existing systems as well as to tackle new problems. *Applying knowledge and understanding: At the end of the course, the student will have learned the methodologies for the design and development of systems and applications for Big Data. Specifically, the student will be able to design and develop distributed, scalable, safe and efficient batch processing and data stream processing applications, using the main open-source frameworks for the ingestion, processing and storage of Big Data. * Making judgments: At the end of the course, the student will be able to independently identify the most suitable solutions to create distributed systems and applications for Big Data analysis and to evaluate both the architectural and implementation choices, and the performance of existing systems and applications for Big Data. * Communication Skills: At the end of the course, the student will have acquired the most suitable fluency in terminology related to systems and applications for Big Data analysis, will be able to present the architecture of a system for Big Data with appropriate technical terms and language and to argue critically about the various alternatives both at a system and application level. * Learning Skills: At the end of the course, the student will have acquired the methodological knowledge to independently investigate topics related to systems and architectures for Big Data, and to use this knowledge to evaluate existing systems, to tackle new problems as well as to evaluate advantages and disadvantages of choosing programming languages for the development.
×
Print
Course
FONDAMENTI DI SISTEMI INTELLIGENTI
Course ID
MF0652
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
GIORDANO Laura
CFU
9.0
Teaching duration (hours)
72.0
Individual study time
153.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Principi e metodologie fondamentali dei sistemi intelligenti basati sulla conoscenza, ed in particolare di (1) sistemi basati su regole logiche, ontologie e knowledge graphs, (2), sistemi multi-agente, (3) sistemi per la pianificazione e per la diagnosi, (4) sistemi per il trattamento del linguaggio naturale
Fundamental principles and methodologies of intelligent systems based on knowledge, and in particular of (1) systems based on logical rules, ontologies and knowledge graphs, (2), multi-agent systems, (3) systems for planning and for diagnosis, (4) systems for natural language processing.
Testi di riferimento/Textbooks
Intelligenza Artificiale. Un approccio moderno. Quarta Edizione. Peter Norvig, Stuart Russel, PEARSON. Knowledge Graphs: Fundamentals, Techniques and Applications. Mayank Kejriwal, Craig A. Knoblock, Pedro Szekely, MIT Press, 2021.
Artificial Intelligence: a Moden Approach. Fourth Edition. Peter Norvig, Stuart Russel, PEARSON. Knowledge Graphs: Fundamentals, Techniques and Applications. Mayank Kejriwal, Craig A. Knoblock, Pedro Szekely, MIT Press, 2021.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: conoscere e comprendere i fondamenti dei sistemi intelligenti basati sulla conoscenza, con particolare interesse per i sistemi basati su regole logiche, ontologie e knowledge graphs, la pianificazione, la diagnosi, il trattamento del linguaggio naturale, i sistemi multi-agente. Capacità di applicare conoscenza e comprensione: capacità di applicare i suddetti sistemi a problemi reali anche tratti dai domini degli ambiti applicativi specifici considerati nel corso di studio. Autonomia di giudizio: giudicare l’appropriatezza dei diversi sistemi, metodologie e formalismi per gestire problemi reali Abilità comunicative: capacità di illustrare, sia a livello tecnico che non tecnico, le soluzioni proposte per problemi assegnati durante il corso. Capacità di apprendimento: esercitare la capacità di approfondimento autonomo attraverso la lettura di materiale di approfondimento sugli argomenti del corso.
Knowledge and comprehension: the fundamentals of intelligent knowledge-based systems, with particular focus on the systems based on logical rules, ontologies and knowledge graphs, of planning, of diagnosis, of natural language processing, of multi-agent systems. Capability to apply knowledge and comprehension: the ability to apply the intelligent knowledge-based systems to real-world problems, related to the domains considered in the course of study. Autonomy of judgment: judging the appropriateness of the different systems, methodologies and formalisms for managing real-world real-world real-world real-world problems Communication skills: ability to explain, both on a technical and non-technical level, the solutions proposed for problems assigned during the course. Learning skills: exercise the ability to study independently by reading in-depth documentation on the topics of the course
Metodi didattici/Teaching methods
Lezioni frontali in aula, esercitazioni.
Lectures, exercises.
Modalità di verifica dell'apprendimento/Assessment methods
Esame scritto (orale facoltativo). Contiene sia esercizi pratici che domande teoriche.
Written examination (oral examination is optional). It contains both practical exercises and theoretical questions.
Programma esteso/Content
Diagnosi e supporto alla decisione: principi generali, acquisizione e rappresentazione della conoscenza, metodi inferenziali. La dimensione temporale: problematiche e metodologie di temporal reasoning. Planning classico e ricerca nello spazio degli stati. Planning gerarchico, planning multi-agente, planning in contesti non-deterministici. Comprensione del linguaggio naturale: grammatiche e analisi sintattica, interpretazione semantica. Concetti di base di logica matematica. Rappresentazione della conoscenza e ragionamento mediante regole logiche, ontologie e knowledge graphs.
Diagnosis and decision support: knowledge acquisition and representation, inferential techniques. The temporal dimension: problems and temporal reasoning methodologies. Classical planning and State-space search. Hierarchical planning, multiagent planning, planning in a non-deterministic world. Natural language understanding: grammars and syntactic analysis, semantic interpretation. Knowledge representation and reasoning with logical rules, ontologies, knowledge graphs.
Risultati di apprendimento attesi/Intended learning objectives
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi. In particolare: Conoscenze: conoscenza e comprensione dei principi e delle metodologie fondamentali dei sistemi intelligenti basati sulla conoscenza, ed in perticolare di (1) sistemi basati su regole logiche, ontologie e knowledge graphs, (2), sistemi multi-agente, (3) sistemi per la pianificazione e per la diagnosi, (4) sistemi per il trattamento del linguaggio naturale Competenze e abilità: dati problemi reali, capacità (i) di valutare l’adeguatezza dei sistemi e delle metodologie studiate per andare a risolverli e (ii) di selezionare ed applicare a tali problemi i sistemi e le metodologie più opportune.
Achievement, measured by grade, of the training objectives. Particularly: Knowledge: knowledge of the fundamental principles and methodologies of intelligent systems based on knowledge, and in particular of (1) systems based on logical rules, ontologies and knowledge graphs, (2), multi-agent systems, (3) systems for planning and for diagnosis, (4) systems for natural language processing. Competence and ability: given real problems, the ability (i) to evaluate the adequacy of the systems and methodologies studied to solve them and (ii) to select and apply the most appropriate systems and methodologies to such problems
×
Print
Course
BASI DI DATI PER BUSINESS INTELLIGENCE
Course ID
MF0609
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
LEONARDI GIORGIO
CFU
9.0
Teaching duration (hours)
72.0
Individual study time
153.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Primo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Basi di dati: Principali modelli dei dati adottati dai sistemi di gestione delle basi di dati (DBMS). Modello relazionale: principali aspetti teorici di tale modello ed esempi di progettazione pratica. Introduzione al linguaggio SQL e sue applicazioni alla gestione di una base di dati. Data warehouse: metodologie e tecniche per reperire, analizzare, sintetizzare e ri-organizzare dati operazionali, al supporto di decisioni strategiche. No-SQL: le caratteristiche e i metodi di interrogazione dei principali tipi di database no-SQL, i criteri di scelta tra i differenti tipi di database no-SQL
Data base: main data models used by data base systems (DBMS). Relational model: main theoretical aspects and practical design principles. Introduction to the SQL language and its applications for database management. Data warehouse: methods and techniques to gather, analyse, summarize and re-organize operational data to support strategic decision-making. No-SQL: the characteristics and query methods of the main types of no-SQL databases, the criteria for choosing between the different types of no-SQL databases
Testi di riferimento/Textbooks
Atzeni, Ceri, Fraternali, Paraboschi, Torlone Basi di Dati: Modelli e Linguaggi di Interrogazione Mc Graw-Hill, quinta edizione, 2018 M. Golfarelli, S. Rizzi: “Data Warehose”, McGraw-Hill, Milano A. Ploetz, D. Kandhare, S. Kadambi, X. Wu, Seven NoSQL Databases in a Week, Packt Publishing Limited, 2018
Atzeni, Ceri, Fraternali, Paraboschi, Torlone Basi di Dati: Modelli e Linguaggi di Interrogazione Mc Graw-Hill, quinta edizione, 2018 M. Golfarelli, S. Rizzi: “Data Warehose”, McGraw-Hill, Milano A. Ploetz, D. Kandhare, S. Kadambi, X. Wu, Seven NoSQL Databases in a Week, Packt Publishing Limited, 2018
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: - metodologie di analisi e organizzazione di strutture relazionali, implementazione di queste strutture in data base relazionali, complete delle interrogazioni necessarie - metodologie per reperire, analizzare, sintetizzare e ri-organizzare i dati operazionali; metodologie di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing - metodologie di progettazione a livello concettuale e di realizzazione livello logico in ambito noSQL Capacita' di applicare conoscenza e comprensione: - capacità di progettazione a livello concettuale, di realizzazione livello logico, e di interrogazione in ambito di database relazionali - capacità di progettazione a livello concettuale e di realizzazione livello logico in ambito relazionale di datawarehousing, a partire dalle sorgenti di dati operazionali - capacità di progettazione a livello concettuale e di realizzazione livello logico in ambito differenti database noSQL Autonomia di giudizio: - abilità nella progettazione concettuale e logica di una base di dati relazionale e nella sua interrogazione - abilità nel determinare i fatti di interesse, la granularità, le dimensioni e le gerarchie dimensionali per un data warehouse - abilità nel valutare le specifiche caratteristiche di un database noSQL in relazione al contesto applicativo Abilità comunicative: Gli studenti devono acquisire e saper utilizzare la terminologia dell'area e devono saper discutere di aspetti di progettazione, modellazione e interrogazioni nei differenti ambiti delle basi di dati Capacita' di apprendimento - analizzare, modellare e interrogare dati in ambito dei database relazionali - analizzare e modellare in modo uniforme dati provenienti da sorgenti eterogenee - analizzare dati per modellarli in ambito noSQL effettuando le scelte progettuali più adattate
Knowledge and understanding: - methodologies of analysis and organization of relational structures, implementation of these structures in relational databases, including with the necessary queries - methodologies for retrieving, analyzing, synthesizing and re-organizing operational data; design methodologies for the conceptual level and for the logical level in the field of relational datawarehousing - design methodologies for the conceptual level and for the logical level in the noSQL context Applying knowledge and understanding: - ability to design both at a conceptual level and to a logical level, and to query in the context of relational databases - ability to design at a conceptual level and to create a logical level in the context of relational datawarehousing, starting from operational data sources - ability to design at a conceptual level and at a logical level in the context of different noSQL databases Making judgements: - ability in the conceptual and logical design of a relational database and in its interrogation - ability to determine the facts of interest, granularity, dimensions and dimensional hierarchies for a data warehouse - ability to evaluate the specific characteristics of a noSQL database focusing on the application context Communication skills: Students must acquire and know how to use the terminology of the area and must be able to discuss aspects of design, modeling and queries in the different database fields. Learning skill - analyzing, modeling and querying data in the context of relational databases - analyzing and modeling data from heterogeneous sources - analyzing data to model them in the noSQL environment by making the most suitable design choices
Prerequisiti/Required background knowledge
-
-
Metodi didattici/Teaching methods
Lezioni frontali in aula e esercitazioni in aula e in laboratorio informatico. Il materiale didattico verrà fornito anche sulla piattaforma DIR.
Face-to-face lectures and exercises in classroom and in computer science lab. Teaching materials will also be provided through the DIR platform.
Altre informazioni/Further information
Modalità di verifica dell'apprendimento/Assessment methods
Scritto (2 ore). Gli studenti devono rispondere a un minimo di 3 domande, una per ogni sezione del corso (basi di dati, data warehouse e no-SQL). Ogni domanda può essere a sua volta suddivisa in questioni relative alla teoria ed esercizi da risolvere.
Written examination (2 hours). Students must answer to a minimum of 3 questions, each of which on a different section of the course (data base, data warehouse and no-SQL). Each question can be composed by theoretical questions and exercises to be solved.
Programma esteso/Content
Basi di dati: introduzione ai principali sistemi di gestione delle basi di dati (DBMS). Viene approfondito il modello relazionale, in particolare sono presentati i principali aspetti teorici ed aspetti più pratici con esempi di progettazione, ponendo attenzione alla qualità dei modelli implementati (es. forme normali). Il corso si articola nelle seguenti parti: Modello Relazionale; Modello Entità-Relazione; Traduzione del Modello ER nel modello Relazionale. Viene inoltre descritta brevemente l'architettura di un DBMS, che viene presentata succintamente seguendo lo schema di descrizione generale a tre livelli di astrazione: esterno, logico e fisico. Vengono introdotte le nozioni di base sugli indici e sulle transazioni. Introduzione al linguaggio SQL per la gestione delle tabelle e per la manipolazione dei dati. Data warehouse: obiettivi e architetture - tecniche per reperire e riconciliare i dati operazionali - linguaggi di query OLAP - modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale No-SQL: principali approcci NoSQL (chiave-valore, colonna, documento e grafo): caratteristiche, metodi interrogazione, e criteri di valutazione delle performance.
Databases: introduction to the main database management systems (DBMS). The relational model is studied in depth, in particular the main theoretical aspects and more practical aspects are presented with design examples, paying attention to the quality of the implemented models (e.g. normal forms). The course is divided into the following parts: Relational Model; Entity-Relationship Model; Translation of the ER Model into Relational Model. The architecture of a DBMS is also briefly described, following the general description scheme with three levels of abstraction: external, logical and physical. The basics of indexes and transactions are introduced. Introduction to the SQL language for table management and data manipulation. Data warehouse: objectives and architectures; techniques to find and reconcile operational data; OLAP query languages; models and techniques for the implementation of the conceptual multidimensional data model in the relational field. No-SQL: main No-SQL approach (key-value, column, document e graph): characteristics, , query languages, and performance evaluation criteria.
Risultati di apprendimento attesi/Intended learning objectives
Gli studenti devono aver acquisito le seguenti conoscenze: - conoscenza degli strumenti metodologici e formali per progettare le strutture logiche e fisiche di una base di dati relazionale - conoscenza del linguaggio SQL - conoscenza delle tecniche per reperire e riconciliare i dati operazionali - conoscenza generale dei linguaggi di query OLAP - conoscenza a capacità di gestione di modelli e tecniche per l'implementazione del conceptual multidimensional data model in ambito relazionale - conoscenza dei principi fondanti dei database NoSQL. - conoscenza dei principi di progettazione in ambito NoSQL e capacità di valutazione delle scelte progettuali. Gli studenti devono aver acquisito competenze ed abilità: - progettare una base di dati relazionale - utilizzo del linguaggio SQL - capacità di formulare query OLAP - progettare e interrogare database NO-SQL
Students must have acquired the following knowledge, skills, and abilities: - knowledge of the methodological and formal tools for designing the logical and physical structures of a relational database - knowledge and use of the SQL language - knowledge of techniques for retrieving and reconciling operational data - general knowledge of OLAP query languages and - knowledge of model and technique management skills for the implementation of the conceptual multidimensional data model in the relational field - knowledge of the founding principles of NoSQL databases. - knowledge of NoSQL design principles and ability to evaluate design choices. The students have to be able to demonstrate the ability and skills: - to designing a relational database - to use SQL language - to formulate OLAP queries -to design and to retrieve information in NO-SQL databases
×
Print
Course
SISTEMA IMPRESA
Course ID
MF0611
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
TUROLLA Andrea
Teachers
CFU
6.0
Teaching duration (hours)
48.0
Individual study time
102.0
SSD
SECS-P/07 - ECONOMIA AZIENDALE
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
C
Year
1
Period
Primo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Inquadramento teorico sull'esistenza e sul funzionamento delle aziende – con particolare riferimento alle imprese di produzione di beni e servizi – analizzando: le manifestazioni di vita e le condizioni di esistenza delle imprese nel dinamico ambiente che le circonda. In quest’ottica, si analizzeranno – in sintesi – le principali aree funzionali del management ed i principali processi aziendali, nonché le modalità attraverso le quali avviene la produzione delle informazioni economico-finanziarie e patrimoniali necessarie alla gestione delle imprese e la loro lettura nel bilancio d’esercizio che ne costituisce la sintesi naturale. Inoltre, saranno analizzati i principali indicatori normalmente utilizzati dagli operatori del settore.
Theoretical framework on the existence and functioning of companies - with particular reference to companies producing goods and services - analyzing: the manifestations of life and the conditions of existence of companies in the dynamic environment that surrounds them. We will analyse - in summary - the main functional areas of management and the main business processes, as well as the methods through which the production of the economic-financial and equity information necessary for the management of the companies and their reading in the financial statements takes place. exercise which constitutes its natural synthesis. Furthermore, the main indicators normally used by sector operators will be analysed.
Testi di riferimento/Textbooks
- Testo in corso di redazione - Materiale a cura del docente
- Text in press - Material by the teachers
Obiettivi formativi/Mission
1. Conoscenza e capacità di comprensione (knowledge and understanding). Il corso mira a fornire allo studente la terminologia e le metodologie fondamentali delle discipline economico-aziendali utili per rappresentare e comprendere il funzionamento delle aziende. 2. Capacità di applicare conoscenza e comprensione (applying knowledge and understanding). La conoscenza acquisita in materia economico-aziendale porrà le basi per sviluppare nello studente le capacità e le competenze tecnico-contabili, gestionali ed organizzative di base per lo studio delle discipline specifiche. In particolare, lo studente acquisirà il linguaggio tecnico proprio delle discipline aziendali e sarà messo in grado di acquisire i concetti e il linguaggio di base dell’analisi economica dei processi aziendali e di cogliere gli elementi rappresentativi delle aziende e le determinanti dei loro equilibri. 3. Autonomia di giudizio (making judgements). Il corso consentirà allo studente di sviluppare un’autonomia di giudizio e porrà lo studente nelle condizioni di esprimere considerazioni relativamente agli equilibri aziendali ed ai fatti di gestione. 4. Abilità comunicative (communication skills). Sulla base delle conoscenze acquisite, lo studente potrà sviluppare abilità comunicative e relazionali per effettuare una prima analisi dello “stato di salute” delle imprese. 5. Capacità di apprendimento (learning skills). Lo studio della disciplina consentirà allo studente di capire le dinamiche aziendali inquadrando l’analisi del singolo momento gestionale nella visione unitaria e coordinata dei fatti aziendali.
1. Knowledge and understanding. The course aims to provide the student the terminology and the fundamental methodologies of the economic-business disciplines useful for represent and understand the functioning of companies. 2. Ability to apply knowledge and understanding. The knowledge acquired in business economics will lay the foundations for developing the student's technical-accounting and managerial skills and competences and basic organization for the study of specific disciplines. In particular, the student will acquire the technical language typical of business disciplines and will be able to acquire concepts and language basic economic analysis of business processes and to grasp the representative elements of companies e the determinants of their equilibrium. 3. Making judgments. The course will allow the student to develop an autonomy of judgment and will put the student in a position to express considerations relating to company balance and management facts. 4. Communication skills (communication skills). Based on the knowledge acquired, the student will be able to develop communicative and relational skills to carry out an initial analysis of the "state of health" of companies. 5. Learning skills. The study of the discipline will allow the student to understand the dynamics companies by framing the analysis of the single management moment in the unitary and coordinated vision of the business facts.
Prerequisiti/Required background knowledge
Nessuno
None
Metodi didattici/Teaching methods
1. Acquisizione delle conoscenze: mediante lo svolgimento di lezioni frontali e lo studio autonomo da parte degli studenti sulla base del materiale didattico previsto dal corso. 2. Acquisizione della capacità di applicare le conoscenze: mediante lo svolgimento di esercitazioni da parte del docente durante il corso e l’autonomo svolgimento da parte degli studenti di esercizi tratti anche da esempi di prove d’esame. 3. Acquisizione dell’autonomia di giudizio: durante il corso gli studenti saranno stimolati a valutare autonomamente casi rilevanti. 4. Acquisizione del linguaggio tecnico: durante l’insegnamento sarà illustrato il significato dei termini comunemente usati da parte degli operatori professionali. 5. Acquisizione delle capacità di apprendimento: generalmente, partendo dalla presentazione teorica delle diverse problematiche, si descriverà l’eventuale problema da risolvere e si analizzeranno criticamente le diverse possibili soluzioni.
1. Acquisition of knowledge: through the performance of lectures and self-study by students on the basis of the teaching material provided by the course. 2. Acquisition of the ability to apply knowledge: by carrying out exercises by the teacher during the course and autonomously exercises carrying out by students. 3. Acquisition of autonomy of judgment: during the course, students will be encouraged to independently evaluate relevant cases. 4. Acquisition of technical language. 5. Acquisition of the skills of learning: generally, starting from the theoretical presentation of the various problems, we will describe any problem to be solved and the various possible solutions.
Altre informazioni/Further information
Per ulteriori informazioni (come i collegamenti alle pagine web dei software utilizzati), si prega di consultare la pagina del corso su D.I.R. all’indirizzo: https://dir.uniupo.it/ Pur non essendo obbligatoria, si consiglia vivamente – ove possibile – la frequenza al corso.
Further information (such as link to software website) can be found at the web page of the course: https://dir.uniupo.it/. Although not compulsory, attendance is strongly recommended.
Modalità di verifica dell'apprendimento/Assessment methods
Una prova scritta obbligatoria della durata compresa tra sessanta e novanta minuti, comprendente domande, esercizi ed applicazioni numeriche, in coerenza con i contenuti dell’insegnamento. 1. Conoscenza e capacità di comprensione: mediante domande a risposta aperta 2. Capacità di applicare conoscenza e comprensione: mediante esercizi 3. Autonomia di giudizio: mediante domande a risposta aperta, anche basate su esercizi. 4. Abilità comunicative: mediante domande a risposta aperta. 5. Capacità di apprendimento: la capacità di apprendimento potrà essere valutata anche mediante il sostenimento di una prova intermedia durante il corso.
A compulsory written test lasting between sixty and ninety minutes, including questions, exercises and numerical applications, consistent with the teaching content. 1. Knowledge and understanding: through open-ended questions: 2. Ability to apply knowledge and understanding: through exercises. 3. Autonomy of judgment: through open-ended questions and exercises. 4. Communication skills: through open-ended questions. 5. Learning ability: learning ability can also be assessed by taking one mid-term exam during the course.
Programma esteso/Content
✓Introduzione al corso: obiettivi formativi e contenuti, metodi didattici, sistema di valutazione dell’apprendimento. ✓ Definizione di azienda quale sistema economico, sociale, aperto, teleologico. ✓ Ambiente generale e specifico ed interrelazioni con il sistema impresa. ✓ I principali equilibri del sistema impresa e le sue caratteristiche. ✓ Le aree funzionali del management: approcci alternativi. ✓ Le aree funzionali del management: caratteristiche, integrative ed altre (pianificazione, controllo e d’informazione). ✓ Le aree funzionali caratteristiche: marketing. ✓ Le aree funzionali caratteristiche: produzione e logistica. ✓Le aree funzionali caratteristiche: ricerca e sviluppo. ✓ Le aree funzionali integrative: organizzazione e personale. ✓ Le aree funzionali integrative: finanza. ✓ Le altre aree funzionali: pianificazione strategica. ✓ Le altre aree funzionali: amministrazione e controllo di gestione. ✓ I principali processi amministrativi. ✓ Il bilancio d’esercizio come sintesi della gestione aziendale: documenti, logica sottostante e capacità informativa. ✓ Le informazioni dello stato patrimoniale. ✓ Le informazioni del conto economico. ✓ Le informazioni del rendiconto finanziario. ✓ La lettura di un bilancio d’esercizio. ✓ I principali indicatori finanziari. ✓ I principali indicatori patrimoniali. ✓ I principali indicatori di redditività. ✓ L’analisi di un bilancio d’esercizio Gli argomenti del corso potranno subire modifiche a seconda delle esigenze didattiche che emergono durante lo svolgimento dello stesso.
✓Introduction to the course: training objectives and contents, teaching methods, learning evaluation system. ✓ Definition of a company as an economic, social, open, teleological system. ✓ General and specific environment and interrelations with the business system. ✓ The main balances of the business system and its characteristics. ✓ The functional areas of management: alternative approaches. ✓ The functional areas of management: characteristics, integrative and other (planning, control and information). ✓ The characteristic functional areas: marketing. ✓ The characteristic functional areas: production and logistics. ✓The characteristic functional areas: research and development. ✓ The integrative functional areas: organization and personnel. ✓ The integrative functional areas: finance. ✓ The other functional areas: strategic planning. ✓ The other functional areas: administration and management control. ✓ The main administrative processes. ✓ The financial statements as a summary of company management: documents, underlying logic and information capacity. ✓ Information from the balance sheet. ✓ Information on the income statement. ✓ Information from the cash flow statement. ✓ The reading of a financial statement. ✓ The main financial indicators. ✓ The main equity indicators. ✓ The main profitability indicators. ✓ The analysis of a financial statement The topics of the course may undergo changes according to the didactic needs that emerge during the course.
Risultati di apprendimento attesi/Intended learning objectives
Conoscenza: i concetti dei principali processi aziendali che stanno alla base delle logiche sottostanti la formazione di un bilancio d’esercizio. Competenze/abilità • analizzare criticamente, sebbene in modo basico, i principali processi aziendali; comprendere le logiche sottostanti la formazione di un bilancio d’esercizio. • comprendere e saper leggere criticamente il bilancio. • saper valutare autonomamente quando le metodologie sono applicabili • saper comunicare anche a non esperti i risultati, i vantaggi e i limiti delle metodologie implementate • saper estendere i concetti e le idee viste nel corso a nuovi contesti.
Knowledge The concepts the main business processes which underlie the logic behind the preparation of a financial statement. Skills and abilities • understand and critically analyse, albeit in a basic way, the main business processes; understand the logic behind the preparation of a financial statement. • reading and understanding a financial statement. • be able to make autonomously judgements on the use of the introduced methodologies • know how to communicate the results, advantages and limitations of the methodologies implemented even to non-experts • know how to extend the concepts and ideas seen in the course to new settings.
×
Print
Course
INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI
Course ID
MF0610
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
PORTINALE Luigi
Teachers
CFU
9.0
Teaching duration (hours)
72.0
Individual study time
153.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Primo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso di INTELLIGENZA ARTIFICIALE E SUPPORTO ALLE DECISIONI si compone logicamente di due moduli: Intelligenza Artificiale (6 CFU) e Sistemi Intelligenti di Supporto alle Decisioni (3 CFU). INTELLIGENZA ARTIFICIALE: Algoritmi di ricerca nello spazio degli stati; Sistemi di ragionamento basato su casi; Rapresentazione di conoscenza incerta: probabilita' e Reti Bayesiane, SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Teoria delle decisioni; Utilita’ multi-attributo; Diagrammi di influenza; Decisioni one-shot e sequenziali.
The course is logically composed by two modules: Artificial Intelligence (6 CFU) and Intelligent Decision Support Systems (3 CFU). ARTIFICIAL INTELLIGENCE State space search; Case-Based Reasoning; Uncertain knowledge representation: probability theory and Bayesian Networks; INTELLIGENT DECISION SUPPORT SYSTEMS Decision Theory, Multi-attribute utility, Influence diagrams, One-shot and sequential decisions.
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (4a edizione), Prentice-Hall. Traduzione italiana pubblicata da Pearson Education.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (4th edition), Prentice-Hall.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione Il corso mira ad introdurre le nozioni fondamentali e gli scopi di un agente intelligente secondo la visione corrente dell’IA Capacità di applicare conoscenza e comprensione La conoscenza acquisita permetterà allo studente di: comprendere le metodiche algoritmiche necessarie per permettere ad un agente di ricercare soluzioni in uno spazio degli stati. Comprendere l’architettura e i meccanismi di risoluzione di problemi in sistemi basati su precedenti (case-based reasoning). comprendere il ruolo del ragionamento incerto in un sistema knowledge-based. comprendere ed applicare le tecniche di modellizzazione ed analisi tramite formalismi a reti probabilistiche; comprendere ed applicare le nozioni fondamentali di teoria delle decisioni in presenza di incertezza e di utilità multi-attributo estendere le conoscenze sulle reti probabilistiche alle reti decisionali per modellare ed analizzare decisioni sia di tipo one-shot che di tipo sequenziale usare ed applicare appositi tools per l’analisi di problemi decisionali. Autonomia di giudizio: il corso consentirà allo studente di sviluppare un’autonomia di giudizio e porrà lo studente nelle condizioni di valutare le scelte di rappresentazione ed inferenza adeguate per il corretto sviluppo di un sistema di IA in generale e di supporto alle decisioni in particolare. Abilità communicative: sulla base delle conoscenze acquisite, lo studente potrà sviluppare abilità comunicative e relazionali per poter lavorare in team alla progettazione di sistemi di IA e per poter evidenziare limiti e vantaggi dei vari approcci possibili. Capacita' di apprendimento: lo studio della disciplina consentirà allo studente di capire quali alternative esistono nella progettazione e programmazione di un sistema intelligente a supporto delle decisioni e di poter scegliere l’approccio più adeguato al compito prefissato.
Knowledge and understanding: the class will introduce the fundamentals notions and the goals of intelligent agents by considering the current vision of modern AI. Applying knowledge and understanding: the acquired knowledge will allow the student: to understand algorithms to perform state-space search. to understand the architecture and the inference methods for solving problems in precedent-based systems (case-based reasoning). to understand the role of uncertainty in a knowledge-based system. to understand and apply modeling and analysis techniques concerning formalisms based on probabilistic networks. to understand and aplly main notions about decision theory in presence of uncertainty and multi-attribute utility; to extend notions of probabilistic networks to decision networks, in order to model and analyze one-shot and sequential decisions. to use and apply suitable tools for decision problem analysis. Making judgements: contents in this class will allow the student to develop autonomous judgement skills; he/she will be able to evaluate different choices from both representational and inference point of view, in a way to design a suitable intelligent decision support system. Communications skills: the student will develop relational and communication skills that will allow him/her to work in team, and to emphasize pros and cons of the possible approaches. Learning skills: the study of the principles of the discipline will allow the student to have a correct understanding of the possible alternatives in the development of an intelligent decision support system, and it will allow him/her to choose the most suitable approach.
Prerequisiti/Required background knowledge
Algoritmi e strutture dati; Calcolo delle Probabilita’ (consigliati)
Suggested: Algorithms and data structures Probability.
Metodi didattici/Teaching methods
Lezioni frontali in aula, esercitazioni tramite piattaforma Moodle, uso di strumenti software.
Lectures and exercises using Moodle and software tools.
Altre informazioni/Further information
Disponibili registrazioni lezioni in aula e video lezioni
Video lectures available
Modalità di verifica dell'apprendimento/Assessment methods
Esame scritto integrato da eventuale esame orale. Possibilità di presentazione di un progetto pratico.
Written and oral (not mandatory) exam. Potential project presentation.
Programma esteso/Content
INTELLIGENZA ARTIFICIALE: Introduzione e cenni storici sull'AI. Ricerca nello spazio degli stati: ricerca path-based cieca ed euristica. L'algoritmo A*. Algoritmi di miglioramento iterativo: hill-climbing e simulated annealing; Cenni su problemi CSP. Algoritmi per giochi a 2 concorrenti: minimax e alfa/beta pruning. Rappresentazione della conoscenza: cenni su formalismi logici e a regole. Sistemi di Case-Based Reasoning; Conoscenza Incerta: richiami di calcolo delle probabilità. Bayesian Belief Networks (proprietà ed algoritmi) e uso di tool per il loro sviluppo (Genie, Hugin, ecc...). SISTEMI INTELLIGENTI DI SUPPORTO ALLE DECISIONI: Teoria delle decisioni. Utilita’ multi-attributo. Diagrammi di influenza Decisioni one-shot e sequenziali.
ARTIFICIAL INTELLIGENCE: Introduction and history of AI State space search: path-based blind and heuristic search. A* algorithm. Iterative improvement algorithms: hillclimbing and simulated annealing CSP problems Two players games: minimax and alpha/beta pruning Knowledge representations: hints on logical formalism. Case-Based Reasoning systems; the CBR-Works tool. Uncertain knowledge: probability theory, Bayesian Networks (properties and algorithms); BN tools (Genie, Hugin, etc...). INTELLIGENT DECISION SUPPORT SYSTEMS: Decision Theory. Multi-attribute utility Influence diagrams One-sot and sequential decisions.
Risultati di apprendimento attesi/Intended learning objectives
CONOSCENZE: Conoscere le caratteristiche principali e l’architettura di un agente intelligente e basato su conoscenza. Conoscere i principali algoritmi di ricerca nello spazio degli stati usati nell' IA Saper rappresentare conoscenza in sistemi intelligenti anche in presenza di incertezza, Conoscere gli algoritmi di inferenza tipici dei sistemi intelligenti moderni. Saper modellare ed analizzare processi decisionali one-shot e sequenziali tramite modelli grafico-probabilistici COMPETENZE E ABILITA’: essere in grado di: comprendere il ruolo dei diversi moduli di un architettura di agente intelligente; progettare agenti o moduli di agenti in grado di risolvere problemi in spazi degli stati, di risolvere problemi sulla base di esperienze precedenti, di risolvere problemi in presenza di incertezza, di suggerire decisioni (anche di tipo sequenziale ) adeguate in presenza di incertezza. saper stabilire le connessioni tra argomenti trattati in parti diverse del corso, sapersi interfacciare e comunicare adeguatamente con eventuali esperti dell’applicazione di dominio; conoscere la terminologia adeguata.
KNOWLEDGE: to know the main features and the architecture of an intelligent knowledge-based system. To know main AI state space search algorithms. To be able to represent knowledge in intelligent systems even when uncertainty is present. To know the main inference algorithms adopted in modern intelligent systems. To be able to model ad analyze one-shot and sequential decision processes, using probabilistic graphical models. COMPETENCE AND SKILLS: to be able to understand the role of different architectural modules of an intelligent agent. To design agent or modules of agents able to solve problems in a state space, to solve problems based on precedents, to solve problems with uncertain knowledge, to suggest decision under uncertainty. To be able to connect notions present in different parts of the class; to be able to suitably interface with domain experts; to know the right terminology.
×
Print
Course
DIRITTO E SOCIETÀ DIGITALE
Course ID
MF0612
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
HERITIER PAOLO
Teachers
CFU
6.0
Teaching duration (hours)
48.0
Individual study time
102.0
SSD
IUS/09 - ISTITUZIONI DI DIRITTO PUBBLICO
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
C
Year
1
Period
Primo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Conoscenza e comprensione - Il corso intende analizzare le matrici testuali e giuridiche della nozione di rete nell’evoluzione del pensiero tecnologico per giungere a un’analisi dei contemporanei problemi della nozione di diritto. Contro alcune letture riduttive e superate, che pensano il diritto come il fenomeno di una norma posta dallo stato che si applica a un contesto tecnologico nuovo, occorre trasformare radicalmente la concezione del ruolo del giurista entro tematiche tecnologiche dell’informatica e dell’intelligenza artificiale, al fine di formare professioni giuristi in grado di adottare un accostamento propositivo ai problemi che la rapida evoluzione tecnologica pone al sapere giuridico ed informatici in grado di comprendere in profondità la natura della scienza giuridica e la sua prossimità al sapere informatico. Muovendo dagli studi sociali sulla scienza, il corso elaborerà una nozione di rete del diritto entro l’ambito della teoria generale del diritto in grado di riprendere la concezione reticolare del testo presente nei glossatori, fino a mostrarne la vicinanza con la nozione di testo ipertestuale alla base del linguaggio HTLM. Al tempo stesso si mostrerà come la recente evoluzione del sapere giuridico e il ruolo accresciuto della giurisprudenza configurino il sistema giuridico come un modello reticolare che presenta affinità profonde con la teoria dell’informazione epistemologicamente alla base dello sviluppo delle reti informatiche. L’analisi si concentrerà poi sul nesso tra l’evoluzione storica della nozione di persona giuridica e i temi più delicati della robotica sociale interna ed esterna e del ‘vivere con i robot’ come tratto specifico della società contemporanea, concentrandosi in particolare su tipologie diverse di robot come Nao, Pepper e i geminoid e i problemi che presentano, andando oltre la riduzione del problema a un confronto tra l’etica e il diritto, per approdare a una concezione diversa dell’interazione sociale. Da ultimo il corso analizzerà l’impatto dei big data, del capitalismo della sorveglianza, sentiment analysis, dei social network e della componente estetica e mediatica del normativo sull’evoluzione degli ordinamenti giuridici contemporanei.
The course intends to analyze the textual and juridical matrices of the notion of network in the evolution of the technological thinking in order to reach an analysis of the contemporary problems of the notion of law. Against some reductive and outdated readings, which conceive the law as the phenomenon of a rule set by the state that applies to a new technological context, it is necessary to radically transform the conception of the role of the jurist within technological fields of informatics and artificial intelligence, in order to form jurists able to adopt a proactive approach to the problems that the rapid technological evolution poses to legal knowledge and computer scientists able to understand in depth the nature of legal science and its proximity to informatics knowledge. Starting from the social studies on science and technology (SSST), the course will elaborate a notion of network of law within the general theory of law able to take up the reticular conception of the text present in the glossators, up to show its closeness to the notion of hypertextual text at the basis of the HTLM language. Simultaneously it will be shown how the recent evolution of legal knowledge and the increased role of jurisprudence configure the legal system as a reticular model that has deep affinities with the theory of information epistemologically underlying the development of computer networks. The analysis will then focus on the link between the historical evolution of the notion of legal person and the more sensitive issues of internal and external social robotics and of 'living with robots' as a specific feature of contemporary society, focusing in particular on different types of robots such as Nao, Pepper, the geminoid, and the problems they present, going beyond the reduction of the problem to a comparison between ethics and law, to arrive at a different conception of social interaction between man and robots. Finally, the course will analyze the impact of big data, surveillance capitalism, sentiment analysis, social networks and the aesthetic and media element of the law on the evolution of contemporary legal systems.
Testi di riferimento/Textbooks
L'esame verterà sui contenuti delle lezioni a partire dai seguenti testi: L. Damiano, P. Dumouchel, Vivere con i robot. Saggio sull'empatia artificiale, Cortina, Milano 2019; S. Zuboff, Il capitalismo della sorveglianza. Il futuro dell'umanità nell'era dei nuovi poteri, Luiss University press, 2019; P. Heritier, Lo schermo delle norme, in corso di pubblicazione; L. Fuller, A. Porciello, Il caso degli speleologi di Lon L. Fuller e alcuni nuovi punti di vista. Un approccio alla filosofia del diritto attraverso dieci pareri di fantasia, Rubbettino 2012; A. Garapon, J Lasségue, La giustizia digitale. Determinismo tecnologico e libertà, il Mulino, 2021; A. Garapon, J Lasségue, Le numérique contre le politique. Crise de l'espace et reconfiguration des médiations sociales, PUF, 2021.
The examination will cover the content of the lectures from the following texts: L. Damiano, P. Dumouchel, Vivere con i robot. Saggio sull'empatia artificiale, Cortina, Milano 2019; S. Zuboff, Il capitalismo della sorveglianza. Il futuro dell'umanità nell'era dei nuovi poteri, Luiss University press, 2019; P. Heritier, Lo schermo delle norme, in corso di pubblicazione; L. Fuller, A. Porciello, Il caso degli speleologi di Lon L. Fuller e alcuni nuovi punti di vista. Un approccio alla filosofia del diritto attraverso dieci pareri di fantasia, Rubbettino 2012, A. Garapon, J Lasségue, Le numérique contre le politique. Crise de l'espace et reconfiguration des médiations sociales, PUF, 2021.
Obiettivi formativi/Mission
Gli studenti e le studentesse acquisiranno • capacità di comprendere la prossimità tra sistema giuridico, cibernetica e società digitale sulla base dell’analisi storica dell’evoluzione del sistema giuridico e della sua interazione con l’evoluzione tecnologica • capacità di riconoscer la matrice artificiale del diritto e della nozione di persona giuridica e delle sue applicazioni alla robotica contemporanea • Capacità di partecipare a gruppi di studio fortemente interdisciplinari composti di giuristi, informatici, analisti dei media • Capacità di comprendere la matrice comunicativa della norma giuridica e la sua necessità di essere veicolata tramite mezzi di comunicazione e social network per essere effettiva • Capacità di orientamento nel dibattito contemporaneo e sviluppo del senso critico rispetto ai pregiudizi diffusi su diritto e tecnologia, diritto e robotica, diritto e intelligenza artificiale • Capacità di auto-apprendimento rispetto ad un settore relativamente nuovo ed in rapida evoluzione a partire da una visione rinnovata del dialogo tra scienze e humanities
Students will acquire • Ability to understand the proximity between the legal system, cybernetics and digital society based on the historical analysis of the evolution of the legal system and its interaction with technological evolution • Ability to recognize the artificial matrix of law and of the notion of legal person and its applications to contemporary robotics • Ability to participate in highly interdisciplinary study groups composed of jurists, computer scientists, media analysts • Ability to understand the communicative matrix of the legal norm and its need to be conveyed through media and social networks to be effective • Ability to orient oneself in the contemporary debate and develop a critical sense with respect to the widespread prejudices about law and technology, law and robotics, law and artificial intelligence • Capacity for self-learning in a relatively new and rapidly evolving field, starting from a renewed vision of the dialogue between sciences and humanities.
Prerequisiti/Required background knowledge
Nessuno
None
Metodi didattici/Teaching methods
Accanto alle lezioni tradizionali per gli studenti frequentanti verranno proposte modalità di approfondimento individuale.
In addition to the traditional lectures for attending students, individual in-depth studies will be offered
Modalità di verifica dell'apprendimento/Assessment methods
L’esame si svolgerà in forma orale e scritta a partire da un problema complesso volto all' accertamento della capacità critica di ragionamento. Per gli studenti frequentanti un ulteriore elemento di valutazione sarà fornito dalla partecipazione attiva alla lezione, alle attività seminariali previste e alle analisi casisitiche.
The examination will take place in oral and written form on the basis of a complex problem aimed at ascertaining critical reasoning skills. For attending students an additional element of assessment will be provided by active participation in lectures, seminar activities and case studies.
Programma esteso/Content
Il corso verterà sul nesso tra l'impostazione teorico generale e le nuove impostazioni teoriche. In particolare saranno presi in esame il metodo retorico e le trasformazioni della consuetudine (soft law, governance, best practice, ecc.) in chiave estetico giuridico. Durante il corso saranno affrontati i seguenti argomenti: - teorie dell'umano, del postulano, del trasumano e dell'umanesimo giuridico di fronte alle sfida della robotica; - teorie della consuetudine e metodo retorico nelle fonti del diritto; - contraddittorio e processo; - teoria della consuetudine e del costume e analisi dei big data - tecniche orali e scritte di retorica giuridica e di legal visual argumentation; - robotica giuridica e neuroscienze affettive; - un esperimento di sentiment analysis verrà realizzato durante il corso e ne sarà illustrata la metodologia.
The course will focus on the connection between general and new theoretical approaches. In particular, the rhetorical method and the transformations of custom (soft law, governance, best practice, etc.) from a legal aesthetic perspective will be examined with reference to digital societies. The following topics will be addressed during the course: - theories of the human, the posthuman, the trans-human and legal humanism in the face of the challenge of robotics; - theories of custom and rhetorical method in the sources of law; - cross-examination and trial; - theory of custom and custom and big data analysis - oral and written techniques of legal rhetoric and legal visual argumentation; - legal robotics and affective neurosciences; -Sentiment analysis experiments and methodology.
Risultati di apprendimento attesi/Intended learning objectives
Conoscenze – Conoscenza degli argomenti indicati, con particolare riguardo all’epistemologia, ermeneutica ed estetica giuridica, teoria dei media, sentiment analysis, robotica sociale. Sviluppo di un’autonoma capacità critica in ciascuno die campi indicati. Competenze ed abilità Competenze – Sviluppo di competenze critiche nell’uso dei social network, rimozione dei pregiudizi nei confronti dell’interazione uomo- robot e della sentiment analysis, elaborazione di capacità di base in ciascuno degli ambiti indicati. Sviluppo di ricerca autonoma sulle fonti e di comunicazione adeguata in contesti scientifici e mediatici su questi temi. Abilità – Sviluppo di una competenza di base nell’analisi dell’interazione sociale e del rapporto uomo-macchina, capacità di individuare i problemi giuridici nascosti nell’adozione di tecnologie innovative, miglioramento della capacità di comunicazione efficace in un contesto di progettazione e programmazione interdisciplinare con esperti di sapere diverso dal proprio.
Knowledge - Knowledge of the topics indicated, with emphasis on epistemology, hermeneutics and legal aesthetics, media theory, sentiment analysis, social robotics. Development of an autonomous critical capacity in each of the indicated fields. Competences and Skills Competences - Development of critical skills in the use of social networks, removal of bias against man-robot interaction and sentiment analysis, development of basic skills in each of the three areas indicated. Development of independent source research and appropriate communication in scientific and media contexts on these topics. Skills - Development of basic competence in the analysis of social interaction and the human-computer relationship, ability to identify hidden legal problems in the adoption of innovative technologies, improvement of the ability to communicate effectively in an interdisciplinary design and programming context with experts of knowledge different from one's own.
×
Print
Course
DATA MINING PER DATI SPERIMENTALI
Course ID
MF0613
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
PIOVESAN LUCA
CFU
9.0
Teaching duration (hours)
72.0
Individual study time
153.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Il corso presenta le tecniche di machine learning e deep learning avanzate per l'analisi di dati sperimentali. Oltre ad una componente teorica, introduce in laboratorio alle librerie Python più avanzate per la loro implementazione pratica.
The course presents the machine learning and deep learning techniques for the analysis of experimental data. Besides a theoretical component, in laboratory the most advanced Python libraries for ML and DL are introduced.
Testi di riferimento/Textbooks
Bishop, C., Pattern Recognition and Machine Learning, Springer Goodfellow et al., Deep Learning, MIT Press
Bishop, C., Pattern Recognition and Machine Learning, Springer Goodfellow et al., Deep Learning, MIT Press
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: il corso ha l'obiettivo di fornire allo studente solide conoscenze dei più comuni metodi e strumenti del data mining nell'ambito dell'analisi di dataset complessi o caratteristici dei normali problemi che si incontrano in ambiti generali di raccolta dati. Capacità di applicare conoscenza e comprensione: dato un dataset più o meno complesso, ed una conoscenza del dominio sufficiente, il futuro dottore sarà in grado di condurre autonomamente un’analisi dei dati basata su tecniche di data mining e deep learning, comprensiva delle fasi di pretrattamento dei dati e valutazione dei risultati ottenuti. Questo obiettivo sarà raggiunto anche grazie alla realizzazione in autonomia di un progetto di laboratorio. Autonomia di giudizio: lo studente acquisirà l’abilità di scegliere la miglior strategia modellistica e di analisi e di gestione di problemi complessi in ambito analisi dei dati o apprendimento automatico. Inoltre, acquisirà competenze di valutazione della bontà di modelli ottenuti tramite tecniche di data mining o deep learning. Abilità comunicative: lo studente acquisirà un lessico appropriato in relazione agli argomenti affrontati nel corso, al fine di poter collaborare con altri esperti del settore. Capacità di apprendimento: scopo fondamentale del corso è anche quello di sviluppare la capacità di apprendere autonomamente nuove tecniche di data mining e deep learning particolarmente adatte a settori specifici.
Knowledge and understanding: the course aims at providing students with solid knowledge about the most important data mining methods and instruments, focusing on the analysis of complex and real-world datasets. Applying knowledge and understanding: given a dataset, and an adequate domain knowledge, the future graduate will be able to autonomously carry on a data analysis based on data mining and deep learning techniques, considering also the preprocessing and result evaluation phases. Such a goal will be achieved also by the development of a laboratory project, autonomously carried out by students. Making judgments: students will acquire the ability of choosing the best strategy to manage complex problems in the fields of data analysis and machine learning. In addition, students will acquire competences of evaluation of the models obtained by applying data mining or deep learning techniques. Communication Skills: students will learn an adequate terminology about the arguments presented in the course, in order to be able to collaborate with other experts of the field. Learning Skills: students will acquire the ability of autonomously learning new data mining or deep learning techniques, useful in specific fields.
Prerequisiti/Required background knowledge
Prerequisiti formali: nessuno. Prerequisiti sostanziali: nozioni base di statistica, nozioni base di programmazione Python (tipi di dati, flusso di controllo, funzioni, liste, classi, gestione degli errori)
Formal prerequisites: none. Substantial prerequisites: basic notions of statistics, basic notions of Python programming (data types, Controlling program flow, Functions, Lists, Classes, Exception handling)
Metodi didattici/Teaching methods
Il corso è insegnato in aula e in laboratorio. Nelle lezioni in aula vengono esposte le nozioni fondamentali, corredate di esempi. Viene discussa l'utilità ai fini pratici dei diversi modelli per trattare task e dati differenti. In laboratorio lo studente viene guidato nell'uso dei modelli visti a lezione. Vengono suggeriti diversi dataset da analizzare e viene spiegato come procurarsene di nuovi sia per esercitarsi ulteriormente e discuterne con il docente, sia ai fini dell'esame finale
The course is taught in class and in lab. In class the fundamental notions are presented, along with examples. The presentation is completed with discussions on the usage of different models to solve specific kinds of task for different data. In lab the student is guided in using the models seen in class. Several datasets are proposed for exercises, and it is discussed how to obtain further datasets, to be used both for exercises and for the final test.
Altre informazioni/Further information
L'attività in laboratorio richiede una partecipazione attiva e individuale degli studenti, che in tal modo sviluppano abilità pratiche (le capacità di realizzare un programma). Inoltre, il coinvolgimento attivo li induce a porsi dei quesiti (e spesso di conseguenza a porne al docente); in tal modo si realizza una regolare verifica del modo in cui gli argomenti vengono recepiti.
Hands-on activity requires active participation of the students, who this way develop prcatical skills (ability to implement a program). Moreover, he active involvement leads the students to ask themselves questions (and, as a consequence, often to ask questions to the instructor); this allows a regular monitoring of the way the subject is being understood.
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale concernente l'analisi di uno o più dataset, sia con tecniche di machine learning che deep learning. L'obiettivo di questa parte è di verificare che lo studente sia autonomo nella realizzazione di un task su un dataset reale. La presentazione è seguita da una discussione (1-3 domande) sulle tecniche viste a lezione. Il goal della discussioner è di verificare che lo studente abbia acquisito le nozioni teoriche di base viste a lezione.
Oral examination corcerning the analysis of one or more datasets, both with machine learning and deep learning techniques. The goal of this part is to verify that the student is autonomous in the fulfillment of a task on a real dataset. The presentation is followed by a discussion (1-3 questions) regarding the techniques presented during the course. The goal of the discussion is to verify that the student has acquired the basic theoretical notions discussed during the course.
Programma esteso/Content
- Fasi principali di una pipeline di data science (KDD process) - Preprocessing - Normalizzazione, standardizzazione, Discretizzazione, Encoding, 1-hot encoding label encoding - Machine learning supervisionato: Regressione Regressione lineare univariata/multivariata Trade-off bias/variance Regolarizzazione Ridge Lasso Validazione modelli Tecniche di validazione Metriche di valutazione MSE, MAE, R2 - Classificazione Modelli: Decision tree Ensemble learning Random forest Boosted trees KNN Regressione logistica Metriche di valutazione Accuracy, precision, recall, Fb score Machine learning non supervisionato: - Clustering Modelli K-means DBSCAN Clustering gerarchico - Metriche di valutazione Intrinseche SSE, silhouette Estrinseche Rand index, Mutual information - Riduzione dimensionalita' PCA Reti neurali: perceptron funzioni di attivazione (sigmoid, tanh e relu) multilayer perceptron Uso: forward propagation e backpropagation con discesa del gradiente. Ottimizzazioni e regolarizzazioni per reti neurali profonde (problema del gradiente instabile). Convolutional neural networks e uso nella computer vision. Transfer learning. Residual neural network. Recurrent Neural Network. Autoencoders. Adversarial Learning. Python Introduzione a NumPy Scikit-learn API scikit-learn Preprocessing (transformers) Classificazione/Regressione/Clustering (estimators) Pipelines Validazione modelli train_test_split, KFold, cross_val_score, cross_val_predict Metriche di valutazione sklearn.metrics.* Selezione modelli ParameterGrid, GridSearchCV, RandomizedSearchCV Utilizzo di Tensorflow e Keras per modelli di deep learning
- Data science pipeline (KDD process) - preprocessing - normalization, standardization, discretization, encoding, 1-hot encoding, label encoding - Supervised machine learning: regression, linear regression univariate, multivariate. Ridge, lasso regularization. Model validation. MSE, MAE, R2. Classification Models: decision trees, ensemble learning, random forest, Boosted trees KNN Logistic regression. Evaluation metrics: Accuracy, precision, recall, Fb score. Unsupervised ML Clustering: K-means DBSCAN, hierarchical clustering. SSE, silhouette Rand index, Mutual information. PCA. Neural networks: perceptron activation functions (sigmoid, tanh e relu) multilayer perceptron Use: forward propagation and backpropagation with gradient descent. Optimizations and regularizations for deep neural networks (unstable gradient problem). Convolutional neural networks and computer vision. Transfer learning. Residual neural network. Recurrent Neural Network. Autoencoders. Adversarial Learning. Python: introduction to NumPy Scikit-learn API scikit-learn Preprocessing (transformers) Classification/Regression/Clustering (estimators) Pipelines Model validation train_test_split, KFold, cross_val_score, cross_val_predict Evaluation metrics sklearn.metrics.* Model selection: ParameterGrid, GridSearchCV, RandomizedSearchCV Tensorflow and Keras for deep learning
Risultati di apprendimento attesi/Intended learning objectives
Conoscenze: Conoscenze teoriche: conoscenza delle basi teorico/pratiche delle più moderne tecniche di data mining (pattern recognition, classificazione, regressione, metodi non lineari) ed una buona conoscenza delle moderne tecniche di deep learning. Conoscenze pratiche: conoscenza dei principali strumenti software per il data mining e di come risolvere un caso studio e presentarlo. Competenze ed abilità: Applicazione delle tecniche acquisite: saper applicare mediante software dedicato le tecniche di analisi dati viste a lezione per la soluzione verticale di casi studio proposti. Valutazione: saper confrontare criticamente diversi metodi e modelli. Saper scegliere l’approccio più adatto alla soluzione di un caso di studio proposto. Esposizione: essere in grado di redigere un report tecnico-scientifico sull’analisi di dati, utilizzando un lessico appropriato in relazione agli argomenti affrontati nel corso. Apprendimento: capacità di utilizzare il materiale di studio in autonomia al fine di acquisire le competenze utili a risolvere nuovi casi di studio proposti.
Knowledge: Theoretical Knowledge: knowledge of the most recent data mining techniques (pattern recognition, classification, regression, non-linear methods) and a good knowledge of the modern techniques of deep learning. Practical knowledge: knowledge of the main data mining software. Ability of carrying on and of presenting a case study. Competences and skills: Application of the presented techniques: applying, using specific software, the analysis techniques to vertically solve proposed case studies. Evaluation: critically comparing different methods and models. Choose the most suitable approach for a specific problem. Presentation: producing a technical report about the data analysis, using an appropriate terminology about the topics of the course. Learning: being able to use documentation autonomously, in order to acquire the competences needed to solve new problems.
×
Print
Course
ARCHITETTURE COMPUTAZIONALI, RETI E SICUREZZA
Course ID
MF0614
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
ARDITO Luca
Teachers
CFU
12.0
Teaching duration (hours)
96.0
Individual study time
204.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
VERCELLI
Grading type
V
Lingua insegnamento/Teaching language
Italiano
Italian
Contenuti/Content Summary
Il corso offre una panoramica completa delle fondamenta dell'informatica, introducendo gli studenti alle sfaccettature complesse dei sistemi di calcolo, dalle strutture hardware, come processori e supporti di memorizzazione, alla rappresentazione dei dati e al dimensionamento dello spazio di memorizzazione. Inoltre, approfondisce la comprensione degli studenti sulla distinzione tra i vari strati software, inclusi firmware, sistema operativo e applicazioni. Gli studenti esploreranno la complessità delle reti e dei protocolli di comunicazione, comprendendo l'importanza del dimensionamento dei dispositivi in termini di capacità di memorizzazione e potenza di trasmissione. Saranno inoltre portati a familiarizzare con i componenti fondamentali per la connessione alla rete di una varietà di dispositivi, tra cui PC, dispositivi mobili e sensori IoT. Sarà data enfasi all'esplorazione dei requisiti software, sia funzionali che non funzionali, e alla diversità di applicazioni e servizi, disponibili sia localmente che in rete. Questo segmento del corso comprende anche una panoramica sui diversi tipi di licenze software e fornisce un'introduzione al lavoro con UML (Unified Modeling Language), uno strumento standardizzato per la modellazione di software. Infine, gli studenti si immergeranno nel mondo della sicurezza informatica. Saranno introdotti a una vasta gamma di argomenti, tra cui i requisiti di sicurezza, le diverse tipologie di attacchi, l'organizzazione e la gestione degli incidenti, e i protocolli crittografici. Un focus importante sarà dato all'apprendimento dei principi di funzionamento dei firewall e al riconoscimento della varietà di soluzioni crittografiche disponibili, insieme alla comprensione di come queste si relazionino ai requisiti di sicurezza ed efficienza con l'obiettivo di sviluppare negli studenti una consapevolezza critica che li accompagni nel loro futuro percorso professionale.
The course provides a comprehensive overview of the fundamentals of computer science, introducing students to the complex facets of computing systems, from hardware structures, such as processors and storage media, to data representation and storage space sizing. Additionally, it deepens students' understanding of the distinction between various software layers, including firmware, operating system, and applications. Students will explore the complexity of networks and communication protocols, understanding the importance of device sizing in terms of storage capacity and transmission power. They will also be encouraged to familiarize themselves with the fundamental components for connecting a variety of devices to the network, including PCs, mobile devices, and IoT sensors. Emphasis will be placed on exploring software requirements, both functional and non-functional, and on the diversity of applications and services, available both locally and over the network. This segment of the course also includes an overview of the different types of software licenses and provides an introduction to working with UML (Unified Modeling Language), a standardized tool for software modeling. Lastly, students will immerse themselves in the world of computer security. They will be introduced to a wide range of topics, including security requirements, different types of attacks, the organization and management of incidents, and cryptographic protocols. Significant focus will be given to learning the principles of firewall operation and recognizing the variety of cryptographic solutions available, along with understanding how these relate to security and efficiency requirements. The aim is to develop in students a critical awareness that will accompany them in their future professional path.
Testi di riferimento/Textbooks
INFORMATICA DI BASE 7/ED di Dennis Curtin, Kim Foley, Kunal Sen, Cathy Morin, Agostino Marengo, Alessandro Pagano McGraw-Hill Reti di calcolatori e Internet, Un approccio top-down James F. Kurose, Keith W. Ross Pearson Charles Pfleeger & Shari Lawrence Pfleeger & Lizzie Coles-Kemp Security in Computing, 6th Edition Addison-Wesley Professional
INFORMATICA DI BASE 7/ED di Dennis Curtin, Kim Foley, Kunal Sen, Cathy Morin, Agostino Marengo, Alessandro Pagano McGraw-Hill Reti di calcolatori e Internet, Un approccio top-down James F. Kurose, Keith W. Ross Pearson Charles Pfleeger & Shari Lawrence Pfleeger & Lizzie Coles-Kemp Security in Computing, 6th Edition Addison-Wesley Professional
Obiettivi formativi/Mission
Il corso fornisce agli studenti una panoramica completa delle sue fondamenta, equipaggiandoli con strumenti per capire l'importanza delle scelte fatte nei sistemi hardware, applicazioni software, connettività di rete e aspetti di sicurezza. L'obiettivo è che gli studenti siano in grado di interagire in modo informato con gli esperti per valutare correttamente le necessità nel loro specifico ambito applicativo. Il corso si avvale di un approccio pratico, affiancando all'analisi teorica l'analisi di casi di studio e alcune attività di sperimentazione. Ciò aiuta a migliorare la comprensione degli argomenti e a familiarizzare gli studenti con i principali strumenti delle diverse aree specifiche. Gli studenti svilupperanno la conoscenza e la capacità di comprendere la rappresentazione digitale delle informazioni, la loro comunicazione e l'elaborazione tramite strumenti informatici. Il corso fornisce una conoscenza di base sulla struttura e il funzionamento di un sistema di calcolo e dei protocolli di comunicazione, con le loro componenti hardware e software. Inoltre, evidenzia le similitudini e le differenze tra diverse architetture e le mette in relazione con i requisiti di uno specifico contesto applicativo. È posta enfasi sull'esplorazione dei requisiti software, sia funzionali che non funzionali, e sulla varietà di applicazioni e servizi, disponibili sia localmente che in rete. Gli studenti saranno anche introdotti a lavorare con UML (Unified Modeling Language), uno strumento standardizzato per la modellazione del software. Infine, il corso si immerge nel mondo della sicurezza informatica, introducendo gli studenti a una vasta gamma di argomenti. Saranno illustrati i requisiti di sicurezza, le diverse tipologie di attacchi, l'organizzazione e la gestione degli incidenti e i protocolli crittografici. Gli studenti impareranno i principi di funzionamento dei firewall e riconosceranno la varietà di soluzioni crittografiche disponibili, capendo come queste si relazionano ai requisiti di sicurezza ed efficienza. Le competenze acquisite permetteranno agli studenti di apprezzare le potenzialità e i limiti delle diverse architetture di sistemi di calcolo, dei diversi protocolli e dei corrispondenti rischi di sicurezza. Saranno in grado di identificare i requisiti essenziali per un sistema efficace nel loro contesto applicativo, fornendo indicazioni agli esperti incaricati di costruire o adattare il sistema per soddisfare tali requisiti. Gli studenti acquisiranno la capacità di valutare problemi di dimensionamento dei sistemi in funzione del tipo di problemi da risolvere e di sicurezza. Nell'analisi dei requisiti funzionali e non funzionali di sistemi innovativi nel loro campo applicativo, saranno in grado di contribuire alla valutazione dell'adeguatezza della combinazione tra protocolli di comunicazione e dispositivi da adottare, e alla scelta delle misure di sicurezza più opportune, in collaborazione con analisti, sviluppatori esperti e specialisti di sicurezza. Infine, acquisiranno la capacità di utilizzare la terminologia tecnica specifica del settore e di esporre efficacemente le caratteristiche salienti dei problemi applicativi di loro competenza, confrontando possibili soluzioni alternative, sia architetturali che di comunicazione e di protezione, con l'aiuto di esperti del settore. Il corso, inoltre, si propone di fornire agli studenti la capacità di apprendere autonomamente. Saranno in grado di apprezzare e valutare le nuove tecnologie e protocolli che si basano sui principi fondamentali trattati nel corso, aggiornando le proprie conoscenze.
The course provides students with a comprehensive overview of its foundations, equipping them with tools to understand the importance of choices made in hardware systems, software applications, network connectivity, and security aspects. The aim is for students to be able to interact knowledgeably with experts to correctly assess the needs in their specific application area. The course adopts a practical approach, complementing theoretical analysis with case study analysis and some experimentation activities. This helps to improve understanding of the topics and familiarize students with the main tools of different specific areas. Students will develop knowledge and the ability to understand the digital representation of information, their communication, and processing through computer tools. The course provides a basic understanding of the structure and operation of a computing system and communication protocols, with their hardware and software components. In addition, it highlights the similarities and differences between various architectures and relates them to the requirements of a specific application context. Emphasis is placed on exploring software requirements, both functional and non-functional, and on the variety of applications and services, available both locally and online. Students will also be introduced to working with UML (Unified Modeling Language), a standardized tool for software modeling. Finally, the course delves into the world of information security, introducing students to a wide range of topics. Security requirements, different types of attacks, organization and management of incidents, and cryptographic protocols will be illustrated. Students will learn the operating principles of firewalls and will recognize the variety of available cryptographic solutions, understanding how these relate to security and efficiency requirements. The skills acquired will allow students to appreciate the potential and limits of different computing system architectures, different protocols, and corresponding security risks. They will be able to identify the essential requirements for an effective system in their application context, providing guidance to experts responsible for building or adapting the system to meet such requirements. Students will gain the ability to evaluate system sizing problems based on the type of problems to be solved and security. In analyzing the functional and non-functional requirements of innovative systems in their application field, they will be able to contribute to evaluating the suitability of the combination of communication protocols and devices to adopt, and to choosing the most appropriate security measures, in collaboration with analysts, expert developers, and security specialists. Finally, they will acquire the ability to use the specific technical terminology of the sector and to effectively present the salient features of application problems in their field of competence, comparing possible alternative solutions, both architectural and communication and protection, with the help of industry experts. Furthermore, the course aims to provide students with the ability to learn autonomously. They will be able to appreciate and evaluate new technologies and protocols based on the fundamental principles discussed in the course, updating their knowledge.
Prerequisiti/Required background knowledge
Programmazione base in Python
Basic programming in Python
Metodi didattici/Teaching methods
Lezione Frontale Flipped Classroom Esercitazioni
Frontal Lesson Flipped Classrooms Exercises
Modalità di verifica dell'apprendimento/Assessment methods
Esame orale
Esame orale
Programma esteso/Content
Informatica di base (2 CFU) - Panoramica sui concetti di base - Architettura di un elaboratore - Rappresentazione dei dati - Logica booleana Reti (4 CFU) - Introduzione alle reti - Il modello ISO/OSI - Il protocollo Ethernet - Il protocollo IP - I protocolli TCP e UDP - Il protocollo HTTP - Le applicazioni web e l'uso dei metodi HTTP - Esempi in Python - Tipologie di sistemi informativi basati su applicazioni web Definizione dei requisiti software (3 CFU) - Ingegneria dei requisiti - Modellazione concettuale con UML - Definizione dei casi d'uso con UML - Definizione delle narrative dei casi d'uso - Licenze del software Sicurezza (3CFU) - Concetti di base della sicurezza informatica - Crittografia - Sicurezza nel web - Sicurezza nelle comunicazioni di rete - Sicurezza nel cloud - Elementi di privacy
Basic Computer Science (2 CFU) - Overview of basic concepts - Computer architecture - Data representation - Boolean logic Networks (4 CFU) - Introduction to networks - The ISO/OSI model - The Ethernet protocol - The IP protocol - The TCP and UDP protocols - The HTTP protocol - Web applications and the use of HTTP methods - Examples in Python - Types of information systems based on web applications Software requirements definition (3 CFU) - Requirements engineering - Conceptual modelling with UML - Definition of use cases with UML - Definition of use case narratives - Software licensing Security (3CFU) - Basic concepts of computer security - Cryptography - Web security - Security in network communications - Security in the cloud - Elements of privacy
Risultati di apprendimento attesi/Intended learning objectives
Conoscenze Dopo aver sostenuto l'esame, gli studenti conosceranno: - I meccanismi di rappresentazione dei dati; - I criteri di dimensionamento dello spazio necessario per la memorizzazione dei dati; - I principali componenti di un computer e le loro interazioni; - Le caratteristiche dei processori: dalle CPU a bordo dei sistemi integrati, alle CPU multi-core, alle GPU; - I diversi tipi di supporti di memorizzazione e la loro classificazione in base alle caratteristiche; - I diversi tipi di sistemi di calcolo, da quelli integrati e indossabili ai supercomputer; - La distinzione tra Hardware e Software e la distinzione tra Hardware, Firmware, Sistema Operativo e Applicazioni, secondo una struttura a strati delle architetture informatiche; Macchine virtuali; - I diversi tipi di applicazioni e servizi (accessibili anche in rete). - I diversi tipi di licenze software; - Le caratteristiche dei vari protocolli di comunicazione; - I criteri di dimensionamento dei dispositivi (anche in base alla capacità di memorizzazione) e la loro potenza di trasmissione; - I principali componenti necessari per consentire la connessione alla rete di un PC, di un dispositivo mobile o di un sensore IoT; - I componenti caratteristici dei dispositivi mobili e dei sensori IoT; - L'interfacciamento dei dispositivi IoT con le applicazioni mobili e da queste ai sistemi cloud; - La differenza tra requisiti funzionali e non funzionali - La modellazione di un modello concettuale - La modellazione dei casi d'uso del sistema - I requisiti di sicurezza, gli attacchi e la loro classificazione, i cookie e la tracciabilità; - Principi generali di sicurezza e crittografia; - Organizzazione, procedure, gestione degli incidenti; - Algoritmi e protocolli crittografici e loro utilizzo per ottenere i requisiti di sicurezza; - Protocolli di controllo degli accessi e di autenticazione; - Protocolli HTTPS e TLS; - Introduzione ai firewall e ad altri dispositivi di sicurezza di rete e importanza degli aspetti organizzativi in questo ambito. Competenze Gli studenti acquisiranno familiarità con le tecnologie digitali, anche per la comunicazione di rete, rispetto alle potenzialità che esse hanno per risolvere problemi specifici. Inoltre, acquisiranno consapevolezza dei rischi di sicurezza e familiarità con i meccanismi di protezione, hardware, software e organizzativi. In particolare saranno in grado di: - identificare le fonti dei dati e i problemi della loro acquisizione, codifica e archiviazione; in generale, determinare la quantità di dati da elaborare, in relazione al contesto applicativo; - determinare il tipo di elaborazione a cui i dati devono essere sottoposti per valutare la potenza di calcolo necessaria per ottenere tempi di elaborazione adeguati allo specifico contesto applicativo; - individuare i protocolli e il tipo di dispositivo più adatti allo scenario in questione; - comprendere quali sono i passi fondamentali della definizione dei requisiti di un sistema - comprendere i requisiti fondamentali di sicurezza del proprio ambiente applicativo, avendo ben chiari i possibili rischi; - mettere in relazione i vari strumenti crittografici con i requisiti di sicurezza ed efficienza che essi garantiscono. In particolare: - caratteristiche e funzionamento della firma digitale; - gli strumenti adatti per la segretezza e la privacy; - meccanismi per l'identificazione sicura degli utenti e per il controllo degli accessi; - interagire con esperti nello sviluppo di architetture software e nel dimensionamento dell'hardware per soddisfare i requisiti di efficienza, affidabilità e scalabilità posti dal problema specifico, anche in vista di un'evoluzione futura; - interagire con esperti di sicurezza per determinare insieme gli strumenti migliori da utilizzare nel contesto specifico; - aggiornare le proprie conoscenze sulle tecnologie disponibili, nell'ottica di una continua ricerca della soluzione più efficace alle sfide poste dal proprio ambiente applicativo.
Knowledge After taking the examination, students will know: - The mechanisms of data representation; - The criteria for dimensioning the space required for data storage; - The main components of a computer and their interactions; - The characteristics of processors: from CPUs on board integrated systems to multi-core CPUs and GPUs; - The different types of storage media and their classification according to characteristics; - The different types of computing systems, from embedded and wearable to supercomputers; - The distinction between Hardware and Software and the distinction between Hardware, Firmware, Operating System and Applications, according to a layered structure of computer architectures; Virtual machines; - The different types of applications and services (also accessible over the network). - The different types of software licences; - The characteristics of the various communication protocols; - The criteria for sizing devices (also based on storage capacity) and their transmission power; - The main components required to enable the connection of a PC, mobile device or IoT sensor to the network; - The characteristic components of mobile devices and IoT sensors; - The interfacing of IoT devices with mobile applications and from them to cloud systems; - The difference between functional and non-functional requirements - The modelling of a conceptual model - The modelling of system use cases - Security requirements, attacks and their classification, cookies and tracking; - General principles of security and cryptography; - Organisation, procedures, incident management; - Cryptographic algorithms and protocols and their use to achieve security requirements; - Access control and authentication protocols; - HTTPS and TLS protocols; - Introduction to firewalls and other network security devices and the importance of organisational aspects in this area. Skills Students will become familiar with digital technologies, including for network communication, with respect to their potential for solving specific problems. Furthermore, they will gain awareness of security risks and familiarity with protection mechanisms, hardware, software and organisational. In particular, they will be able to - identify data sources and the problems of their acquisition, encoding and storage; in general, determine the amount of data to be processed, in relation to the application context - determine the type of processing to which the data must be subjected in order to assess the computing power required to obtain processing times appropriate to the specific application context; - identify the protocols and type of device best suited to the scenario in question; - understand the basic steps involved in defining the requirements of a system - understand the basic security requirements of one's own application environment, being clear about the possible risks; - relate the various cryptographic tools to the security and efficiency requirements they guarantee. In particular: - characteristics and functioning of digital signatures; - appropriate tools for secrecy and privacy; - mechanisms for secure user identification and access control; - interact with experts in the development of software architectures and hardware sizing to meet the requirements of efficiency, reliability and scalability posed by the specific problem, also with a view to future evolution; - interact with security experts to jointly determine the best tools to use in the specific context; - updating one's knowledge of available technologies, with a view to a continuous search for the most effective solution to the challenges posed by one's application environment.
×
Print
Course
RAPPRESENTAZIONE DELLA CONOSCENZA E LOGICA COMPUTAZIONALE
Course ID
MF0653
Academic Year
2022/2023
Year of rule
2022/2023
Degree
INTELLIGENZA ARTIFICIALE E INNOVAZIONE DIGITALE
Curriculum
000-GENERICO
Teaching leader
GIORDANO Laura
CFU
9.0
Teaching duration (hours)
72.0
Individual study time
153.0
SSD
INF/01 - INFORMATICA
Course type
Attività formativa monodisciplinare
Course mandatoriety
OBB
Course category
B
Year
1
Period
Secondo Semestre
Site
ALESSANDRIA
Grading type
V
Lingua insegnamento/Teaching language
ITALIANO
Italian
Contenuti/Content Summary
Rappresentazione della conoscenza e ragionamento mediante formule e regole logiche, programmazione logica. Programmazione logica a vincoli; Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP. Logiche descrittive, logiche temporali.
Knowledge representation and reasoning in logic and logic programming. Constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP tools. Description logics, temporal logics.
Testi di riferimento/Textbooks
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
S. Russell, P. Norvig. Artificial Intelligence: A Modern Approach (3rd edition), Prentice-Hall 2010. P. Hitzler, M. Krötzsch, S. Rudolph, Foundations of Semantic Web, CRC Press, 2010. K. Marriott, P. Stuckey, Programming with Constraints: an Introduction, MIT Press, 1998. M. Gebser, R. Kaminski, B. Kaufmann, and T. Schaub, Answer Set Solving in Practice, Morgan and Claypool, 2012.
Obiettivi formativi/Mission
Conoscenza e capacità di comprensione: conoscere e comprendere la semantica di diversi formalismi di rappresentazione della conoscenza dichiarativa basati sulla logica, i fondamenti dei metodi di ragionamento automatico su tale conoscenza, l’espressività e le limitazioni anche computazionali. Capacità di applicare conoscenza e comprensione: capacità di applicare i suddetti formalismi e metodi a problemi reali, ai fini della risoluzione di problemi con metodi dichiarativi e del riutilizzo di conoscenza per risoluzioni di problemi diversi relativi ad uno stesso dominio. Autonomia di giudizio: giudicare l’appropriatezza dei diversi formalismi e metodi a problemi reali Abilità comunicative: capacità di illustrare, sia a livello tecnico che non tecnico, le soluzioni proposte per problemi assegnati durante il corso Capacità di apprendimento: esercitare la capacità di approfondimento autonomo attraverso la lettura di materiale di approfondimento sugli argomenti del corso.
Knowledge and comprehension: the semantics of different formalisms of representation of declarative knowledge based on logic, the foundations of methods for the automatic reasoning concerning such knowledge, expressiveness and computational limitations of them. Capability to apply knowledge and comprehension: ability to apply the formalisms and methods shown to real-world problems, in order to solve problems using declarative methods and to reuse knowledge to solve different problems relating to the same domain. Judgement autonomy: judging the appropriateness of the different formalisms and methods to real-world problems Communication skills: ability to explain, both at a technical and non-technical level, the solutions proposed for problems assigned during the course Learning skills: exercise the ability to study independently by reading in-depth documentation on the topics of the course.
Prerequisiti/Required background knowledge
Logica Matematica.
Mathematical logic.
Metodi didattici/Teaching methods
Lezioni frontali e sperimentazione in laboratorio. Le lezioni, oltre a descrivere i formalismi ne discutono le potenzialità e le limitazioni. Le esercitazioni permettono di conoscere strumenti software per utilizzare i diversi formalismi.
Lectures and practical activity in lab. Lectures describe the different formalism and discuss their power as well as their limitations. Practical activity allows students to get to know software tools for the different formalisms.
Modalità di verifica dell'apprendimento/Assessment methods
Verifica della soluzione di esercizi pratici. Esame orale o esonero scritto. La prova prevede diverse domande, riguardanti argomenti svolti in una parte diversa del programma, , ed atte a verificare il raggiungimento degli obiettivi formativi. La valutazione complessiva terrà conto dei risultati conseguiti nelle singole domande.
Evaluation of the solutions for practical exercises. Oral or written examination. The exam involves several questions on different subjects within the course contents; the questions are suited to verifying the achievement of the learning outcomes. The evaluation takes into account the answers to individual questions.
Programma esteso/Content
Rappresentazione della conoscenza e ragionamento automatico in logica. Risoluzione. Programmazione logica. La programmazione logica a vincoli; l'Answer Set Programming. Problem solving dichiarativo mediante strumenti di programmazione logica e ASP. Logiche descrittive, logiche temporali.
Knowledge representation and automated reasoning in logic. Resolution. Logic programming. Constraint logic programming; Answer Set Programming. Declarative problem solving using logic programming and ASP. Description logics, temporal logics.
Risultati di apprendimento attesi/Intended learning objectives
Raggiungimento, in grado misurato dal voto, degli obiettivi formativi. In particolare: Conoscenze relative ai formalismi di rappresentazione della conoscenza dichiarativa basati sulla logica, e ai metodi di ragionamento automatico su tale conoscenza Competenze ed abilità: capacità di giudicare l’adeguatezza dei diversi formalismi e metodi a problemi reali, di realizzarne l’applicazione, illustrando la soluzione a livello tecnico e non.
Achievement, measured by grade, of the training objectives. Particularly: Knowledge: knowledge related to the formalisms of representation of declarative knowledge based on logic, and to the methods of automatic reasoning on such knowledge Competence and ability: ability to judge the adequacy of the different formalisms and of the methods to real-world problems, to implement their application, discussing the proposed solution both on a technical and non-technical level.
Print guide
Print
Year Course ID Course Teachers SSD Curriculum Site CFU
1 MF0611 Analysis of business system Turolla Andrea SECS-P/07 All VERCELLI 6.0
1 MF0610 Artificial intelligence and decision support Portinale Luigi INF/01 All VERCELLI 9.0
1 MF0614 Computational architectures, networks and security Ardito Luca INF/01 All VERCELLI 12.0
1 MF0649 Computational statistics Bongiorno Enea Giuseppe SECS-S/01 All VERCELLI 6.0
1 MF0613 Data mining for experimental data Piovesan Luca, Giobergia Flavio INF/01 All VERCELLI 9.0
1 MF0609 Database systems and business intelligence Bottrighi Alessio, Leonardi Giorgio INF/01 All VERCELLI 9.0
1 MF0651 Distributed systems and big data Giannini Paola, Canonico Massimo, Guazzone Marco INF/01 All ALESSANDRIA 12.0
1 MF0652 Foundations of intelligent systems Giordano Laura, Terenziani Paolo, Theseider Dupre' Daniele INF/01 All VERCELLI 9.0
1 MF0612 Law and digital society Heritier Paolo IUS/09 All VERCELLI 6.0
1 MF0653 Logical knowledge representation and reasoning Giordano Laura, Theseider Dupre' Daniele INF/01 All ALESSANDRIA 9.0
1 MF0616 Machine learning and deep learning Portinale Luigi INF/01 All ALESSANDRIA 9.0
1 MF0650 Philosophy of science Benzi Margherita M-FIL/02 All VERCELLI 6.0
Data synched: 17/10/2025, 14:19