Module algorithmique by Jérémy Mouzin

Module algorithmique

Apprenez le coeur du métier de développeur : la rédaction d'algorithmes.

Préinscrivez-vous maintenant :

L'algorithmique : le cœur du métier de développeur

Très peu enseignée dans les formations, l'algorithmique est l'essence même du métier de développeur.

Si vous avez du mal à penser comme un développeur et à rédiger vos propres programmes c'est que vous n'avez pas encore acquis cette discipline fondamentale qu'est la conception d'algorithmes.

L’algorithmique c’est l’art de décomposer un problème en sous-parties pour produire une solution sous la forme d’un algorithme.

En gros, c'est écrire la recette de cuisine qu'il faut suivre pour résoudre un problème donné.

Maîtriser la syntaxe d'un langage est secondaire

Toutes les formations, dont la mienne, vous enseignent la syntaxe et les fonctionnalités d'un langage de programmation (comme le JavaScript par exemple).

Apprendre la syntaxe d'un langage est assez facile.

Le problème, c'est que même si vous êtes à l'aise avec la syntaxe du langage, construire à partir de zéro un programme informatique peut vous figer sur place.

Ça vous est peut-être déjà arrivé ?

Dès que vous vous mettez sur un cas concret, vous n'arrivez pas à savoir par où commencer ni quelle est la première ligne de code à taper.

Vous arrivez à imaginer dans votre tête la solution mais vous n’arrivez pas à la traduire en code.

C’est le syndrome de la page blanche.

Et c'est parfaitement normal car vous grillez les étapes !

Ce n'est pas de votre faute, on ne vous a jamais appris qu'il y avait une étape entre la lecture d'un problème et la rédaction de sa solution dans un langage informatique.

Pour vous, un développeur, ça code comme ça :
  1. Je lis le problème
  2. Je rédige sa solution directement dans le langage de programmation

Le problème, c'est qu'il y a une étape supplémentaire cachée entre 1 et 2 ! Cette étape c'est la construction et la création d'un algorithme pour répondre au problème.

Pourquoi est-elle cachée ?

Tout simplement parce qu'elle est effectuée dans la tête du développeur, de façon très rapide.

En effet, lorsqu'on est habitué à développer, on ne passe plus par cette phase de rédaction de l'algorithme avant son implémentation (traduction de l'algorithme dans le langage de programmation de son choix).

On code directement la solution.

Mais en réalité, un développeur code comme ça :
  1. Je lis le problème
  2. Je conçois un algorithme de solution à ce problème dans ma tête
  3. Je rédige cet algorithme dans le langage de programmation de mon choix (implémentation)

L'étape 2 n'est quasiment jamais enseignée.

Et j'ai failli faire cette erreur dans ma formation !

Heureusement, ma politique de proximité continue avec mes étudiants m'a ouvert les yeux sur ce gouffre dans leurs connaissances alors j'ai décidé d'y remédier avec ce module.

Pourquoi apprendre l'algorithmique ?

Après avoir discuté avec plus d'une trentaine de personnes par téléphone, j'ai pu constater que les débutants ne voient jamais cette partie dans les formations qui enseignent la programmation.

Pourtant c'est la base de tout.

Le problème, c'est qu'on oublie cette base lorsqu'on sait programmer, elle devient naturelle et on la considère comme innée.

C'est pour ça qu'elle n'est jamais enseignée dans les formations, alors qu'elle est primordiale.

C'est grâce à l'algorithmique que vous apprendrez à construire une solution à un problème donné et que vous pourrez créer vos propres programmes à partir de zéro.

Une fois que vous maîtriserez l’algorithmique, vous pourrez apprendre n'importe quel langage de programmation ! Que ce soit le JavaScript ou tout autre langage.

En effet, contrairement à une idée reçue, écrire un algorithme ne nécessite pas de connaître un langage de programmation en particulier puisqu’on on utilise du pseudo-code pour le rédiger.

Le pseudo-code c'est un langage dont les mot-clés sont rédigés en français et qui reprend les concepts de base de n’importe quel langage de programmation : variables, conditions, boucles et fonctions.

Ainsi, cette discipline est transverse à la programmation en général mais totalement indépendante d'un langage de programmation particulier.

Les compétences que vous allez acquérir

Dans ce module, vous verrez les bases de l'algorithmique et comment construire un algorithme de zéro pour répondre à un problème donné.

Vous verrez ma démarche pour construire une solution à partir de zéro.

Les explications seront en français, avec du pseudo-code, pour comprendre et détailler chaque étape sans aller trop vite.

Ce module vous permettra de comprendre comment penser comme un développeur, comment rédiger son propre code et ses propres algorithmes.

Vous verrez également comment découper un gros problème en sous-parties pour adresser chacune de ces parties avec un algorithme et comment ensuite combiner le tout dans un programme informatique global qui répond au problème final.

La décomposition d'un problème est une compétence capitale à acquérir pour pouvoir programmer peu importe le langage de programmation utilisé.

Si vous voulez un aperçu de ma pédagogie et de ce qu'on va voir dans ce module, je vous invite à lire mon article : apprendre l'algorithmique, cas d'étude d'un algorithme (10,000+ mots). C'est une mine d'or !

À qui s'adresse ce module ?

Comme l'algorithmique repose sur le pseudo-code, vous n'avez même pas besoin de connaître la syntaxe du JavaScript ni de n'importe quel autre langage pour suivre ce module.

Donc même si vous n'avez jamais vu une seule ligne de code de votre vie, vous pouvez prendre ce module sans soucis.

Néanmoins, pour les personnes ayant déjà suivi le module débutant et intermédiaire de ma formation, je montrerai la phase d'implémentation en JavaScript des algorithmes qui seront créés.

Dans ce module il y a aura donc une partie "pure" en pseudo-code et une partie où je montre comment on part de l'algorithme en pseudo-code pour créer le programme final en JavaScript.

Si vous souhaitez comprendre cette seconde partie (implémentation), je vous invite à suivre le module débutant (gratuit) et le module intermédiaire de ma formation avant de commencer ce module.

Mais vous pouvez très bien le suivre avant même de voir le module débutant comme je l'ai déjà dis, vous n'aurez qu'à sauter les leçons sur l'implémentation.

Pourquoi se pré-inscrire maintenant ?

J'ai une bonne idée de ce que je compte faire pour ce module.

Toutefois, dans le but de répondre au mieux à vos besoins, j'ai ouvert les pré-inscriptions pour que l'on puisse discuter plus en détails de ceux-ci.

Si vous m'apportez des besoins nouveaux, je pourrai les intégrer lors de la création de ce module.

Autrement dit, en vous inscrivant dès maintenant, vous pourrez influencer le futur contenu de la formation pour vos propres besoins : vous pourrez donc façonner avec moi des leçons faites pour vous !

Dernier point : en vous préinscrivant vous pourrez bénéficier d'une remise exceptionnelle lors du lancement du module.
Se préinscrire maintenant