Quels sont les buts de la formation ?
Programme de la formation
Introduction
Principes généraux, historique
L’algorithmique dans le projet, dans l’équipe de développement, dans le programme
Environnement d’un langage de développement quelconque (Java, c++, c#, Python, Visual Basic ou PHP)
Syntaxe des éléments clés
Principe d’une machine à état et universalité de Turing
Les variables : définition, cycle de vie, types et enjeux
Structures de contrôles : les conditions
Structures de contrôles : les boucles
Les mécanismes d’erreurs ; les exceptions
Les procédures (paramètres, valeurs de retours)
Callbacks, pointeurs de fonctions, délégués...
Les clotures, résumé de programmation lambda
Introduction à la Programmation Orientée Objet
Algorithmes courants et nécessaires
Exemples manuels - multiplication et Tours de Hanoï
Solutions de représentations graphiques, aide à la réflexion
Séries de conditions et systèmes experts
Boucles de longueur prévisible - exemples multiples
Boucles de longueur imprévisible - exemples multiples et dangers
La récursivité - la suppression de la récursivité
Algorithmique et structures de données
Type et choix de structures
Utiliser la structure depuis l’algorithme
Bonnes pratiques pour les algorithmes et pour les structures
Performances
Ce qu’est l’optimisation, quoi optimiser : bonnes pratiques
La performance et la complexité
Les heuristiques - exemples nombreux et recherche
Autres solutions non algorithmiques