Si vous souhaitez améliorer vos compétences dans un langage de programmation existant ou nouveau, l'une des meilleures façons de le faire est de relever des défis de codage.
Un grand nombre de plateformes et de sites web sont devenus disponibles au fil des ans, offrant des défis passionnants aux codeurs de tous niveaux. Qu'il s'agisse d'un nouvelle langue que vous essayiez d'apprendre ou que vous souhaitiez tester votre intelligence dans des situations stressantes - les défis de codage peuvent être à la fois amusants et éprouvants.
Outre les avantages évidents, le travail sur ces défis permet d'améliorer les compétences en matière de résolution de problèmes, d'approfondir la compréhension de la langue et de découvrir de nouveaux algorithmes. Comme vous le savez, Les algorithmes ne sont pas rares au cours du processus d'embauche - Il est donc possible que le fait d'avoir quelques dents dans le jeu vous donne une longueur d'avance.
Cet article présente quelques-uns des meilleurs sites et plateformes de défis de codage qui existent. Certains s'adressent aux débutants, d'autres à un public plus expérimenté. Nous ajoutons également des activités que vous pouvez montrer à vos enfants depuis que le site a été mis en ligne. codage adapté aux enfants est également devenu très populaire.
Edabit
La façon la plus simple d'apprendre de nouvelles choses est d'avoir une interaction constante avec la chose que vous essayez d'apprendre. C'est également le cas pour la programmation. Lire les meilleurs livres ne vous apportera aucune connaissance si vous ne mettez pas les écrits en pratique.

Edabit est une plateforme établie qui propose des défis de codage de taille réduite, qui peuvent rapidement améliorer vos capacités de codage.
CodinGame
Les jeux en tant que plateformes d'apprentissage ne sont pas tout à fait nouveaux, mais il semble qu'il y ait aujourd'hui beaucoup plus d'acteurs dans ce domaine. CodinGame n'est qu'une des nombreuses plateformes qui proposent des défis de programmation par le biais d'une expérience ludique. Plutôt que d'écrire du code, vous construisez un environnement de jeu. Tout le code que vous écrivez, d'une certaine manière, affecte le déroulement du "jeu".

Avec le recul, des plateformes telles que CodinGame peuvent aider les développeurs technologiques à comprendre la relation de cause à effet. Et comment certaines décisions conduisent à des résultats spécifiques.
Il ne s'agit pas d'un de ces sites bon marché où l'on écrit un code JavaScript bâclé. CodinGame fait appel à des algorithmes de haut niveau et compte d'innombrables codeurs de classe mondiale qui aident à fournir des solutions aux développeurs débutants et chevronnés.
HackerRank
HackerRank est une startup qui propose des défis de codage aux particuliers et aux organisations. En fonction du défi, vous recevrez le plus souvent des instructions pour un projet à réaliser, et vous serez libre de choisir la manière dont vous le réaliserez.
Actuellement, les développeurs peuvent utiliser Java, Python, JavaScript, PHP, C++ et SQL pour résoudre les problèmes posés.

Chaque fois que vous soumettez vos solutions, la plateforme vous attribue automatiquement un score basé sur des facteurs tels que la précision. Ensuite, vous êtes placé dans le classement mondial, tout en obtenant des réalisations (badges) en cours de route. Il existe également des "sprints", qui sont un autre terme pour désigner les concours organisés par la plateforme.
House of Codes a rédigé un article passionnant décrivant les 50 premiers défis trouvés dans Hacker Rank. Si vous êtes curieux, c'est un livre qui vaut la peine d'être lu, avec une tonne d'exemples et de matériel.
Coderbyte
Coderbyte est une application unique basée sur des pratiques de programmation modernes. Sa principale caractéristique est de proposer des défis de codage, qui ont aidé des millions de personnes à travers le monde à devenir de meilleurs développeurs. Contrairement à d'autres applications similaires sur le marché, Coderbyte a pour mission d'aider les gens à s'attaquer aux problèmes de l'industrie.

L'un des avantages de l'utilisation de cette plateforme est qu'elle collabore avec certaines des plus grandes marques de logiciels. Par exemple, Google, LogMeIn, HBO, PWC et bien d'autres. Si vous souhaitez un jour décrocher un emploi dans ces entreprises, soyez assuré que Coderbyte peut vous proposer les défis nécessaires pour tester vos compétences.
Une fois inscrit, vous pouvez choisir parmi les défis et les algorithmes. Il existe des centaines de milliers de solutions proposées par les utilisateurs, ce qui peut vous aider à acquérir une compréhension beaucoup plus large de sujets de programmation spécifiques.
Les organisations peuvent s'inscrire et gérer leur processus de sélection. En devenant une organisation enregistrée, vous aurez accès à des outils supplémentaires qui vous aideront à sélectionner chaque développeur individuellement.
Codewars
L'intérêt d'une pratique cohérente du codage est que l'on trouve toujours de nouvelles façons de résoudre les problèmes. Codewars capitalise sur cette idée. Basée sur les "katas", la plateforme propose des exercices et des défis dans une grande variété de langues.
En effectuant les exercices, vous pouvez marquer des points mais aussi vérifier comment d'autres programmeurs ont résolu un problème spécifique.

