Applied Data Science

API0057

Introduction aux techniques d'application de la sciences des données, et de l’ingénierie des données.

Responsable de l'Api

Jean-Benoist Leger

Autres intervenants

  • Florent Chehab -- GI UTC FDD 2019 -- Data / R&D Team Lead @ Qomon

  • Thibaud Le Graverend -- GI UTC IAD 2022 -- DevOps / DataEng @ France TV

Résumé

Nous vous proposons une API pour découvrir (ou redécouvrir) le monde de l'Applied Data Science au travers des thématiques de Software-Engineering et de Data-Engineering, avec un fil rouge autour des donnés géographiques.

Quelques mots-clés pour vous donner envie ou attiser votre curiosité : Git, Linux, Cloud, SSH, Python, tests, Structures de données (oui ça sert vraiment dans la vraie vie et pas que en NF16), Haute-Volumétrie, traitements en streaming, Map Reduce / Apache Spark, Dagster, sans oublier PostgreSQL et PostGIS.

Il va de soi que vous ne serez jamais des experts de tout cela en 5 jours, mais il s'agit bien de vous donner des billes et des réflexes pour votre future vie professionnelle.

Cerise sur le gâteau, nous devrons être entre 2 et 3 encadrants à temps plein pour vous accompagner tout au long de cette API avec un mix d'un Enseignant-Chercheur et d'anciens UTCéens depuis quelques années dans la vie professionnelle. Ie, ça sera du quasi-bénévolat, mais ça sera pour le plaisir de transmettre et on est très motivé. Donc venez si vous l'êtes aussi !

Typologie Api

Modalité : #Stage

Format : #Enseignant #Chercheur #Professionnel

Complément : #Cours #Atelier

Domaine

Applied Data-Science (data-engineering)

Public visé

Cette API s'adresse aux étudiantes et étudiants amenés à intervenir dans le domaine de l’ingénierie des données, et en priorité aux étudiants de fin de cursus. Tout autre candidature motivée sera bien entendue étudiée.

Il est fortement conseiller de maîtriser les rudiments de Git, Linux, Python et PostgreSQL (/MySQL).

Objectifs pédagogiques

Objectif de l’Api : L'objet de cette API est de fournir aux étudiants des connaissances et compétences de base dans la mise en œuvre du traitement de données, en particulier dans le cas de données massives.

Objectifs spécifiques :

  • Ne pas être démuni sur des techniques modernes de traitement de données (Python, Spark, Streaming, SQL)

  • Initiation au développement computationnellement efficace d'algos de traitements de données

  • Découverte d'outils d'organisation de pipeline de calculs et d'observabilité

Objectifs transversaux :

  • Mise en pratique de bonnes pratiques de dev (git, ssh, tests, etc.) et prise en main du « cloud ».

Programme

Introduction

  • Présentation de l'API

  • Introduction aux données géographiques

Partie I : DevOps · lundi et mardi matin · Objectif : développer un outil Python de traitement de données correctement packagé et distribué

  • Setup d'un environnement

  • Bonnes pratiques de dev en python

  • Bonne pratiques de dev d'algo scientifique

  • Packaging, build & publish

Partie II : Data engineering · mardi après-midi, mercredi, jeudi · Objectif : se familiariser avec le traitement de la donnée, notamment en haute volumétrie

  • Traitement en Streaming

  • Deep dive sur PostgreSQL (index, query plan...)

  • Map / Reduce & Spark

  • Découverte de Dagster

Partie III : Projet · vendredi · Objectif: consolider les acquis par une mise-en-œuvre sous forme de projet

Évaluation

  • Challenges matinaux

  • Projet sur le dernier jour

Inter-semestre

E23

Période

03/07-07/07

Capacité d'accueil

40

Lieu de déroulement

À l'UTC, en présentiel.

ECTS

2

Temps de travail étudiant

Travail demandé pendant l'Api : 50h

Travail demandé avant la semaine Api : Une activité de mise à niveau sur les fondamentaux (Linux, SSH, Git, Python) sera à effectuer individuellement d'une durée de quelques heures à une demie-journée pour les moins initiés. Les encadrants seront disponibles en ligne pour toute question ou blocage sur le canal Mattermost dédié. Cette activité est indispensable et vise à aborder la semaine avec une base commune de compétences.