Niveau d'étude
Bac +4
ECTS
6 crédits
Composante
Sciences Fondamentales et Appliquées
Période de l'année
Semestre 7
Description
La mise en œuvre de solutions logicielles liées à des problèmes d'analyse de données, de communication desdites données ou encore d'acquisition repose de plus en plus souvent sur l'utilisation et le déploiement de kits de développement (SDK : Software Development Kits) ou bibliothèques. Une bibliothèque est un ensemble de fonctions, regroupées et mises à disposition afin de pouvoir être utilisées sans avoir à les réécrire. Nous explorons dans ce module, d’une part, les pratiques techniques de développement associées à leur utilisation en abordant plus généralement tout un ensemble de solutions de gestion du cycle de vie d’un logiciel, et les pratiques de gestion de projet agiles associées.
Objectifs
La mise en œuvre et le déploiement de solutions logicielles liées à des problèmes d'analyse de données, de communication desdites données ou encore d'acquisition repose de plus en plus souvent sur l'utilisation de SDK (Software Development Kits).
Ce module satisfait un besoin technique (et organisationnel) lié aux modules S1 Analyse de données, S1 Systèmes embarqués, S1 Acquisition capteur et images, S2 Techno sans fil, S2 Réseau et sécurité, S2 Apprentissage supervisé, S2 Systèmes embarqués communicants, S3 Machine Learning et S3 Computer Vision.
Au-delà de la maîtrise d'un langage ou d'un environnement (C++, Python, Matlab, etc.), il sensibilise les étudiants de façon plus générale à l'utilisation de briques existantes, aux bonnes pratiques de développement ainsi qu’à la gestion agile d’un projet de type informatique.
Heures d'enseignement
- CMCM12h
- TPTP20h
- TDTD6h
- P-ProjPédagogie par projet12h
Pré-requis obligatoires
Programmation et algorithmique de niveau licence scientifique.
Compétences visées
Réaliser un logiciel de calcul numérique par assemblage de briques existantes.
Concevoir un protocole et des données test pour valider une solution logicielle.
Maîtriser les notions et outils fondamentaux en génie logiciel.
Maîtriser la programmation orientée-objet