Épinglé

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 choisir sa formation pour réussir sa reconversion professionnelle en développeur web ? (Partie 1 : l’avant-formation)

Dernière mise à jour : vendredi 20 mars 2020 (détails).

Ce premier article d’une trilogie a été créé pour aider toutes les personnes en reconversion professionnelle dans le développement web à faire leur choix dans l’immense océan de formations proposées.

À la fin de celui-ci vous trouverez une liste de 12 questions précises à poser à l’organisme de formation qui vous intéresse pour vous assurer qu’il est sérieux et adapté à votre situation.

Vous trouverez aussi une section ce que vous devez retenir de cet article pour les plus pressés d’entre vous.

Ce billet est la synthèse d’une centaines de commentaires en ligne que j’ai compilés et de témoignages téléphoniques recueillis auprès de plus de 30 personnes en situation de reconversion professionnelle dans le développement web.

Merci à toutes ces personnes qui ont pris le temps de témoigner et sans qui cet article n’aurait pas été possible.

Certaines d’entre elles n’avaient pas encore commencé leur formation, d’autres étaient en plein milieu et plusieurs l’avaient déjà terminée.

J’ai donc décidé de faire une trilogie d’articles par ordre chronologique pour vous accompagner tout au long de votre reconversion professionnelle.

Les 3 articles parleront de l’avant-formation (c’est celui que vous lisez), de pendant la formation, et de l’après-formation.

Chacun regorgera de conseils pratiques et d’astuces pour vous aider à réussir votre reconversion. Le tout sera saupoudré de citations anonymes provenant de tranches de vies réelles extraites des entretiens téléphoniques.

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.

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 !