Modulo “Laboratorio di Programmazione”:
Conoscenza dei costrutti fondamentali della programmazione imperativa e orientata agli oggetti, del linguaggio di programmazione Python, delle principali strutture dati. Conoscenza minimale di alcuni concetti relativi allo sviluppo di interfacce grafiche. Conoscenza dei principi di programmazione concorrente e ad eventi.
Modulo “Analisi di Dati”:
Il corso ha lo scopo di preparare gli studenti all'uso del linguaggio Python per l’analisi e visualizzazione di dati.
Alla fine del corso gli studenti avranno acquisito le basi necessarie a progettare e implementare tecniche di analisi di dati in Python usando le principali librerie orientante all’analisi e visualizzazione di dati: MatplotLib, Seaborn, Pandas, Numpy e SciPy. L’ambiente di distribuzione Python e’ Anaconda, disponibile per diverse piattaforme e verra’ usato con Jypyter Notebook come strumento per lo sviluppo interattivo di progetti di analisi e visualizzazione dati.
"Programming Laboratory" module:
Knowledge of the fundamental constructs of imperative and object-oriented programming,
of the Python programming language, of the main data structures. Minimal knowledge of
some concepts related to the development of graphical user interfaces.
Knowledge of concurrent and event programming principles.
"Data Analysis" module:
The course aims to prepare students for the use of the Python language for data analysis
and visualization. At the end of the course students will have acquired the basics necessary to design
and implement data analysis techniques in Python using the main libraries oriented
towards data analysis and visualization: MatplotLib, Seaborn, Pandas, Numpy and SciPy.
The Python distribution environment is Anaconda, available for different platforms and will
be used with Jypyter Notebook as a tool for the interactive development of data analysis
and visualization projects.
Frequenti questionari anonimi utilizzando strumenti interattivi (es. Mentimeter) ed esercizi di autovalutazione. Osservazione durante le esercitazioni interattive e lo svolgimento dei progetti didattici. Brainstorming con gli studenti.
Frequent anonymous questionnaires using interactive tools (e.g. Mentimeter)
and self-assessment exercises. Observation during interactive exercises and the development
of educational projects. Brainstorm with students.
Modulo “Laboratorio di Programmazione”:
Lo studente acquisirà dimestichezza con la programmazione sequenziale e concorrente in Python e con alcuni concetti base di architetture, complessità e rappresentazione dell'informazione.
Modulo “Analisi di Dati”:
Alla fine del corso gli studenti avranno acquisito le basi necessarie a progettare e implementare tecniche di analisi di dati in Python usando le principali librerie orientate all’analisi e visualizzazione di dati: MatplotLib, Seaborn, Pandas, Numpy e SciPy.
"Programming Laboratory" module:
The student will acquire familiarity with sequential and concurrent programming in Python and
with some basic concepts of architecture, complexity and information representation.
"Data Analysis" module:
At the end of the course students will have acquired the basics necessary to design and
implement data analysis techniques in Python using the main libraries oriented to
data analysis and visualization: MatplotLib, Seaborn, Pandas, Numpy and SciPy.
Frequenti questionari anonimi utilizzando strumenti interattivi (es. Mentimeter) ed esercizi di autovalutazione. Osservazione durante le esercitazioni interattive e lo svolgimento dei progetti didattici. Brainstorming con gli studenti.
Frequent anonymous questionnaires using interactive tools (e.g. Mentimeter)
and self-assessment exercises. Observation during interactive exercises and the development
of educational projects. Brainstorm with students.
Modulo “Laboratorio di Programmazione”:
Lo studente imparerà come affrontare problemi non banali da risolvere usando linguaggi imperativi e ad oggetti
Modulo “Analisi di Dati”:
Alla fine del corso gli studenti avranno acquisito le basi necessarie a progettare e implementare tecniche di analisi di dati in Python usando le principali librerie orientate all’analisi e visualizzazione di dati.
"Programming Laboratory" module:
The student will learn how to solve non-trivial problems using imperative and object-oriented languages
"Data Analysis" module:
At the end of the course, students will have acquired the basics necessary to design and implement data analysis techniques in Python using the main libraries oriented to data analysis and visualization.
Frequenti questionari anonimi utilizzando strumenti interattivi (es. Mentimeter) ed esercizi di autovalutazione. Osservazione durante le esercitazioni interattive e lo svolgimento dei progetti didattici. Brainstorming con gli studenti.
Frequent anonymous questionnaires using interactive tools (e.g. Mentimeter)
and self-assessment exercises. Observation during interactive exercises and the development
of educational projects. Brainstorm with students.
Matematica di base (livello medio scuola secondaria di primo grado)
Capacità di utilizzare un editore di testi e di ricercare informazioni su internet
Non sono richiesti prerequisiti di programmazione
Basic Mathematics (Middle School Level)
Ability to use a text editor and to search for information on the internet
No programming prerequisites are required
Lezioni: si svolgeranno interamente in aule di laboratorio con alternanza di presentazione di concetti ed esercitazioni pratiche interattive
Esercitazioni: interattive in aule di laboratorio
Attivita' da svolgere per l'apprendimento:
Frequenza: consigliata
Contatti con il docente: ricevimento in persona, online e per email
Lingua: italiana
Lessons: will take place entirely in laboratory classrooms with alternating presentation of concepts and interactive practical exercises
Practice: interactive exercises in the laboratory classrooms
Activities to be carried out for learning:
Frequency: recommended
Contact with the teacher: in person, online or via email
Language: Italian
Modulo “Laboratorio di Programmazione”:
- cenni di architettura di un elaboratore, programmazione imperativa, compilazione e interpretazione, il linguaggio Python
- randomizzazione, funzioni, valori booleani, costrutti di controllo, debugging, testing, rappresentazione dell'informazione, cenni di analisi degli errori
- ricorsione, stringhe, liste, tuple, dizionari, file
- Programmazione a oggetti: concetti base-- overloading -- ereditarietà
- il modulo TURTLE, cenni di interfacce grafiche
- Cenni di computabilità, algoritmi e linguaggi di programmazione
- Cenni di programmazione visuale e ad eventi
- Cenni di Graphical User Interfaces (GUI)
Modulo “Analisi di Dati”:
- Installazione e Introduzione ad Anaconda. Jupiter Notebook: Installazione ed introduzione.
- Visualizzazione di Dati con Python. Panoramica. Librerie Python per la visualizzazione di dati. Datasets: Iris e Titanic. Matplotlib: introduzione. Line Properties Plot (x,y). Lines Patterns e Colors. Axis, Labels e Legend Properties. Tipi di Plots e Seaborn.
- Manipolazione e analisi dati con librerie di Python. Manipolazione dei dati con libreria Pandas: strutture dati e operazioni per manipolare tabelle numeriche e serie temporali. Introduzione alla gestione del calcolo vettoriale e alla manipolazione di vettori e matrici per la visualizzazione con la libreria Numpy. Introduzione all’analisi ed elaborazione di segnali e immagini con la libreria SciPy.
Il programma e il materiale didattico per i non frequentanti è lo stesso previsto per i frequentanti. I docenti sono disponibili a ricevimenti anche online per chiarimenti.
The program and didactic material for non-attending students are the same as for attending students. The teachers are also available for online meeting for clarification.
L'esame è composto da due prove, una per il modulo di programmazione e una per il modulo di analisi dei dati. La valutazione complessiva del corso sarà ottenuta con la media delle valutazioni ottenute nelle prove relative ai due moduli pesata con il numero di crediti di ciascun modulo.
Modulo “Laboratorio di Programmazione”:
La prova prevede lo svolgimento di un progetto didattico individuale o in gruppi di 2 studenti e una prova orale. Sarà possibile svolgere i progetti come prove in itinere.
Modulo “Analisi di Dati”:
La prova consiste in esercizi in classe sui vari temi del corso e uno scritto finale in aula con domande individuali a risposta multipla da effettuarsi sulla piattaforma di e-learning.
Commissione d'esame:
Susanna Pelagatti
Alessio Malizia
RTDA INF/01 in corso di presa di servizio
Supplenti
Francesca Levi
Laura Semini
Fabrizio Luccio
Exam committee:
Susanna Pelagatti Alessio Malizia RTDA INF/01 being taken into service Substitutes Francesca Levi Laura Semini Fabrizio Luccio