En S3, mon rang 4/78 traduit une maîtrise solide portée par le développement web (18.25) et l'analyse (18.00). En S4, ma moyenne reste honorable (rang 8/41) mais quelques ressources ont pesé : R4.04 Méthodes d'optimisation (13.95 — bon QCM à 18.42 mais CT décevant à 11.75) et R4.A.12 Automates (11.24 — 10 au CT). Ces deux matières théoriques sont mes axes d'amélioration les plus clairement identifiés ; la compréhension des concepts est là, mais leur restitution sous pression reste à consolider.

image.png

image.png

🚀 Preuves “ressources”

▶︎ R3.02 — Développement efficace · 15.11/20

Structures de données avancées en Java avec Maven : listes chaînées, tables de hachage, arbres binaires — implémentées from scratch avec invariants, contrats de programmation et tests unitaires systématiques. Le CC à 18.43 reflète une maîtrise pratique excellente ; le CT à 14 montre encore une marge sur la restitution théorique sous pression.

R4.04 — Méthodes d'optimisation · 13.95/20

(QCM : 18.42 — CT : 11.75)

Cette ressource de mathématiques appliquées m'a permis d'aborder l'optimisation continue et discrète sous un angle analytique. J'y ai étudié l'interpolation de Lagrange pour l'approximation de fonctions, le calcul de dérivées partielles pour optimiser des fonctions de plusieurs variables, ainsi que les fondements mathématiques sous-jacents aux réseaux de neurones (optimisation de fonctions de coût).

R4.A.12 — Automates · 11.24/20

(CC : 13.75 — CT : 10.00)

Modélisation formelle de systèmes sous forme d'automates finis (déterministes ou non) et de grammaires régulières. Bien que le contrôle terminal ait été difficile (note de 10), cette matière a structuré ma façon de concevoir des parsers et d'analyser des flux de données complexes, un atout précieux pour décomposer des scripts obfusqués en alternance.

R3.09 — Cryptographie · 12.50/20

(QCM1 : 11 — QCM2 : 20 — CT : 11)

Étude des algorithmes de chiffrement symétrique et asymétrique (RSA). L'optimisation se traduit ici par la recherche du meilleur compromis entre sécurité et vitesse d'exécution pour la protection des données sensibles.

🚀 Apprentissages critiques

AC22.01 — Choisir des structures de données complexes adaptées au problème

En R3.02 (Développement efficace, 15.11/20), j'ai réimplémenté from scratch des structures fondamentales en Java : listes chaînées simples et doublement chaînées, tables de hachage avec gestion des collisions, arbres binaires de recherche équilibrés. L'objectif n'était pas seulement de les faire fonctionner, mais de raisonner sur leurs invariants, leur complexité en temps et en espace (O(1), O(log n), O(n)), et de choisir la bonne structure selon le problème. Le CC à 18.43 reflète cette maîtrise pratique.

En R4.A.10 (Complément web, 17/20), ma TodoApp implémente un système de filtres et de tri multi-critères côté client. Le choix de stocker les tâches dans une structure indexée plutôt qu'une liste brute conditionne directement la réactivité de l'interface lors du filtrage dynamique.