Si vous avez l'intention de pratiquer une nouvelle langue, Codewars est un site exceptionnel à ajouter à vos signets.
Voici certains des langues prises en charge :
- Clojure
- Rouille
- Swift
- Python
- Haskell
- Coquille
- JavaScript
- PHP
- Kotlin
- Scala
Et beaucoup d'autres langues sont dans le programme BETA, disponibles mais avec des goulets d'étranglement potentiels.

Fondamentalement, Edabit veut fournir une plateforme qui peut combler le fossé entre les débutants et les codeurs avancés. Vous pouvez consulter le site Feuille de route pour consulter la liste complète des fonctionnalités.
HackerEarth
HackerEarth est une plateforme bien connue qui organise des hackathons, des défis de codage et différents types de concours.

C'est aussi un endroit où vous pouvez acquérir des connaissances intéressantes sur le processus d'embauche dans les entreprises modernes. Pas tous, mais une bonne partie des défis trouvés dans la base de données de HackerEarth peuvent finir par être demandés lors de vos futurs entretiens d'embauche.

Comment cela est-il possible ? Principalement parce que la véritable activité de HackerEarth consiste à fournir des solutions de recrutement à des entreprises technologiques de premier plan. Si vous voulez être considéré comme le meilleur, vous devez fréquenter les meilleurs. C'est une situation gagnant-gagnant pour vous.
Programme
Programmr est un laboratoire numérique dynamique destiné aux développeurs de tous niveaux. Avec ProgrammeGrâce à la plateforme de développement de logiciels, vous pouvez écrire du code, le compiler et exécuter des projets directement à partir de votre navigateur. La plateforme prend en charge tous les principaux langages utilisés aujourd'hui. Qu'il s'agisse d'une application mobile ou d'une structure de base de données que vous souhaitez exécuter, Programmr a les moyens de le faire.

Du côté des défis, Programmr propose un ensemble personnalisé de défis pour Java, C++, PHP, C#, Ruby, Python et iOS. Chaque ensemble comprend plus de 100 défis, qui peuvent être triés en fonction de leur popularité (basée sur les votes des utilisateurs) et d'autres facteurs.
Ce qui les distingue des autres, c'est que vous pouvez utiliser vos nouvelles expériences pour obtenir un retour d'information instantané, qu'il s'agisse d'un certificat pour une langue spécifique ou d'un simple retour d'information de la part d'utilisateurs existants.
Le train du codage
Daniel Shiffman est une armée d'une seule personne qui crée et produit du matériel de qualité sur la programmation. Le train du codage est la plateforme personnelle de Daniels sur YouTube, où il partage des vidéos passionnantes et utiles pour résoudre des problèmes liés à la programmation.

Mais son approche est intéressante. Plutôt que de tout héberger sur son site web, il utilise YouTube comme plateforme pour le défi, et son site web comme plateforme pour la solution.
Gardez à l'esprit que ses défis sont basés sur P5.js et Traitement - deux solutions populaires utilisées dans l'art et la conception graphique.
Défis Wolfram
Wolfram est l'une des entreprises les plus connues au monde dans le domaine de l'informatique. Leur plateforme a laissé beaucoup de gens bouche bée par ses possibilités.

Bien que nous ne nous concentrions pas sur Wolfram Alpha, une nouvelle frontière introduite début 2018 - Défis Wolfram.
Il existe de nombreux exemples de défis que l'on peut imaginer et qui impliquent de trouver "la solution la moins coûteuse" ou "la meilleure adaptation". Il en va de même pour les tâches typiques d'apprentissage automatique : trouver une fonction (basée par exemple sur un réseau neuronal) qui donne les meilleurs résultats dans la classification d'un certain ensemble de tests, etc.
Par rapport aux autres sites/plateformes de ce tour d'horizon, Wolfram couvre un large éventail de défis, et pas seulement le codage. En résumé, si vous voulez aiguiser votre esprit critique, c'est la plateforme qu'il vous faut !
LeetCode
LeetCode est un produit, c'est-à-dire qu'il ne s'agit pas simplement d'un site hébergeant des défis aléatoires. Au contraire, LeetCode est un moyen de se préparer aux possibilités futures.

La plateforme propose un apprentissage moderne, des défis complexes et un superbe tableau de bord pour y parvenir.

Il existe également des articles, des forums de discussion et d'autres aspects de la communauté pour encourager une expérience homogène. De nombreux utilisateurs de LeetCode ont été "diplômés" pour travailler dans des entreprises comme Uber, Amazon, Stripe et d'autres.
Codeforces
Codeforces s'adresse à tous les codeurs acharnés et dévoués. Pensez aux ingénieurs logiciels, aux pentesters, aux passionnés d'intelligence artificielle et aux accros de l'apprentissage automatique ! En tant que plateforme pour les programmeurs avancés, Codeforces est connu pour son fameux tableau de classement et son esprit de compétition.

