Programmation (03_XDPRG)
- Coefficient : 2
- Volume Horaire: 42h estimées de travail (dont 31.5h EdT)
- Labo : 31.5h encadrées
- Travail personnel hors EdT : 10.5h
- Dont projet : 31.5h encadrées et 10.5h projet personnel
Liste des AATs
Description
- Cet enseignement aborde de manière informelle, par l'expérimentation, quelques concepts de programmation (typage statique, structures de données, notions de valeur et de référence, contrôle de la mutabilité des données...).
- La démarche consiste en la réalisation de mini-projets exploitant le langage Rust.
- Selon l'avancement dans la réalisation, ces mini-projets donnent l'occasion d'exploiter des bibliothèques existantes, d'exploiter des threads, d'exploiter des fichiers, de communiquer par réseau en sérialisant des données et d'étendre un programme interprété en Python par du code natif produit en Rust.
Acquis d'Apprentissage visés (AAv)
AAV1 [heures: 21, C1, D1] : À l'issue de cet enseignement, un étudiant est capable d'écrire un programme simple qui respecte les exigences du langage Rust, en utilisant des fonctionnalités de bibliothèques, à partir d'éléments de documentation et d'exemples préalablement fournis.
AAV2 [heures: 21, C3, D3, D4, F1] : À l'issue de cet enseignement, un étudiant est capable de décrire dans un compte-rendu une démarche informelle de test de sa réalisation, en identifiant les dysfonctionnements, en reportant les performances relevées et en indiquant les ajustements effectués.
Modalités d'évaluation
L'évaluation est individuelle.
Elle repose sur la livraison, pour chaque mini-projet, du code source réalisé et d'un court compte-rendu.
Un tel compte rendu devra indiquer la démarche suivie pour tester le bon fonctionnement à chaque étape de la réalisation, commenter les résultats obtenus, notamment en termes de performances, et expliquer les ajustements effectués.
Mots clés
Programmation, langage Rust, bibliothèques, mini-projets
Pré-requis
Compréhension de consignes et d'explications rédigées en langage naturel.
Notions d'algorithmique élémentaires (variables, instructions/expressions, structures de contrôle, fonctions)
Ressources
https://web.enib.fr/~harrouet/s3prg_rust/
https://web.enib.fr/~harrouet/rust/
https://www.rust-lang.org/learn/