GR-712302 Programmation
Concepts avancés de programmation pour l'ingénierie
💻 GR-712302 Programmation
Concepts avancés de programmation pour l'ingénierie
Présentation du cours
Ce cours de travaux pratiques explore les concepts avancés de programmation appliqués aux domaines de l'ingénierie. Les étudiants approfondissent leurs compétences en développement logiciel avec un focus sur les architectures modernes, les patterns de design, et les techniques d'optimisation. Une approche pratique intégrant les dernières technologies prépare aux défis de l'ingénierie logicielle contemporaine.
📊 Informations générales
Durée : 20h de travaux pratiques
Volume de travail personnel estimé : 30-35 heures
Langue d'enseignement : Français
Évaluation : Note de Classe, Note de rapport
✅ Prérequis
Maîtrise des concepts OOP, héritage, polymorphisme, encapsulation
Listes, arbres, graphes, algorithmes de tri et recherche
Cycle de développement, gestion de versions, tests unitaires
Objectifs pédagogiques
À l'issue de ce cours, les étudiants seront capables de :
🏗️ Concevoir des architectures robustes
Appliquer les principes de l'architecture logicielle et les patterns de conception.
⚡ Optimiser les performances
Implémenter des solutions efficaces, parallélisme et gestion mémoire optimale.
🔗 Développer des APIs modernes
Créer des services web RESTful et implémenter des architectures microservices.
🧪 Intégrer les tests avancés
Mettre en œuvre TDD, mocking, et tests d'intégration dans le cycle de développement.
🛠️ Utiliser des frameworks modernes
Maîtriser les frameworks et bibliothèques contemporains de l'écosystème de développement.
📊 Analyser et déboguer
Profiler les applications, identifier les goulots d'étranglement et résoudre les bugs complexes.
Planning des travaux pratiques
Patterns de conception
Architecture et SOLID
Programmation concurrente
APIs et services web
Projet intégré
Modalités d'évaluation
Ressources et outils
Littérature technique
Outils de développement
- IDEs modernes (IntelliJ, VS Code)
- Git, GitHub/GitLab
- Docker, containerisation
Frameworks utilisés
- Spring Boot, Django/Flask
- React/Vue.js pour les interfaces
- Databases: PostgreSQL, MongoDB