5 jeux pour développer votre logique algorithmique
30/04/2024
Artiste3D
La qualité première du développeur : une bonne logique.C’est l’un des seuls prérequis de la formation O’clock. Pendant le Rituel d’Initiation, nous vérifions entre autres que nos futurs étudiants ont quelques bons réflexes de logique. C’est un préalable à la programmation et notamment au développement d’algorithmes, c’est-à-dire une série d’instructions réalisées sous conditions pour résoudre un problème donné.
Par exemple, un algorithme permettant de calculer le prix d’une partie de bowling va devoir tester une série de conditions : âge, semaine ou week-end, carte de réduction ou non, et ce pour chaque joueur.
On identifie souvent la logique à quelque chose d’inné, inhérente à l’intelligence de chacun. C’est faux. Si bien-sûr, nous n’avons pas tous les mêmes prédispositions naturelles, une bonne logique s’obtient par la pratique, l’habitude. On identifie les schémas qui reviennent régulièrement, et on a plus de facilités à y apporter une solution.
C’est particulièrement vrai en développement logiciel, et c’est ce qui prend énormément de temps quand on se forme en autodidacte, car on découvre ces patterns en tâtonnant. C’est d’ailleurs pour cette raison que certains d’entre eux pensent qu’une formation de 6 mois n’est pas suffisante pour apprendre le développement web. N’ayant pas été guidés par des formateurs expérimentés, ils ont quant à eux mis plusieurs années pour y parvenir.
On a déjà griffonné quelques articles pour se préparer à O’clock. Pour aller un peu plus loin, et pour choper la bonne mentalité et vous aider à devenir développeur, nous avons aujourd’hui poussé le bouchon un peu plus loin : on vous a compilé quelques jeux mobiles qui vous permettront de travailler votre logique tout en vous amusant.
Ce dernier mot est tout particulièrement important : la logique, et par conséquent le développement, c’est amusant ! Cette récréation mathématique, cela vient de la sensation agréable qu’à le cerveau de trouver une solution à son problème. Chez O’clock, on va jusqu’à penser qu’une personne qui ne prend aucun plaisir à résoudre ce genre de défi n’est peut-être pas faite pour le développement. Nos étudiants les plus brillants sont ceux qui relèvent les challenges de la formation avec délice.
C’est d’ailleurs un bon indicateur pour vous tester : peu importe si ça vous semble facile ou difficile, demandez-vous si vous passez un bon moment ! Allez, c’est parti.
Ça rappellera à certains leurs cours de techno. Vous savez au collège, quand on créait une horloge avec un CD vierge, ou une alarme de tiroir avec un détecteur de lumière. Bref, une occasion de découvrir le fer à souder mais aussi l’interrupteur, les piles, les résistances, la loi d’Ohm et tout le tintouin.
L’idée ici, c’est de permettre d’amener le courant jusqu’à l’arrivée. Avec ce qu’on appelle des « portes logiques » : OR, AND, NOT, XOR… Si ça ne vous dit rien du tout, peu importe, le jeu est très intuitif, et en y allant à tâtons, on peut deviner qui fait quoi.
Le jeu possède de nombreux niveaux, d’une difficulté croissante, avec à chaque fois la découverte d’une porte dans un contexte simple, puis son application dans un puzzle un peu plus complexe. Quand vous aurez un peu plus l’habitude, vous pourrez essayer de relever les défis en réalisant le moins de coups possibles !
Pourquoi c’est intéressant pour le développement ?
Dans le développement, on a souvent besoin d’opérateurs logiques. Je vous parlais plus haut d’un algorithme de calcul du prix d’une partie de bowling. On pourrait vouloir effectuer des conditions et les combiner via des opérateurs logiques.
Par exemple, dire : « Si le joueur a moins de 18 ans ET on est lundi, alors c’est 3 €. »
Ou encore : « Si le joueur a plus de 18 ans OU on est le week-end, alors c’est 5 €. »
Ça ne paraît pas comme ça, mais ça peut aller assez loin dans la céphalée quand les algos se compliquent. Avoir une bonne logique permet de s’économiser pas mal de temps. Un jeu comme Switch Or Not est un chouette exercice pour s’emparer de quelques bons réflexes.
linedoku
Disponible sous Android.
Un tout-en-un bien sympathique
Vraisemblablement, les devs de cette appli n’ont pas su se mettre d’accord sur le jeu à créer. Du coup, ils en ont mis 10 ! Des schémas à dessiner, des puzzles de lignes, des boucles à réaliser, des blocs à placer, des blocs à slider, des tuyaux à enchaîner et autres labyrinthes de nombres.
Ce qui est pratique, c’est qu’il y a assez de niveaux pour vous tenir occupés pendant des heures, des jours, des semaines… Vous risquez de ne ne pas en voir le bout, mais c’est une appli à picorer : jouez uniquement à vos jeux préférés, et n’hésitez pas à vous positionner rapidement sur les niveaux élevés pour avoir un peu plus de challenge.
Pourquoi c’est intéressant pour le développement ?
Les jeux de Linedoku ont tous un point commun : des concepts abstraits qu’il faut appréhender pour comprendre le problème, afin d’envisager une solution. Et au fur et à mesure des niveaux, on s’aperçoit de certains mécanisme, certains schémas, certains patterns.
C’est la même chose en développement ! À part que pour un développeur, il faut écrire des lignes de code (aujourd’hui en tout cas) plutôt que glisser son pouce sur l’écran. Mais cela reste un problème à appréhender, dont la solution consiste à mobiliser des concepts abstraits.
Ce jeu peut donner du fil à retordre. C’est ça qui est bon ! Si les jeux précédents peuvent parfois être un peu faciles une fois qu’on a compris le principe, celui-là pourra vous offrir une difficulté un peu plus sucrée.
Le but du jeu : relier toutes les maisons par des fils électriques permettant de les alimenter en électricité depuis la centrale.
Pourquoi c’est intéressant pour le développement ?
En 5×5 comme sur la capture d’écran plus haut, ça va. Quand on passe en 9×9, ça commence à faire chauffer le ciboulot. Ce qui est intéressant, c’est qu’on doit parfois changer de stratégie : laissez tomber une maison ici pour faire passer un fil par-là par exemple.
Quand on dev, cela peut arriver assez souvent de décider d’un choix technique, avant de s’apercevoir qu’il faut finalement tout reprendre afin d’avoir une architecture de code plus adapté à ce qu’on essaie de créer. On divise un code en plusieurs fonctions, on factorise un bout de code pour pouvoir le réutiliser… C’est un bon exercice que de s’entrainer à reprendre une réflexion de zéro !
Celui-ci est certainement le plus graphique de cette sélection de jeux de logiques. Roll The Ball est un jeu où on doit faire rouler une balle. Bon. Jusqu’ici, pas de quoi casser trois pattes à un canard. L’idée, c’est de réussir à constituer un chemin pour cette baballe jusqu’à l’arrivée, en déplaçant des blocs.
Pour les pros, on se prend vite au jeu d’essayer de résoudre le puzzle avec le moins de coups possibles, comme pour Switch Or Not. Ou encore trouver la combinaison qui permet de récupérer toutes les étoiles.
Pourquoi c’est intéressant pour le développement ?
Le chemin le plus évident n’est pas toujours la bonne solution. Dans ce jeu, comme en développement logiciel !
Grasshopper
Disponible sous Android.
Une appli pour apprendre à coder
Après s’être étiré les neurones avec des jeux de logiques, on peut rentrer dans le vif du sujet. C’est l’idée de Grasshopper, qui permet de débuter l’apprentissage des concepts de développement, en faisant une initiation à JavaScript, l’un des langages les plus utilisés aujourd’hui en développement. Notamment en développement web, puisqu’il permet autant d’écrire un code « back » — qui s’exécute sur le serveur —, qu’un code « front », c’est-à-dire les interactions dans le navigateur de l’utilisateur.
Pourquoi c’est intéressant pour le développement ?
Bon ben là, pas besoin d’aller chercher bien loin : l’appli vous apprend directement les rudiments de la programmation. Cerise sur le pompon, l’appli est en anglais ; l’occasion de travailler un peu la langue de Shakespeare pour s’acclimater. Une très grande partie de la documentation sur les langages de programmation et les problématiques de développement logiciel sont en anglais !