Cette compétence consiste à améliorer un code en le rendant plus efficace et en choisissant les meilleures options qui s'offrent à nous.
Contexte : Projet issu d'une SAE où nous avons dû créer un jeu de plateforme à partir des contraintes données par les professeurs.
Technologies utilisées : Java
Fonctionnalités principales :
Apprentissages : J'ai appris à raisonner et à choisir des méthodes qui me semblaient les plus optimisées. J'ai aussi appris à choisir les meilleures méthodes pour que le code soit efficace.
Contexte : Nous avons dû tester différents types de tris dans certaines conditions afin de voir lequel était le plus rapide.
Langage utilisé : Java
Fonctionnalités principales :
Apprentissages : J'ai appris qu'il existait plusieurs méthodes différentes pour trier un tableau, et que la meilleure façon de trier dépend des conditions et de la taille des tableaux.
Je suis capable d’analyser un problème de manière structurée. Par exemple, pour le projet sur les tris, j’ai identifié les critères de performance importants (temps d’exécution, complexité, cas optimaux et pessimaux), ce qui m’a permis de mieux comprendre les enjeux d’optimisation.
J’ai comparé différents algorithmes et recensé les structures de données usuelles pour choisir les solutions les plus efficaces selon le contexte. Effectivement, lors du projet n°2, nous avons vu différents algorithmes de tri dans un contexte particulier. Nous avons dû effectuer des tris de tableaux de différentes tailles et en conclure lequel était le plus adapté.
En cours d'apprentissage.
Je m’appuie sur les diagrammes UML que nous avons vus en cours pour concevoir une application.
Il s'agit du diagramme UML du projet n°2.
Je justifie mes choix de conception et je valide les résultats obtenus par des tests et des analyses. Durant le projet n°2, nous avons dû effectuer des tests afin de valider nos hypothèses et en tirer une conclusion.