Yinoussa Adagolodjo

GR-712302 Programmation

Concepts avancés de programmation pour l'ingénierie

💻 GR-712302 Programmation

Concepts avancés de programmation pour l'ingénierie

🎓 Niveau Graduate ⏱️ 20h TP 🎯 Programmation avancée 🔧 Travaux Pratiques
📋

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

🏗️
Programmation orientée objet

Maîtrise des concepts OOP, héritage, polymorphisme, encapsulation

🗃️
Structures de données

Listes, arbres, graphes, algorithmes de tri et recherche

⚙️
Génie logiciel

Cycle de développement, gestion de versions, tests unitaires

Design patterns Architecture logicielle Multi-threading Optimisation APIs REST Microservices
🎯

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

TP 1-2

Patterns de conception

Singleton, Factory, Observer, Strategy - Implémentation et applications pratiques.
TP 3-4

Architecture et SOLID

Principes SOLID, architecture hexagonale, injection de dépendances.
TP 5-6

Programmation concurrente

Multi-threading, synchronisation, patterns concurrents, async/await.
TP 7-8

APIs et services web

REST APIs, authentification, sérialisation, documentation automatique.
TP 9-10

Projet intégré

Développement d'une application complète intégrant tous les concepts vus.
📊

Modalités d'évaluation

60%
Note de rapport
Projet final, qualité du code, documentation, respect des bonnes pratiques.
40%
Note de Classe
Participation active, qualité des implémentations, progression dans les TPs.
📚

Ressources et outils

🛠️

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
📞

Contact & encadrement

👨‍🏫 Responsable du cours : Dr. Yinoussa Adagolodjo
✉️ Email : Remplir formulaire de contact sur la page d'accueil
🏢 Bureau : Bâtiment Polytech, Université de Lille
Permanence : Sur rendez-vous (contact par email)