Skip to content

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.

  1. Programming environment & project management (Python & C++) : virtual environments, CMake, dependency management, testing, documentation...
  2. From C to C++ : memory management, streams, operator overloads, standard library ...
  3. Object oriented programming in C++ : classes, encapsulation, (multiple) inheritance, polymorphism, templates, iterators...
  4. Advanced Python programming : Python OOP, decorators, scripting, common data‑science libraries...
  5. 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:
  • Basic working knowledge of C or C++ and Python.
  • Basic familiarity with Git.

Pedagogical team#

  • Ernest Foussard

Evaluation#

TP and/or project