Et il est plus facile que vous ne le pensez de commencer.
Exercisme
Il est formidable de voir les initiatives qui se cachent derrière de nombreuses plates-formes de défis de codage.

Et Exercisme ne fait pas exception. Katrina Owen, la fondatrice, explique que son objectif est "d'aider les gens à apprendre suffisamment de codage [en utilisant Exercism] pour qu'ils puissent trouver un emploi dans le développement".

Au moment où j'écris ces lignes, il y a plus de 2 600 exercices dans 48 langues - tous gratuits ! Avez-vous eu l'intention de apprendre Kotlinou peut-être s'orienter davantage dans Vim? C'est l'occasion pour vous de acquérir de nouvelles compétences à travers des défis intéressants !
Codier
Aussi surprenant que cela puisse paraître à certains d'entre vous, il y a encore du codage dans le développement frontal !

Les défis ici sont principalement mis en commun par les utilisateurs. Par exemple, quelqu'un peut publier une "carte de conception matérielle" et vous mettre au défi de l'améliorer ou de créer une variante similaire.

Le résultat est votre capacité à faire naître des idées créatives. Il est également agréable de voir comment d'autres personnes s'attaquent à des problèmes similaires en temps réel. Vous pouvez toujours réutiliser le code soumis par d'autres dans vos projets.
Flexbox Froggy
En parlant de front-end, où en est votre compréhension de Flexbox ? Il est toujours agréable de se faire rafraîchir la mémoire pour rester au point !

Flexbox Froggy est un petit jeu sympathique qui vous emmène à travers 28 étapes d'utilisations et d'alignements Flexbox différents. Il s'agit peut-être moins d'un défi que d'un rappel, mais pouvez-vous franchir tous les niveaux sans chercher de réponses ?
Jardin en grille est un jeu très similaire ; la seule différence est que vous travaillez avec la fonction Grid et non Flex.
PyBites
Python est largement reconnu comme le langage le plus simple à apprendre. Il est souvent recommandé aux nouveaux programmeurs de l'explorer en premier. Mais ne laissez pas cela vous décourager de croire en la capacité de Python.

Aujourd'hui, beaucoup de apprentissage automatique et la génération d'ensembles de données se fait exclusivement avec Python - et ce n'est pas rien !

PyBites vous permet de vous tenir au courant des derniers événements. Des articles, des défis de codage et d'autres éléments essentiels pour vous aider à aiguiser votre esprit. Chaque défi comprend un suivi sous forme d'examen, qui vous permet de comparer votre code et d'explorer la bonne façon de résoudre un problème.
CodeCombat
CodeCombat est un autre jeu de codage qui offre un environnement de codage dynamique et stimulant. La différence entre un produit comme CodinGame est que CodeCombat se concentre sur les enseignants. Vous pouvez donc utiliser cette plateforme pour enseigner la programmation et la résolution de problèmes au niveau de l'école.

Il existe des outils, du matériel et d'autres ressources spécialement conçus à cette fin. Et c'est aussi très amusant. Les jeux CodeCombat que vous construisez sont à la fois intéressants et visuellement impressionnants. Et les jeux sont déjà très populaires chez les enfants. En leur donnant le défi de développer leur environnement virtuel, on peut les inciter à construire quelque chose d'extraordinaire à l'avenir !
Tynker
Comme nous l'avons brièvement mentionné dans l'introduction, nous avons quelque chose pour tous les parents. Tynker est une petite plateforme amusante qui permet d'enseigner le codage aux enfants. Elle est basée sur une interface très simple de type "glisser-déposer" où les enfants peuvent choisir entre plusieurs options et espérer résoudre les problèmes présentés.

Et ne vous y trompez pas non plus, Tynker est adapté aux normes modernes plus que vous ne le pensez. Si vous avez des enfants qui entrent dans l'adolescence, vous pouvez les laisser écrire des solutions à l'aide de Python ou de JavaScript plutôt que d'utiliser uniquement des blocs.
Mot de la fin : Lancez-vous des défis !
Au total, il y a probablement 10 000 défis de code uniques sur tous les sites et plateformes que nous avons répertoriés. Il est impossible d'en venir à bout comme ça.
Je vous recommande plutôt de trouver la plateforme qui vous semble la mieux adaptée à vos besoins et de vous concentrer sur cette seule plateforme. Vous pourrez nouer des amitiés, apprendre de nouvelles choses et, qui sait, vous en apprendrez peut-être assez pour décrocher un nouvel emploi dans une entreprise très bien rémunérée !
Vous pouvez également envisager DataCamp pour apprendre la science des données, qui comprend des défis et des projets de codage.
Ensuite, pourquoi ne pas chercher à savoir comment écrire des commentaires en Python?