Programming
Programming#
Overview#
This course strengthens the practical programming skills required for data science. It covers Python and C++ in a complementary way:
- C++ for writing efficient code and implementing algorithms.
- Python as a scripting language and the reference language for data‑science libraries.
By the end of the course, students will be able to:
- Manage programming environments in larger scale projects with external dependencies
- Work independently in both Python and C++.
- Model and design solutions using object‑oriented programming (OOP).
Outline#
The course consists mainly of hands‑on lab sessions.
- Programming environment & project management (Python & C++) : virtual environments, CMake, dependency management, testing, documentation...
- From C to C++ : memory management, streams, operator overloads, standard library ...
- Object oriented programming in C++ : classes, encapsulation, (multiple) inheritance, polymorphism, templates, iterators...
- Advanced Python programming : Python OOP, decorators, scripting, common data‑science libraries...
- Advanced techniques: concurrent programming, C++/Python interoperability
A semester‑long project lets students apply the skills they acquire to a larger‑scale, integrated assignment.
In brief#
- Period: semester 7
- Credits: 6 ECTS
- Number of hours: 58.5h
- Apogée:
Recommended prerequisites#
- Basic working knowledge of C or C++ and Python.
- Basic familiarity with Git.
Pedagogical team#
- Ernest Foussard
Evaluation#
TP and/or project