Numerical Programming
Persone
Docente titolare del corso
Docente titolare del corso
Assistente
Assistente
Descrizione
In this course, you will learn the principles of numerical programming for Data Science. We will explore algorithms, their numerical stability, computational efficiency, and proper implementation using the Python programming language.
This course adopts data-oriented programming concepts with a procedural flavor to align closely with the computational demands of Data Science. By emphasizing the layout, transformation, and flow of data through algorithms, you will develop an understanding of cache-friendly memory access patterns, vectorized computation, and performance-critical design. The procedural approach will allow us to write clear, testable code that mirrors the structure of numerical algorithms. This model maps naturally onto tools like NumPy, where array-based computation and explicit data flow are central.
Obiettivi
1. Understand the mathematical concepts behind numerical algorithms and apply them in practice.
2. Understand and apply data-centric programming paradigms.
3. Implement and debug numerical algorithms using the Python programming language and its libraries for numerical computing.
Modalità di insegnamento
In presenza
Impostazione pedagogico-didattica
1. Weekly theoretical lecture (2h)
2. Weekly programming lecture (2h)
3. Weekly tutorials / hands-on sessions (2h)
Modalità d’esame
Assignments and quiz (30%)
Final (70%)
Challenge exercises (10% bonus points)
Bibliografia
- Ascher, Uri M., Ascher, Uri Michael, Greif, Chen. A first course in numerical methods. Philadelphia: Society for Industrial and Applied Mathematics, 2011.
- Fuhrer, Claus., Solem, Jan Erik., Verdier, Olivier.. Scientific computing with Python. 2nd ed.. Birmingham :: Packt, 2021.
- Quarteroni, Alfio, Sacco, Riccardo, Saleri, Fausto. Numerical Mathematics: Numerical Mathematics. Springer New York, 2007.
- Stoer, J., Bulirsch, R.. Introduction to Numerical Analysis: Introduction to Numerical Analysis. Springer New York, 2002.
Programma
- Bachelor of Science in Data Science, Lezione, 2° anno
Prerequisito
- Calculus, Hormann K., Chang Q., Fuda C., Georgiou A., Laneve L., SA 2022-2023
- Linear Algebra, Pivkin I., Buckley A., SP 2023
- Programming Fundamentals for Data Science, Pozzi L., Buccolini A., Tirelli C., SA 2024-2025
- Software Atelier 1: Fundamentals of Informatics, Bavota G., Ciniselli M., Mastropaolo A., Tufano R., SA 2021-2022