Module algorithmique
Acheter maintenant
En savoir plus
Discussions
Prérequis et lives streaming
Prérequis
Conseils pour profiter au mieux des lives et des replays
Introduction
Objectif de ce module
Algorithmie ou algorithmique ?
Définition
Ressources
Le pseudo-code
L'étape cachée qu'il vous manque
Pourquoi le pseudo-code est utile ?
Les qualités d'un bon pseudo-code
Présentation de la syntaxe du pseudo-code
Coloration syntaxique du pseudocode dans VSCode
Les plateformes d'entraînement
Présentation de CodinGame
Présentation de Prologin
Présentation de Codewars
Traduire automatiquement les exercices en français
Déboguer vos exercices Codewars depuis VSCode
Déboguer vos exercices CodinGame depuis VSCode
Contexte d'apprentissage
Pourquoi apprendre l'algorithmique ?
Vidéo de motivation + conseils pour rester motivé
La méthode DECAPI
Introduction
D — Découverte
E — Exploration
E — Exploration — Solution du challenge
E — Exploration — Solution finale de l'exercice
CAP — Cas particuliers
I — Implémentation
CheatSheet — Méthode DECAPI
Concepts d'informatique à connaître
Introduction
La table ASCII et le chiffre de César
Solution alternative avec l'opérateur modulo
La représentation des nombres dans différentes bases
Les structures de données linéaires
Introduction
Les structures de données linéaires
Implémentation des tableaux
Implémentation des ensembles
Implémentation des piles
Implémentation des files
Rediffusions lives (bases + structures de données linéaires)
Live Coding #1 : 1 exercice Codewars "somme des positifs"
Live Coding #2 : 4 exercices Codewars : supprimer 1er et dernier caractères, nombre opposé, pair ou impair, répétition de chaîne
Live Coding #3 : 2 exercices Codewars : trouver le plus petit entier, retourner une chaîne de caractères à l'envers
Live Coding #4 : 3 exercices Codewars : convertissez une valeur booléenne en oui non, somme des nombres de 1 à N, supprimer les espaces
Live Coding #5 : 2 exercices Codewars : retourner les 2 valeurs les plus grandes et convertir un entier en tableau de chiffres inversés
Live Coding #6 : 2 exercices Codewars : compteur de file d’attente et compter les singes
Live Coding #7 : 2 exercices Codewars : nombre de positifs et somme des négatifs et les nombres Doubleton
Live Coding #8 : 2 exercices Codewars : union d’ensembles et espacement valide
Live Coding #9 : 2 exercices Codewars : erreurs d’imprimante et validateur de message
Live Coding #10 : 1 exercice Codewars : parenthèses valides
Live Coding #11 : 2 exercices Codewars : faux binaire et masque de carte de crédit
Les structures de données non linéaires
Les structures de données non linéaires
Implémentation des dictionnaires
Le type Map
Object VS Map
Rediffusions lives (structures de données non linéaires)
Live Coding #12 : 2 exercices Codewars : validation accolades et compter les lettres dans un mot
Live Coding #13 : 4 exercices Codewars : Compter Nucleotides ADN, compter éléments tableau, lettres dans chaîne et compter dans l'ordre
Live Coding #14 : 1 exercice Codewars : Compter caractères et générer un graphe de barres
Live Coding #15 : 2 exercices Codewars : Compteur d’occurences et Compteur de doublons
Live Coding #16 : 1 exercice Codewars : Décompte consécutif
Live Coding #17 : 1 exercice Codewars : Aidez Suzuki à compter ses légumes
Live Coding #18 : 3 exercices Codewars : Compteur de symboles, compteur de l'item le plus fréquent (tableau), Champions league
Live Coding #19 : 2 exercices Codewars (suggestions d’étudiants) : conversion RGB vers hexadécimal, heure lisible par l’homme
Live Coding #20 : 1 exercice Codewars (suggestions d’étudiants) : la vague mexicaine
Live Coding #21 : 3 exercices Codewars (suggestions d'étudiants) : encodeur en double, jouer avec les chiffres, chaînes divisées
Live Coding #22 : 2 exercices Codewars (suggestions d'étudiants) : trouver le nombre présent un nombre impair de fois, chaînes opposées
Performances des algorithmes
Introduction
Calcul de la vitesse d'exécution d'un algorithme
Recherche par dichotomie
Vitesse d'exécution recherche par dichotomie
Rappel / Intro aux fonctions (un peu de maths)
Tracer des courbes avec l'outil desmos.com
La notation Big O
Rediffusions lives (CodinGame — niveaux faciles)
Liste des puzzles classiques (niveau facile) de CodinGame
Live Coding #23 : Explications dépôt et plateforme CodinGame avec 1 exercice CodinGame : températures
Live Coding #24 : 1 exercice CodinGame : Unary
Live Coding #25 : 1 exercice CodinGame : MIME Type
Live Coding #26 : 2 exercices CodinGame : The Descent et Chevaux de courses
Live Coding #27 : 1 exercice CodinGame : The River I.
Live Coding #28 : 1 exercice CodinGame : May the triforce be with you
Live Coding #29 : 1 exercice CodinGame : Credit Card Verifier Luhn's algorithm
Live Coding #30 : 1 exercice CodinGame : Prefix Code
Live Coding #31 : 1 exercice CodinGame : 7-segment scanner
Rediffusions lives (CodinGame — niveaux moyens)
Préparation des exercices
Live Coding #32 : 1 exercice CodinGame : ASCII Art
Live Coding #33 : 1 exercice CodinGame : Expressions parenthésées
Live Coding #34 : 1 exercice CodinGame : Bank Robbers
Live Coding #35 : 1 exercice CodinGame : 1D Bush Fire
Live Coding #36 : 1 exercice CodinGame : The River II
Live Coding #37 : 1 exercice CodinGame : Dungeons and Maps
La récursivité
Introduction à la récursivité
La pile d'appels
Les contextes d'exécution
Exercices sur la récursivité
Solution exercice 0 : Somme de 1 à N
Solution exercice 1 : Puissance
Solution exercice 2 : Factorielle
Solution exercice 3 : Suite de Fibonacci
Solution exercice 4 : Retourner un mot
Solution exercice 5 : Dichotomie
Rediffusions lives (CodinGame — niveaux difficiles)
Live Coding #38 : 1 exercice CodinGame : Rock Paper Scissors Lizard Spock
Live Coding #39 : 1 exercice CodinGame : 1D Spreadsheet
Live Coding #40 : 1 exercice CodinGame : Encryption/Decryption of Enigma Machine
Live Coding #41 : 1 exercice CodinGame : Equivalent Resistance, Circuit Building
Live Coding #42 : 1 exercice CodinGame : Offset Arrays
Fin du module et conseils pratiques
Mes derniers conseils
BONUS : les algorithmes de tri
Présentation du site Visualgo
Le tri à bulles
Pseudo-code tri à bulles
Implémentation du tri à bulles
Le tri par sélection
Pseudo-code tri par sélection
Implémentation du tri par sélection
Le tri par insertion
Pseudo-code tri par insertion
Implémentation du tri par insertion
Optimisation du tri par insertion
BONUS : permutations, arrangements et combinaisons
Définitions
Permutations
Permutations : pseudo-code (récursif)
Permutations : implémentation (récursif)
Permutations : pseudo-code (Heap)
Permutations : implémentation (Heap)
Arrangements
Arrangements : formule de dénombrement
Arrangements : pseudo-code
Arrangements : implémentation
Arrangements avec répétitions
Combinaisons
Combinaisons : pseudo-code
Combinaisons : implémentation
BONUS : optimisation
La mémoïsation
Mémoïsation de l'algorithme de Fibonacci
Programmes
Cours
Section
BONUS : optimisation
BONUS : optimisation
Module algorithmique
Acheter maintenant
En savoir plus
Discussions
Prérequis et lives streaming
Prérequis
Conseils pour profiter au mieux des lives et des replays
Introduction
Objectif de ce module
Algorithmie ou algorithmique ?
Définition
Ressources
Le pseudo-code
L'étape cachée qu'il vous manque
Pourquoi le pseudo-code est utile ?
Les qualités d'un bon pseudo-code
Présentation de la syntaxe du pseudo-code
Coloration syntaxique du pseudocode dans VSCode
Les plateformes d'entraînement
Présentation de CodinGame
Présentation de Prologin
Présentation de Codewars
Traduire automatiquement les exercices en français
Déboguer vos exercices Codewars depuis VSCode
Déboguer vos exercices CodinGame depuis VSCode
Contexte d'apprentissage
Pourquoi apprendre l'algorithmique ?
Vidéo de motivation + conseils pour rester motivé
La méthode DECAPI
Introduction
D — Découverte
E — Exploration
E — Exploration — Solution du challenge
E — Exploration — Solution finale de l'exercice
CAP — Cas particuliers
I — Implémentation
CheatSheet — Méthode DECAPI
Concepts d'informatique à connaître
Introduction
La table ASCII et le chiffre de César
Solution alternative avec l'opérateur modulo
La représentation des nombres dans différentes bases
Les structures de données linéaires
Introduction
Les structures de données linéaires
Implémentation des tableaux
Implémentation des ensembles
Implémentation des piles
Implémentation des files
Rediffusions lives (bases + structures de données linéaires)
Live Coding #1 : 1 exercice Codewars "somme des positifs"
Live Coding #2 : 4 exercices Codewars : supprimer 1er et dernier caractères, nombre opposé, pair ou impair, répétition de chaîne
Live Coding #3 : 2 exercices Codewars : trouver le plus petit entier, retourner une chaîne de caractères à l'envers
Live Coding #4 : 3 exercices Codewars : convertissez une valeur booléenne en oui non, somme des nombres de 1 à N, supprimer les espaces
Live Coding #5 : 2 exercices Codewars : retourner les 2 valeurs les plus grandes et convertir un entier en tableau de chiffres inversés
Live Coding #6 : 2 exercices Codewars : compteur de file d’attente et compter les singes
Live Coding #7 : 2 exercices Codewars : nombre de positifs et somme des négatifs et les nombres Doubleton
Live Coding #8 : 2 exercices Codewars : union d’ensembles et espacement valide
Live Coding #9 : 2 exercices Codewars : erreurs d’imprimante et validateur de message
Live Coding #10 : 1 exercice Codewars : parenthèses valides
Live Coding #11 : 2 exercices Codewars : faux binaire et masque de carte de crédit
Les structures de données non linéaires
Les structures de données non linéaires
Implémentation des dictionnaires
Le type Map
Object VS Map
Rediffusions lives (structures de données non linéaires)
Live Coding #12 : 2 exercices Codewars : validation accolades et compter les lettres dans un mot
Live Coding #13 : 4 exercices Codewars : Compter Nucleotides ADN, compter éléments tableau, lettres dans chaîne et compter dans l'ordre
Live Coding #14 : 1 exercice Codewars : Compter caractères et générer un graphe de barres
Live Coding #15 : 2 exercices Codewars : Compteur d’occurences et Compteur de doublons
Live Coding #16 : 1 exercice Codewars : Décompte consécutif
Live Coding #17 : 1 exercice Codewars : Aidez Suzuki à compter ses légumes
Live Coding #18 : 3 exercices Codewars : Compteur de symboles, compteur de l'item le plus fréquent (tableau), Champions league
Live Coding #19 : 2 exercices Codewars (suggestions d’étudiants) : conversion RGB vers hexadécimal, heure lisible par l’homme
Live Coding #20 : 1 exercice Codewars (suggestions d’étudiants) : la vague mexicaine
Live Coding #21 : 3 exercices Codewars (suggestions d'étudiants) : encodeur en double, jouer avec les chiffres, chaînes divisées
Live Coding #22 : 2 exercices Codewars (suggestions d'étudiants) : trouver le nombre présent un nombre impair de fois, chaînes opposées
Performances des algorithmes
Introduction
Calcul de la vitesse d'exécution d'un algorithme
Recherche par dichotomie
Vitesse d'exécution recherche par dichotomie
Rappel / Intro aux fonctions (un peu de maths)
Tracer des courbes avec l'outil desmos.com
La notation Big O
Rediffusions lives (CodinGame — niveaux faciles)
Liste des puzzles classiques (niveau facile) de CodinGame
Live Coding #23 : Explications dépôt et plateforme CodinGame avec 1 exercice CodinGame : températures
Live Coding #24 : 1 exercice CodinGame : Unary
Live Coding #25 : 1 exercice CodinGame : MIME Type
Live Coding #26 : 2 exercices CodinGame : The Descent et Chevaux de courses
Live Coding #27 : 1 exercice CodinGame : The River I.
Live Coding #28 : 1 exercice CodinGame : May the triforce be with you
Live Coding #29 : 1 exercice CodinGame : Credit Card Verifier Luhn's algorithm
Live Coding #30 : 1 exercice CodinGame : Prefix Code
Live Coding #31 : 1 exercice CodinGame : 7-segment scanner
Rediffusions lives (CodinGame — niveaux moyens)
Préparation des exercices
Live Coding #32 : 1 exercice CodinGame : ASCII Art
Live Coding #33 : 1 exercice CodinGame : Expressions parenthésées
Live Coding #34 : 1 exercice CodinGame : Bank Robbers
Live Coding #35 : 1 exercice CodinGame : 1D Bush Fire
Live Coding #36 : 1 exercice CodinGame : The River II
Live Coding #37 : 1 exercice CodinGame : Dungeons and Maps
La récursivité
Introduction à la récursivité
La pile d'appels
Les contextes d'exécution
Exercices sur la récursivité
Solution exercice 0 : Somme de 1 à N
Solution exercice 1 : Puissance
Solution exercice 2 : Factorielle
Solution exercice 3 : Suite de Fibonacci
Solution exercice 4 : Retourner un mot
Solution exercice 5 : Dichotomie
Rediffusions lives (CodinGame — niveaux difficiles)
Live Coding #38 : 1 exercice CodinGame : Rock Paper Scissors Lizard Spock
Live Coding #39 : 1 exercice CodinGame : 1D Spreadsheet
Live Coding #40 : 1 exercice CodinGame : Encryption/Decryption of Enigma Machine
Live Coding #41 : 1 exercice CodinGame : Equivalent Resistance, Circuit Building
Live Coding #42 : 1 exercice CodinGame : Offset Arrays
Fin du module et conseils pratiques
Mes derniers conseils
BONUS : les algorithmes de tri
Présentation du site Visualgo
Le tri à bulles
Pseudo-code tri à bulles
Implémentation du tri à bulles
Le tri par sélection
Pseudo-code tri par sélection
Implémentation du tri par sélection
Le tri par insertion
Pseudo-code tri par insertion
Implémentation du tri par insertion
Optimisation du tri par insertion
BONUS : permutations, arrangements et combinaisons
Définitions
Permutations
Permutations : pseudo-code (récursif)
Permutations : implémentation (récursif)
Permutations : pseudo-code (Heap)
Permutations : implémentation (Heap)
Arrangements
Arrangements : formule de dénombrement
Arrangements : pseudo-code
Arrangements : implémentation
Arrangements avec répétitions
Combinaisons
Combinaisons : pseudo-code
Combinaisons : implémentation
BONUS : optimisation
La mémoïsation
Mémoïsation de l'algorithme de Fibonacci
2 Leçons
La mémoïsation
Mémoïsation de l'algorithme de Fibonacci