ADVANCED CODING FOR DATA ANALYTICS
Obiettivi formativi
In this hands-on course, the students will be introduced to fundamental coding tools for data analytics and will acquire skills regarded as essential for any aspiring data professional. Using Python as a main programming language, they will get acquainted with data manipulation, exploratory data analysis and visualization techniques, hinging upon some of the most popular Python libraries (e.g., Pandas, NumPy, MatplotLib, NetworkX) and working with real-world datasets. Along the way, they will also learn advanced coding features especially useful in the big data analytics realm, most notably functional and parallel programming functionalities. Finally, students will explore modern AI-assisted development tools aimed at enhancing productivity and improving software quality.
Risultati di apprendimento attesi
Knowledge and understanding:
At the end of the course the students will have a deep knowledge of the fundamental techniques and programming tools for solving real-world data analytics problems. The course will cover advanced aspects of Python, as well as widely-used libraries for scientific computing and data visualization.
Applying knowledge and understanding:
At the end of the course the students will be able to employ advanced coding techniques to design efficient solutions for real-world data analytics problems.
Making judgements:
We expect students to be able to critically choose the most appropriate solution on a rigorous methodological basis.
Communication skills:
The course will give the students the ability to communicate effectively - in English - their ideas, proposals, and critical reasoning in the field of data analytics.
Learning skills:
This course will provide the students with the ability to learn a series of design and analytical tools and to apply them to real problems. The method of study will make the students able to break down complex problems arising in specific applications into manageable pieces and to apply advanced coding tools in order to design rigorous and documentable solutions.
Communication skills:
The course will give the students the ability to communicate effectively - in English - their ideas, proposals, and critical reasoning in the field of data analytics.
Learning skills:
This course will provide the students with the ability to learn a series of design and analytical tools and to apply them to real problems. The method of study will make the students able to break down complex problems arising in specific applications into manageable pieces and to apply advanced coding tools in order to design rigorous and documentable solutions.
Contenuti Del Corso
The course focuses on advanced programming abstractions and tools for data analysis. In particular, it covers the following topics:
- Writing clean, maintainable, and modular code using object-oriented programming principles and design patterns
- Functional and parallel programming techniques for efficient data processing
- AI-assisted coding tools and workflows
- Python libraries for scientific computing, data analytics, data visualization, and complex network analysis
- Development of interactive data visualization dashboards
Testi Di Riferimento
Lecture notes and other course material provided by the instructors and made available on the Luiss Learn platform.
Metodologie Didattiche
Lectures, lab sessions and group project work. Students' participation during lectures is strongly encouraged. Course not recommended for non-attending students due to the high team workload.
Modalità di verifica dell'apprendimento
60% group project
40% multiple choice quiz
Criteri per l’assegnazione dell’elaborato finale
A thesis will be assigned (upon specific request to the instructor) to students that demonstrate a serious and motivated interest in the course topics.
Settimana 1
Session 1: Intro and Python Recap
Session 2: How to write clean code
Settimana 2
Session 1: Decorators
Session 2: Iterators and Generators
Settimana 3
Session 1: Iterators and Generators
Session 2: Functional Programming
Settimana 4
Session 1: Functional Programming
Session 2: Numpy
Settimana 5
Session 1: Numpy, Scikit-learn
Session 2: Unit-testing, Pandas
Settimana 6
Session 1: Pandas
Session 2: Pandas
Settimana 7
Session 1: Parallel computing
Session 2: Parallel computing
Settimana 8
Session 1: Data Visualization
Session 2: Streamlit
Settimana 9
Session 1: AI for Coding
Session 2: AI for Coding
Settimana 10
Session 1: Graph analysis and Networkx
Session 2: Graph analysis and Networkx
Settimana 11
Session 1: Q&A Projects, Written exam test
Session 2: Guest speaker
Settimana 12
Session 1: Project presentation
Session 2: Project presentation