Course Syllabus
Obiettivi formativi
Il corso si propone di familiarizzare gli studenti con i fondamenti della programmazione e fornire loro una panoramica delle tecniche di data science e intelligenza artificiale utilizzate in un contesto aziendale. Il programma comprende un'introduzione alla programmazione (Python), ai database (SQL) e alle tecniche di machine learning. Le lezioni e il materiale didattico saranno in lingua inglese.
Il corso è alternativo al corso ‘Informatica Generale e Laboratorio Informatico’ che si concentra maggiormente sui sistemi informativi aziendali e delle loro implicazioni organizzative e gestionali.
Obiettivi formativi (secondo i Descrittori di Dublino)
1. Conoscenza e capacità di comprensione (Knowledge and understanding)
Al termine del corso, lo studente avrà acquisito:
- la conoscenza dei principi fondamentali della programmazione imperativa;
- la comprensione dei fondamenti dei database relazionali e del linguaggio SQL;
- una panoramica delle principali tecniche di data science, machine learning e intelligenza artificiale applicabili al contesto aziendale;
- la comprensione del ruolo dei dati e dell’innovazione digitale nei processi aziendali, in particolare nel settore finanziario.
2. Capacità di applicare conoscenza e comprensione (Applying knowledge and understanding)
Al termine del corso, lo studente sarà in grado di:
- progettare e implementare semplici programmi in linguaggio Python;
- interrogare ed elaborare dati mediante SQL;
- proporre soluzioni operative per la gestione e l’analisi dei dati all’interno di team interdisciplinari.
3. Autonomia di giudizio (Making judgements)
Al termine del corso, lo studente sarà in grado di:
- valutare criticamente l’adeguatezza e i limiti delle soluzioni informatiche adottate in contesti aziendali;
- individuare le tecnologie emergenti più rilevanti e valutarne l’impatto strategico sulle imprese;
- integrare conoscenze di natura tecnica, organizzativa e gestionale per supportare processi decisionali aziendali data-driven.
4. Abilità comunicative (Communication skills)
Al termine del corso, lo studente sarà in grado di:
- utilizzare un linguaggio tecnico appropriato per comunicare efficacemente con specialisti IT, data scientist e stakeholder aziendali;
- presentare risultati di analisi e proposte progettuali a interlocutori sia tecnici che non specialistici.
5. Capacità di apprendimento (Learning skills)
Al termine del corso, lo studente avrà sviluppato:
- capacità autonome di aggiornamento continuo rispetto alle tecnologie emergenti nel campo dell’informatica applicata all’azienda;
- abilità di apprendere nuovi strumenti e tecniche di programmazione e analisi dei dati in modo autonomo e proattivo.
Contenuti sintetici
Il corso di "Data Science" si propone di introdurre gli studenti ai concetti fondamentali della programmazione e offrire loro una visione generale delle tecniche di data science e intelligenza artificiale applicate nell'ambito aziendale. Il programma del corso comprende una introduzione sulle tecniche di intelligenza artificiale, una panoramica introduttiva della programmazione utilizzando il linguaggio Python, l'apprendimento dei concetti base dei database con l'utilizzo del linguaggio SQL, e l'acquisizione di competenze pratiche nelle tecniche di machine learning. Le lezioni e il materiale didattico saranno in lingua inglese.
Programma esteso
Introduzione al ruolo delle tecnologie nel mondo del business come componente fondamentale per le organizzazioni di successo.
Analisi delle nuove tendenze digitali: processi di digital transformation in azienda ed evoluzione tecnologica nella società dell’informazione.
L'intelligenza artificiale: inquadramento storico e prospettive evolutive dell’IA con approfondimento sulle più recenti evoluzioni, inclusi i grandi modelli di linguaggio (large language models).
Cenni di programmazione: concetti di base della programmazione imperativa e sviluppo di semplici programmi in Python.
Metodi di gestione e analisi dati: database relazionali, SQL, data warehouse, e knowledge graph.
Machine learning e data mining: soluzioni supervisionate e non supervisionate tipicamente utilizzate nell’ambito d’impresa con particolare attenzione alle reti neurali.
Laboratorio informatico: la parte di laboratorio è finalizzata a conferire agli studenti una conoscenza di livello intermedio nell'utilizzo dell'applicativo Microsoft Excel.
Prerequisiti
Conoscenze di tipo matematico e logico acquisite nella scuola superiore. Conoscenza della lingua inglese.
Metodi didattici
Data Science - 42 ore
- 5 lezioni da 2 ore svolte in modalità erogativa in presenza;
- 16 lezioni da 2 ore svolte in modalità erogativa nella parte iniziale che è volta a coinvolgere gli studenti in modo interattivo nella parte successiva (prevalentemente Python e SQL) .
Laboratorio Informatico (Excel) - 12 ore
- 6 attività di laboratorio da 2 ore svolte in modalità interattiva in presenza.
Modalità di verifica dell'apprendimento
La verifica dell'apprendimento comprende una prova scritta e, opzionalmente, una prova orale integrativa. La prova scritta, che prevede domande a scelta multipla e domande aperte, si svolgerà nei laboratori didattici per poter valutare le abilità dello studente nell'utilizzo del linguaggio Python e dell'applicativo Microsoft Excel.
La prova finale si articola in due parti.
Parte di Data Science:
- 16 domande a selezione multipla (1 risposta corretta su 4), che assegnano 1 punto ciascuna (0 punti in caso di risposta errata o mancante). Queste saranno estratte in maniera casuale da una lista di domande pre-definite. In particolare ci saranno tre tipi di domande: 1) Teoria di Data Science e Informatica (coperta dalle slide del corso), 2) Teoria di Python, 3) Interpretazione di codice Python (in cui si mostra un piccolo frammenti di codice e si chiede l'output).
- 1 esercizio di Python che assegna un massimo di 8 punti (0 punti in caso di risposta del tutto o in larga parte mancante). L'esercizio richiede di scrivere un frammento di codice che esegua un determinato compito (per esempio: iterare su una lista e eliminare tutti i numeri pari, trovare il minimo in una lista numerica).
- 1 query SQL che assegna un massimo di 8 punti (0 punti in caso di risposta del tutto o in larga parte mancante; si ricorda che la query deve essere eseguibile). L'esercizio (simile a quello riportato in sezione 'Esercitazioni SQL- Esempio di domanda SQL nella prova finale') mostrerà un database composto da alcune tabelle e richiederà di formulare una certa query (di solito combinando più tabelle).
Questa parte attribuisce la votazione massima conseguibile nella prova.
Parte di laboratorio Informatico (Excel):
- 3 domande aggiuntive a selezione multipla (1 risposta corretta su 4) sui contenuti del Laboratorio Informatico (la risposta a tali domande richiede l'utilizzo di Excel). Le domande saranno sia di teoria che di pratica.
Errori o omissioni nella parte di Laboratorio Informatico determinano le seguenti penalizzazioni da applicare alla votazione conseguita nella parte di Informatica Generale:
- 3 risposte corrette: nessuna penalizzazione;
- 1 risposta sbagliata o mancante: - 1 punto;
- 2 risposte sbagliate o mancanti: - 3 punti;
- 3 risposte sbagliate o mancanti: - 5 punti.
La votazione finale è quella della parte di Informatica Generale meno le eventuali penalizzazioni di Laboratorio Informatico (esempio: 27 punti nella parte di informatica generale, -3 punti in quella di Laboratorio Informatico - ovvero, 2 risposte errate o mancanti - totale della prova 24/30).
Testi di riferimento
- Slide delle lezioni e altro materiale condiviso sulla piattaforma di e-Learning.
- W3C Python tutorial (https://www.w3schools.com/python/)
- Downey, A. B. (2015). Think Python: How to Think Like a Computer Scientist, Version 2.4. Green Tea Press. (Disponibile gratuitamente online con licenza Creative Commons, https://greenteapress.com/thinkpython2/thinkpython2.pdf)
Si consiglia inoltre il seguente testo facoltativo:
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition. Aurélien Géron. O’Reilly, 2019.
Periodo di erogazione dell'insegnamento
Primo semestre.
Lingua di insegnamento
Inglese.
Sustainable Development Goals
Learning objectives
The objective of this course is to introduce students to programming and provide them with an overview of the data science and artificial intelligence techniques employed in a business environment. It covers the fundamentals of programming (Python), databases (SQL), and machine learning. All classes and course materials will be in English.
The course can be taken as an alternative to ‘Informatica Generale e Laboratorio Informatico’, which focuses instead on providing a general understanding of the issues related to technological innovation in financial companies and society, data and information management, digital business models, business information systems and their organisational and management implications.
Learning Objectives (according to the Dublin Descriptors)
1. Knowledge and understanding
By the end of the course, students will have acquired:
- knowledge of the fundamental principles of imperative programming;
- understanding of the basics of relational databases and the SQL language;
- an overview of the main data science, machine learning, and artificial intelligence techniques applicable in a business context;
- understanding of the role of data and digital innovation in business processes, particularly in the financial sector.
2. Applying knowledge and understanding
By the end of the course, students will be able to:
- design and implement simple programs in Python;
- query and process data using SQL;
- propose operational solutions for data management and analysis within interdisciplinary teams.
3. Making judgements
By the end of the course, students will be able to:
- critically assess the adequacy and limitations of IT solutions adopted in business contexts;
- identify the most relevant emerging technologies and evaluate their strategic impact on companies;
- integrate technical, organizational, and managerial knowledge to support data-driven business decision-making processes.
4. Communication skills
By the end of the course, students will be able to:
- use appropriate technical language to communicate effectively with IT specialists, data scientists, and business stakeholders;
- present analysis results and project proposals to both technical and non-technical audiences.
5. Learning skills
By the end of the course, students will have developed:
- the ability to continuously update their knowledge of emerging technologies in the field of applied business computing;
- the skills to autonomously and proactively learn new programming and data analysis tools and techniques.
Contents
The course "Data Science" aims to acquaint students with programming and give them a comprehensive understanding of the data science and artificial intelligence methods utilized within a business setting. The program includes a brief introduction to artificial intelligence, an introductory overview of programming using the Python language, learning the basic concepts of databases using SQL, and gaining practical skills in machine learning techniques. All classes and course materials will be in English.
Detailed program
Introduction to Business Information Systems: architectures and applications supporting the operational, tactical, and strategic needs of enterprises.
Digital trends: digital transformation processes in companies and technological evolution in the information society.
Artificial Intelligence: historical overview and future prospects of AI, with a focus on the latest developments, including large language models and their applications.
Programming Basics: basic concepts of imperative programming and development of simple programs in Python.
Methods for Data Management and Analysis: relational databases, SQL, data warehousing, and knowledge graphs.
Machine Learning and Data Mining: supervised and unsupervised solutions, with a specific focus on neural networks.
Computer Lab: the lab component aims to provide students with intermediate-level proficiency in using Microsoft Excel.
Prerequisites
Mathematical and logical knowledge acquired in high school. Proficiency in the English language.
Teaching methods
Data Science - 42 hours
- 5 lessons of 2 hours each conducted in an in-person lecture format;
- 16 lessons of 2 hours each, initially delivered in a in-person lecture format, followed by an interactive section (primarily focusing on Python and SQL).
Laboratorio Informatico (Excel) - 12 hours
- 6 laboratory activities of 2 hours each conducted in an interactive in-person format.
Assessment methods
The assessment of learning includes a written test and, optionally, an additional oral examination. The written test, which includes multiple-choice questions and open-ended questions, will take place in the teaching labs (laboratori didattici) in order to evaluate the student's skills in using the Python language and the Microsoft Excel application.
The final exam consists of two sections.
Data Science Section:
- 16 multiple-choice questions (1 correct answer out of 4), each worth 1 point (0 points for incorrect or missing answers). These questions will be randomly selected from a predefined list. Specifically, there will be three types of questions: 1) Data Science and Computer Science theory, 2) Python theory, 3) Python code interpretation (where a small code snippet is provided, and the output is requested).
- 1 Python exercise worth a maximum of 8 points (0 points for a substantially or mostly incomplete response). The exercise requires writing a code snippet to perform a specific task (e.g., iterating over a list and removing all even numbers, finding the minimum in a numeric list).
- 1 SQL query worth a maximum of 8 points (0 points for a substantially or mostly incomplete response; please note that the query must be executable). The exercise (similar to the one presented in the "SQL Exercises - Example SQL question in the final exam" section) will present a database consisting of several tables and will require formulating a specific query (usually involving multiple tables).
This section awards the maximum achievable score in the exam.
Computer Lab Section (Excel):
- 3 additional multiple-choice questions (1 correct answer out of 4) on the contents of the Computer Lab (answering these questions requires the use of Excel). The questions will cover both theory and practice.
Errors or omissions in the Computer Lab section result in the following penalties applied to the score obtained in the General Computer Science section:
- 3 correct answers: no penalty
- 1 incorrect or missing answer: -1 point
- 2 incorrect or missing answers: -3 points
- 3 incorrect or missing answers: -5 points
The final grade is determined by the Computer Science section score minus any penalties from the Computer Lab section (e.g., 27 points in the General Computer Science section, -3 points in the Computer Lab section - i.e., 2 incorrect or missing answers - resulting in a total score of 24/30).
Textbooks and Reading Materials
- The slides used in the classroom and other study materials available on e-Learning platform.
- W3C Python tutorial (https://www.w3schools.com/python/)
- Downey, A. B. (2015). Think Python: How to Think Like a Computer Scientist, Version 2.4. Green Tea Press. (Freely available online with Creative Commons licence, https://greenteapress.com/thinkpython2/thinkpython2.pdf)
Optional textbook
- Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition. Aurélien Géron. O’Reilly, 2019.
Semester
First semester.
Teaching language
English.