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.
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.
Contenuti Del Corso
The course focuses on advanced programming abstractions and tools for analyzing data. In particular, the course will cover the following topics:
- Functional and parallel programming functionalities
- Regular expressions
- Libraries for scientific computing, data analytics and visualization, manipulation of complex networks
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
40% group project
30% business-driven data analytics challenge
30% multiple choice quiz
Criteri per l’assegnazione dell’elaborato finale
A thesis will be assigned (upon specific request to the instructor) to students who have average grade > 27/30 and who demonstrate a serious and motivated interest in the course topics.
Settimana 1
Session 1: on campus
Iterators and generators
Session 2: online
Coding lab
Settimana 2
Session 1: on campus
Functional programming in Python
Session 2: online
Coding lab: lambda, filter, map, reduce
Settimana 3
Session 1: on campus
Decorators and memoization
Session 2: online
Coding lab
Settimana 4
Session 1: on campus
Regular expressions
Session 2: online
Coding lab
Settimana 5
Session 1: on campus
Parallelism in Python
Session 2: online
Coding lab
Settimana 6
Session 1: on campus
Parallelism in Python
Session 2: online
Coding lab
Settimana 7
Guest session held by a company guest speaker
Data analytics project assignment
Settimana 8
Session 1: on campus
Scientific computing
Session 2: online
Coding lab: NumPy
Settimana 9
Session 1: on campus
Data visualization
Session 2: online
Coding lab: MatplotLib
Settimana 10
Session 1: on campus
Data analysis and manipulation
Session 2: online
Coding lab: Pandas
Settimana 11
Session 1: on campus
Graph algorithms
Session 2: online
Coding lab: NetworkX
Settimana 12
Course recap, Q&A session and project presentation