Cet enseignement consiste en un projet permettant de sensibiliser les étudiants à un certain nombre de concepts importants de génie logiciel :
Outils de gestion de version
Moteur de production
Tests unitaires
Méthodologie de gestion de projet (méthode agile)
Modularité de code
Sensibilisation à la conception
Compétences à acquérir
Être sensibilisé aux méthodes de pilotage et de réalisation de projets pour le développement informatique.
Comprendre les problématiques liées à l'organisation de projets conséquents.
Utiliser les outils et techniques de gestion de projet informatique : environnement de développement, contrôle de version, automatisation de la production.
Concevoir et implémenter une application/bibliothèque mêlant plusieurs technologies en expliquant les choix de mise en œuvre.
Connaître et respecter les bonnes pratiques à adopter en programmation afin de réaliser des programmes maintenables et exploitables par des tiers.
Langue(s) d'enseignement
Français
Bibliographie
Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin
Clean Architecture: A Craftman's Guide to Software Structure and Design, Robert C. Martin
The Clean Coder: A Code of Conduct for Professional Programmer, Robert C. Martin
Prérequis recommandés
Programmation 2
Modalités d'organisation
Cet enseignement est essentiellement constitué de travaux pratiques en salle machine dédiés à la réalisation d'un projet en équipe de 2 à 4 étudiants.