The course aims at providing the mathematical foundations of many learning and data analysis approaches, which are rooted in numerical analysis and mathematical optimization. The course is therefore held by two lecturers, experts of the two branches, but the two sets of lectures are tightly integrated. The presentation of the mathematical concepts is application-oriented, with particular emphasis on algorithmic aspects and software implementations of the algorithmic ideas. The evaluation is mostly project-based.