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 !

Comment apprendre à coder ? (on dit programmer en fait) [+Vidéo]

J’ai mis coder dans le titre parce que les débutants utilisent ce mot dans les moteurs de recherche (coucou le SEO).

Mais le terme le plus approprié est programmer.

Ah oui, et tant qu’on y est, on ne dit pas je suis codeur, mais on dit programmeur, ou plus récemment développeur (et surtout pas programmateur 🤦‍♂️).

Comment apprendre à programmer quand on est débutant ?

J’ai fait une vidéo assez complète sur le sujet et je vais ajouter quelques éléments supplémentaires dans cet article.

D’où viennent toutes ces astuces ? Des étudiants de ma formation JavaScript qui font sans cesse les mêmes erreurs ! Et de mon expérience aussi bien sûr.

Vidéo complémentaire à cet article

Résumé de la vidéo

Si vous ne voulez pas regarder la vidéo ci-dessus voici un petit résumé des conseils que je donne dans celle-ci :

Le prix d’une formation pour devenir développeur web

Tout a commencé par un tweet, le samedi 25 Mai 2019.

Le tout premier tweet, un peu « incisif »

La suite de la conversation a soulevé de nombreux points intéressants concernant le domaine de la formation en ligne dont j’ai envie de parler ici avec le confort de taper plus de 280 caractères par paragraphe.

Voici la conversation complète, dans l’ordre chronologique :

Un peu de contexte avant de commencer

Depuis 2013 je suis entrepreneur, j’ai blogué plusieurs années à propos de mon premier business en ligne, une application Android nommée Hercule.

J’ai l’habitude des critiques, dès que vous commencez à avoir du trafic, il y a forcément des gens qui vont vous détester ou dire que votre app à 9,99 € que vous avez mis 4 ans à développer à plein temps est trop cher.

Ça fait partie du jeu. J’ai l’habitude.

Je ne réponds jamais en m’énervant, ça n’apporte rien. J’ai appris à décorréler la critique de mon travail de la critique de ma personne.

Ce n’est pas facile au début car on se sent personnellement attaqué.

Mais après c’est un réflexe et on trouve même du plaisir à chercher la véritable raison de cette agressivité.

En effet, en général, à part certaines personnes bornées irrécupérables, l’agressivité première n’est que la conséquence d’une frustration sous-jacente.

Ici, la frustration de cette personne, c’est le prix de ma formation JavaScript de Zéro (coucou le placement de produit).

À l’heure où j’écris ces lignes j’ai estimé à 627 € le prix final de ma formation qui permet d’apprendre le JavaScript en étant débutant complet.

Et je vais sûrement l’augmenter dans le futur.

Non. Je n’ai pas honte.

Lisez la suite, vous comprendrez.

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 !