Analyse sémantique et vérification de types d'un langage de configuration de mission
Aperçu
En quoi consiste ce défi.
Construisez une table des symboles, résolvez les références et vérifiez les types d’un langage de mission embarqué. Obtenez un certificat vérifiable.
Le brief
Ce que vous ferez, et ce que vous démontrerez.
Comment détecter, avant exécution, les incohérences de sens d'un programme (noms non déclarés, types incompatibles, références invalides) au-delà de la simple correction grammaticale ?
Earning criteria — what you'll demonstrate
- Construire une table des symboles avec gestion correcte des portées et de la résolution de noms
- Implémenter des règles de typage et détecter les incompatibilités sur un AST existant
- Produire des diagnostics sémantiques précis en distinguant erreurs et avertissements
- Lire et étendre un module de compilateur existant sans le réécrire
- Documenter les choix de conception via un enregistrement de décision d'architecture (ADR)
Adéquation au programme
Où cela s'inscrit dans votre cursus.
Renforce les mêmes compétences que celles attendues par votre diplôme.
Cursus associés bientôt disponibles.
Compétences
Les compétences que vous démontrerez.
Chacune apparaît sur votre certificat vérifié.
Débouchés
Les métiers auxquels ce défi vous prépare.
De vrais intitulés. De vraies passerelles de compétences. Choisissez celui qui se rapproche le plus de votre trajectoire.
Les parcours de carrière que ce défi construit
Métiers de référenceStatic Analysis Engineer
Détecter des variables non déclarées et des incompatibilités de types sans exécuter le code est exactement le métier de l'analyse statique. Ce défi vous fait construire une table des symboles et un vérificateur de types, socle des outils qui repèrent les défauts avant exécution.
Ce défi renforce
- semantic-analysis
- type-checking
- symbol-tables
Embedded Software Engineer
Configurer des calculateurs embarqués exige d'attraper les erreurs très tôt. Vous apprenez à raisonner sur la correction d'un langage de configuration critique et à étendre un composant existant, compétences directement utiles dans le logiciel embarqué avionique.
Ce défi renforce
- semantic-analysis
- code-reading
- type-checking
Quality Engineer
Construire une suite de tests couvrant chaque catégorie d'erreur et mesurer la couverture est le quotidien de l'assurance qualité. Ce défi vous entraîne à spécifier le comportement attendu puis à le vérifier systématiquement.
Ce défi renforce
- coverage-reports
- code-reading
- symbol-tables
Systems Engineer
Étendre un système existant en documentant ses décisions d'architecture prépare au rôle d'ingénieur systèmes, où l'on fait évoluer des composants interdépendants tout en gardant la cohérence globale.
Ce défi renforce
- architecture-decision-records-adrs
- code-reading
- semantic-analysis