Vous êtes sur la page 1sur 2

Université Mohammed V de Rabat 2021-2022

Ecole Mohammadia d’Ingénieurs


Département Génie Informatique
Filière Génie Informatique et Digitalisation

Fiche de Cadrage : Projet Intégré – 1ère Année – Semestre 1

Descriptif
Ce projet est un projet de programmation qui s’inscrit dans une perspective pédagogique d’apprentissage par
problèmes et par projets, contribuant ainsi à l’acquisition des capacités d’auto-apprentissage et d’autonomie. Il
vise en effet, à impliquer l’élève ingénieur dans son apprentissage et à lui assurer une formation d’ingénierie
axée sur la pratique et favorisant l’esprit de travail par équipe et la gestion de cas réels. Aussi, l’élève ingénieur
est-il amené à mettre en œuvre des connaissances diverses acquises en Programmation, Algorithmique et
Structures de Données, ainsi que Mathématiques de l’ingénieur, pour l’étude, la conception, la définition et la
réalisation de deux applications de calcul scientifique ainsi que de gestion de données, en langage C, Java
et/ou Python. Pour plus de détail, cf. la rubrique Travail à réaliser. Les applications sont réalisées en groupes.

Organisation par Equipes :


15 Equipes de 4 étudiants chacune et 1 Equipe de 3.

Equipe du projet chargée de l’encadrement et de l’évaluation


- Pr. Fatima-Zahra Belouadha, Chef de Filière et Coordonnatrice du projet (belouadha@emi.ac.ma)
- L’équipe pédagogique constituée des enseignants permanents du Département.

Procédure de Validation de Sujets


- Les étudiants s’organisent en groupes de projet et proposent une fiche descriptive d’au moins 1 sujet pour
chacune des deux applications.
- La liste des propositions est transmise à la Cheffe de Filière par le responsable de classe ou via Google Forms.
- Les projets sont ensuite répartis entre les enseignants encadrants.
- L’encadrant valide ou propose des enrichissements des sujets proposés si nécessaire.

Livrables
o Rapport : Il doit comprendre :
- Le problème, l’objectif, les contraintes ou besoins…
- La solution : L’idée, le découpage en fonctions/classes et méthodes, le rôle des fonctions/classes et
méthodes, l’algorithme…
- Le mode d’emploi du programme/Application,
- Le bilan qualitatif du travail : Interfaces, Jeux de test, difficultés rencontrées, etc.
o Fichier zip ou rar : Il doit comprendre les programmes source commenté et exécutable.

Evaluation
L’évaluation se base sur la démonstration (Exposé de démonstration de 30 mn Max) et le rapport rendu.
Elle tiendra compte du respect du descriptif, de l’originalité du travail, de la qualité technique du programme
(découpage en fonctions, instructions, algorithmes, efficacité de la solution, gestion des erreurs…), de la
présentation (indentation du programme, commentaires, nommage, qualité du rendu), du bilan, de la qualité des
résultats et du débat (Interrogation individuelle sur le travail réalisé).
Note du Projet = 50% * Note Rapport + 50% * Note Exposé (Démonstration)
Note Exposé (Démonstration) = 50% * Note Application de Gestion + 50% Note Application de Calcul Scientifique
L’Application de Calcul Scientifique est notée sur 20 points dont 5 points sont accordés si le groupe utilise JAVA.

