Apprendre l’algorithmique : cas d’étude d’un algorithme

Vous apprenez à programmer et vous cherchez à développer vos compétences en algorithmique ? C’est très bien car la création d’algorithmes est le cœur du métier de développeur.

Objectif de cet article

Dans ce billet vous allez apprendre à concevoir un algorithme à partir de zéro.

Vous allez suivre mon raisonnement de A à Z pour résoudre un exercice moyennement difficile : l’exercice 3 de la saison 15 de la BattleDev, un concours de programmation.

Au travers de cet exemple très concret, vous apprendrez à penser comme un développeur en étant en quelque sorte dans mon cerveau pendant que je résous l’exercice.

L’objectif est d’utiliser un cas pratique comme exemple pour illustrer les différentes phases théoriques de la construction d’un algorithme.

Je vais vous enseigner une méthode simple et structurée que vous pourrez appliquer à n’importe quel problème algorithmique pour le résoudre.

Dès maintenant, vous pouvez télécharger tous les algorithmes et leur implémentation en JavaScript (fichier ZIP) qu’on va créer dans ce billet pour les modifier à votre guise.

Notez que j’ai utilisé des instructions de base (boucles classiques, affectations simples etc.) pour l’implémentation en JavaScript car cet article s’adresse aux débutants en programmation.

Je veux montrer que même avec les outils de base du langage on peut déjà résoudre des exercices complexes. Vous ne trouverez donc pas de destructuring, de fonctions fléchées, ni de map(), filter(), reduce() et autres joyeusetés dans mon code, c’est fait exprès !

Merci donc de vous abstenir de me dire que je peux rédiger mon code de façon plus concise et plus moderne, je le sais ! Mais ce n’est pas l’objectif ici 😘.

Si vous voulez aller plus loin, je vous invite à suivre le module algorithmique de ma formation JavaScript. Vous y apprendrez à rédiger du pseudo-code pour structurer votre pensée et résoudre des problèmes de plus en plus complexes. Rassurez-vous on commencera avec des problèmes bien plus faciles que celui que je vous présente ici !

Les points-virgules en JavaScript : le guide définitif

C’est une des questions que les débutants posent régulièrement après avoir lu du code JavaScript sans point-virgule à la fin des lignes.

Est-ce que les points-virgules en JavaScript sont obligatoires ?

J’ai décidé de créer un guide définitif pour répondre à cette question une bonne fois pour toute de façon claire, précise et documentée. Si on vous pose la question, vous n’aurez qu’à donner le lien vers ce guide !

Note : je n’ai rien contre les développeurs qui n’utilisent pas les points-virgules, chacun est libre de faire ce qu’il veut. Mais ne véhiculez pas de fausses informations sur leur utilité ou non, merci.

Pour ceux qui se demandent, en JavaScript je code avec les points-virgules par réflexe (car j’ai longtemps codé en C et Java). Et dans ma formation JavaScript, j’ai fait le choix d’utiliser les points-virgules pour les raisons que j’explique en vidéo ici.

Quel langage de programmation choisir en 2019 ?

Il existe beaucoup de langages de programmation… tellement à vrai dire, qu’il en existe au moins un pour chaque lettre de l’alphabet !

Les plus connus sont le JavaScript, Java, Python, C#, PHP, C, C++, Ruby, Swift et l’Objective-C.

Quand on est débutant il est difficile de choisir son premier langage. On a peur de « prendre le mauvais ».

Dans cet article je vais vous expliquer les critères à prendre en compte pour choisir son premier langage quand on est débutant en programmation.

Enfin, vous découvrirez pourquoi je conseille d’apprendre le JavaScript comme premier langage de programmation.

Vidéo complémentaire à cet article

Introduction

Vous êtes débutant et vous vous posez la toute première question que tous les débutants se posent : quel langage de programmation choisir pour apprendre à programmer ?

Deux possibilités :

  1. Soit vous savez déjà ce que vous voulez programmer : une application mobile, un site web, un jeu vidéo, une application de bureau etc.
  2. Soit vous ne savez pas trop… mais vous savez que vous voulez apprendre à programmer !

Dans les deux cas, les prochains critères sont applicables.

Manifeste pour l’enseignement du JavaScript

J’ai un unique but :

Aider les gens n’ayant aucune expérience en programmation et qui souhaitent changer de métier à apprendre le JavaScript et à se faire embaucher en tant que développeur le plus vite possible.

Pour atteindre cet objectif :

  • Je suis en train de créer JavaScript de Zéro : une formation vidéo en ligne qui vous apprendra suffisamment de JavaScript pour être embauché rapidement. Vous êtes en train de lire le manifeste de cette formation.
  • Je publie chaque vendredi sur YouTube une nouvelle leçon en vidéo sur JavaScript.
  • Je tweete des liens et des bouts de code utiles pour améliorer votre productivité en JavaScript.

Pourquoi créer une formation vidéo sur JavaScript alors qu’il en existe déjà beaucoup ?

Parce que celles qui existent déjà n’enseignent pas certains points cruciaux

Les concepts en premier, la syntaxe en second

Toutes les formations pour débutants focalisent sur l’enseignement de la syntaxe JavaScript avant de vous expliquer les concepts de programmation sous-jacents. Quelle approche compliquée pour les débutants !

J’utiliserai des animations graphiques pour expliquer en Français clair et sans utiliser de code les concepts de programmation dans un premier temps. Ensuite seulement, vous apprendrez comment appliquer ces concepts en utilisant le langage JavaScript.

Comment résoudre les bogues par soi-même

C’est LA compétence la plus importante à acquérir pour un développeur professionnel. Et pourtant, la plupart des formations (pour ne pas dire toutes) n’enseignent jamais comment résoudre les bogues, interpréter les messages d’erreur, utiliser le débogueur ou chercher sur Google des réponses.

Malheureusement pour vous, c’est 90% du travail d’un développeur !