diff --git a/PLANNING.md b/PLANNING.md index 0257a27308c2bc119e23797a227941b1027e26c4..cd50040d29f83ead6e6440fdf9f44c0e057403da 100644 --- a/PLANNING.md +++ b/PLANNING.md @@ -31,7 +31,7 @@ # Soir -Lundi (17h-21h): Vérification install, et Hello world & part00 à part01 -Mardi (17h-21h): part02 & part03 -Mercredi (17h-21h): part04, part 05 & part 06 +Lundi (17h-21h): Vérification install, intro, part00, part01, part02 +Mardi (17h-21h): part03 & part04 +Mercredi (17h-21h): part 05 & part 06 Jeudi (17h-21h): Gestion d'erreurs, Lambda, Collections & Itérateurs \ No newline at end of file diff --git a/README.md b/README.md index a9030a7ac57813f3894ed6e63b8b2953f79e7743..735cbec1c366e0e117066bd2b3de24eeef1eb9dd 100644 --- a/README.md +++ b/README.md @@ -92,9 +92,10 @@ L'inspiration de ce cours est tirée de trois cours qui ont l'air très bons: Le matériel de cours sera composé de trois composants: -1. Slides avec la théorie et des exemples. -2. Résumés des points importants sur une page. -3. Codes source exécutables de tous les exemples des slides. +1. Slides avec la théorie et des exemples (dans le répertoire `slides`). +2. Codes source exécutable avec des exemples (dans le répertoire `codes`). +3. Discussion des codes (dans le répertoire `book`). +4. Une liste d'exercices (dans le répertoire `exercices`) un peu plus "complexes" que les Rustlings (voir ci-dessous). ## Rustlings diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index db3a86acc42af5cdcbcc65f9db07bf0051860d06..718d00bd83710e40deada98bb6803df45e8ca210 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -2,13 +2,13 @@ [Introduction](introduction.md) -- [Part 00](./part00.md) -- [Part 01](./part01.md) -- [Part 02](./part02.md) -- [Part 03](./part03.md) -- [Part 04](./part04.md) -- [Part 05](./part05.md) -- [Part 06](./part06.md) +- [Les bases du Rust 1](./part00.md) +- [Les bases du Rust 2](./part01.md) +- [Les types avancés](./part02.md) +- [La généricité et des types composés](./part03.md) +- [La propriété](./part04.md) +- [Modules et visibilité](./part05.md) +- [Les petits trucs sympas qui aident au développement](./part06.md) - [Part 07](./part07.md) - [Part 08](./part08.md) - [Part 09](./part09.md) diff --git a/exercises/exercices.md b/exercises/exercices.md new file mode 100644 index 0000000000000000000000000000000000000000..3e88cbd19c291554b8b02122c2ab21e5ecb63bd4 --- /dev/null +++ b/exercises/exercices.md @@ -0,0 +1,30 @@ +# Exercices + +Les exercices que nous proposons ici sont très vagues. L'objectif est de vous donner des thèmes, +de choses que vous connaissez du cours de programmation et d'algorithmique de l'année passée +et de les implémenter un peu comme vous voulez sans contraintes particulières pour +que vous expérimentiez avec le langage (oui vous êtes des grand·e·s maintenant). + +Essayez au maximum d'utiliser les concepts de Rust vus en classe. + +Vous trouverez une liste ci-dessous, avec un degré de difficulté croissant (plus ou moins). +L'idée est d'avancer à votre rythme (ce qui n'est pas équivalent à regarder le plafond +en attendant que ça passe) et vous donner des idées d'exercices devenant plus complexes +au fur et à mesure de votre périple. + +- Le nombre secret: implémenter le jeu du nombre secret qui serait joué par des IAs utilisant des stratégies différentes. +- Calculer pi: avec la méthode des fléchettes. +- Une pile simple: implémenter une pile utilisant un tableau statique comme structure de données. +- Un tri: un tri à bulles, tri à deux piles et/ou un quicksort ça fait l'affaire. +- Couverture de la reine: écrire un code qui permet de trouver pour une position de départ aléatoire toutes les solutions de couverture de la reine pour un tableau 8x8. +- Les fractions: écrire une librairie de fractions en utilisant les trait `Add`, `Sub`, etc. +- Les vecteurs: écrire une librairie de vecteurs en utilisant les trait `Add`, `Sub`, etc. +- Le jeu du pendu: implémenter le jeu du pendu où les mots sont des chaînes de caractères aléatoires et les lettres tirées sont également tirées au hasard. +- Compter différemment: écrire un programme qui permet de compter comme au tennis où chaque joueur gagne un point avec une probabilité donnée. +- Le puissance 4: simulez le jeu du puissance 4. +- Le jeu de la bataille: simulez le jeu de carte de la bataille entre deux machines. + +## Aller plus haut + +- Ascii art: écrire un convertisseur d'image en ASCII art. +- Simulation du système solaire: écrire un simulateur de système solaire. \ No newline at end of file