Durée et Calendrier
Durée : 28 heures
Lundi de la Semaine 3 (midi) : Remise des fiches descriptives de projets à Mme Belouadha.
Mercredi de la Semaine 3 : Démarrage des projets.
Mercredi Semaine 14 : Remise du rapport à l’encadrant et évaluation (tout retard non justifié sera sanctionné).
Pr. Fatima-Zahra BELOUADHA. EMI. Département Génie Informatique. 2021-2022. Page 1 / 2
Travail à Réaliser et Exemples
I. Application de Gestion en C :
Il est demandé de réaliser un programme permettant de gérer un système de réservation d’objets: livres,
cassettes vidéo, chambres d’hôtel, voiture, salles de cours, vélos...). Il faut s’inspirer de l’exemple ci-après et
personnaliser son propre programme.
Exemple : Gestion de Prêts de Livres dans une Bibliothèque.
Le modèle dans cet exemple contiendra les deux structures ADHERENT et LIVRE avec différents champs à
enrichir ou à adapter si nécessaire selon le sujet traité.
typedef struct SAdherent { typedef struct SLivre {
int adh_Index; int liv_Index;
char adh_Nom[CMAX]; char liv_Titre[CMAX];
int adh_NbEmprunts; char liv_Auteur[CMAX];
} Adherent; int liv_Emprunteur;
} Livre;
- adh_Index identifie de manière unique un adhérent. -liv_Index identifie de manière unique un livre.
- liv_Emprunteur contient la valeur adh_Index de l’emprunteur du livre.
- adh_NbEmprunts est le nombre de livres empruntés par un adhérent qui peut emprunter plusieurs livres.
Contraintes de programmation :
Il est demandé d’utiliser des tableaux de structures, enregistrer leurs données dans des fichiers et afficher un
menu d’utilisation du programme. Dans le cas de l’exemple de prêts de livres, il est demandé de :
- Utiliser un tableau de structures Adherent et un tableau de structure Livre.
- Enregistrer les données de ces structures dans deux fichiers, en utilisant fscanf() et fprintf().
- Afficher un menu comme ci-après :
(1) Gestion des adhérents : Ajouter, modifier ou supprimer un adhérent, afficher la liste des adhérents par ordre alphabétique
(2) Gestion des livres : Ajouter, modifier ou supprimer un livre, afficher la liste des livres par ordre alphabétique (titre)
(3) Gestion des emprunts : Emprunter un livre, Rendre un livre, Afficher la liste des livres empruntés, Afficher la liste des emprunteurs
(4) Quitter le programme

II. Application de Calcul Scientifique en C, Python ou de préférence Java (Java est recommandé):
Il est demandé de réaliser un programme permettant de résoudre un problème scientifique. Des exemples de
sujets sont donnés ci-après.
* Maximisation du taux de gain ou minimisation d’un coût
- Méthode du simplexe (méthode mathématique d’analyse numérique).
* Problème du voyageur (ou chemin le plus court) ou de Transport
- Un algorithme de la Théorie des Graphes
* Résolution d'un système linéaire
- Elimination de Gauss et substitution remontante, Algorithme de THOMAS pour les matrices tri
diagonales, Méthode de Jacobi, Méthode de Gauss-Seidel ou Méthode Successive Over-Relaxation.
* Résolution d'un système non linéaire
- Algorithme de Relaxation ou Algorithmes de raffinement itératif utilisant le résidu : LHS - RHS
* Résolution d'équation f(x) = 0
- Méthode du point fixe, Méthode de Newton ou Méthode des parties proportionnelles
* Résolutions numériques des E.D.O. (équations différentielles ordinaires)
- EULER, TAYLOR ou RUNGE-KUTTA 2 et 4.
* Résolutions par DIFFERENCES FINIES des E.D.P.
- elliptique, parabolique et hyperbolique.
- Schémas numériques explicites, implicites et semi implicites : Crank Nicholson
* Approximations au sens des moindres carrées.
* Interpolations polynomiales à l'aide des polynômes de Lagrange et Splines Cubiques.
* Intégrations numériques à l'aide des polynômes d'interpolation et par GAUSS-LEGENDRE.
* Calcul de valeurs propres
- Méthode de la puissance ou Méthode de Jacobi.

NB : La liste des exemples de programmes pouvant être combinés pour constituer une application de calcul
scientifique, n’est pas exhaustive et peut être étendue à d’autres programmes répondant à l’objectif du projet.

Pr. Fatima-Zahra BELOUADHA. EMI. Département Génie Informatique. 2021-2022. Page 2 / 2

Vous aimerez peut-être aussi