Ajoute les exercices initiaux


Une fois que tu as implémenté l'exercice hello-world, la tâche suivante consiste à implémenter 20 autres exercices ou plus.

Types d'exercices

Il existe deux types d'exercices que tu peux implémenter :

  • Exercices d'apprentissage : ils sont conçus pour enseigner un ou plusieurs concepts à un apprenant. Consulte la documentation pour plus d'informations.
  • Exercices d'entraînement : ils sont conçus pour mettre en pratique les concepts appris. Consulte la documentation pour plus d'informations.

En général, on recommande aux nouveaux parcours de commencer par implémenter des exercices d'entraînement, car ils sont plus simples à mettre en place et demandent moins de réflexion en amont. Les exercices d'apprentissage peuvent toujours être ajoutés plus tard, une fois que ton parcours fonctionne correctement.

Choisis les exercices

Pour aider les parcours à implémenter des exercices d'entraînement, on a créé le dépôt exercism/problem-specifications. Ce dépôt contient les métadonnées de plus de 100 exercices d'entraînement, que les différents parcours peuvent ensuite utiliser pour implémenter leur propre version de ces exercices. C'est pourquoi tu verras les mêmes exercices implémentés dans de nombreux parcours différents.

Alors, comment sélectionner les 20 ou plus dans cette liste de plus de 100 exercices ? Voici quelques recommandations.

Sélectionne des exercices qui font travailler une grande variété de concepts

Les concepts utilisés dans ces plus de 100 exercices sont très variés. Cherche à implémenter des exercices qui amènent les apprenants à travailler une grande variété de concepts. Ainsi, plutôt que d'implémenter 20 exercices qui portent tous sur les strings, essaie d'implémenter des exercices qui portent sur des concepts différents.

Voici quelques concepts avec des exemples d'exercices :

Concepts Exercices
Manipulation de bits allergies, secret-handshake
Booléens leap
Classes circular-buffer, robot-name
Concurrence bank-account
Conditions raindrops
Dates et heures gigasecond, meetup
Égalité clock
Nombres à virgule flottante darts, space-age
Évaluation paresseuse alphametics, zebra-puzzle
Listes resistor-color, spiral-matrix
Boucles collatz-conjecture, protein-translation
Dictionnaires nucleotide-count
Nombres leap, grains
Aléatoire dnd-character, robot-name
Strings bob, isogram,
Arbres binary-search-tree, pov

Sélectionne des exercices de difficulté variée

Certains exercices seront plus difficiles à implémenter que d'autres. Cherche à implémenter des exercices de difficulté variée : quelques-uns faciles, quelques-uns intermédiaires et quelques-uns difficiles.

La difficulté d'un exercice dépend de plusieurs facteurs, comme les concepts mobilisés et le langage de ton parcours. Il peut être utile de regarder à quoi ressemble l'exercice dans d'autres parcours qui l'ont implémenté, pour mieux te faire une idée de ce à quoi l'implémentation pourrait ressembler.

Voici quelques exemples de difficultés d'exercices :

Sélectionne des exercices adaptés à ton parcours

Tous les exercices ne conviendront pas à ton parcours. Ne sélectionne que les exercices qui lui correspondent ; mieux vaut ne pas implémenter un exercice que d'en implémenter un qui n'a pas de sens. Par exemple, l'exercice lens-person amène l'apprenant à travailler avec des lenses, que beaucoup de langages ne prennent pas en charge.

Si tu trouves un exercice qui ne correspond pas à ton parcours, tu peux ajouter son slug au tableau exercises.foregone du fichier config.json du parcours. Cela garantit que l'outillage ignorera cet exercice.

Exemple de programme

Pour rendre tout cela un peu plus concret, voici à quoi pourrait ressembler une sélection d'exercices initiaux :

Exercice Difficulté Concepts
hello-world Facile Aucun (exercice initial)
leap Facile Nombres, Booléens
gigasecond Facile Dates et heures
isogram Facile Strings
resistor-color Facile Listes
nucleotide-count Facile Dictionnaires
collatz-conjecture Facile Boucles
darts Facile Nombres à virgule flottante
two-fer Facile Formatage de chaînes, Arguments optionnels
high-scores Facile Traitement de collections
raindrops Intermédiaire Conditions
bob Intermédiaire Strings
allergies Intermédiaire Manipulation de bits
series Intermédiaire Exceptions
circular-buffer Intermédiaire Classes
meetup Intermédiaire Dates et heures
yacht Intermédiaire Listes
dominoes Difficile Tuples, Évaluation paresseuse
diamond Difficile Formatage de chaînes
alphametics Difficile Évaluation paresseuse
forth Difficile Analyse syntaxique

Implémente les exercices

Une fois que tu as sélectionné les exercices que tu veux inclure dans ton parcours, l'étape suivante consiste à les implémenter. La documentation sur l'ajout d'un exercice d'entraînement explique en détail comment ajouter un exercice d'entraînement.