Développement Web & No-Code
Apprendre à programmer avec JavaScript : initiation à l'algorithmique
Débutant
À propos de cette formation
Cette formation de 3 jours initie toute personne souhaitant apprendre à programmer aux fondamentaux de la programmation classique : variables, structures de contrôle, fonctions, tableaux et premiers éléments de la programmation orientée objet. Les programmes sont réalisés en JavaScript, mais les concepts et méthodes acquis sont transposables à d'autres langages. Plus de 60 % du temps est consacré à des travaux pratiques.
Objectifs de la formation
- Structurer des programmes selon un algorithme
- Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme
- Comprendre les différences entre langages compilés et interprétés
- Déboguer et tester un programme
- Accéder à des données et les manipuler
- Comprendre les grands principes de la programmation orientée objet
Programme détaillé
Module 1 — Fondements de la programmation
- Qu'est-ce qu'un programme et qu'est-ce qu'un langage ?
- Les différents paradigmes de programmation
- Langages compilés versus langages interprétés
- Qu'est-ce qu'un algorithme ? Le concept de pseudo-langage
- Librairies, bibliothèques et frameworks : rôle et usage
- Responsabilités d'un programmeur
- Travaux pratiques : présentation de différents langages et écriture d'un premier algorithme en pseudo-langage
Module 2 — L'algorithmique dans l'environnement JavaScript
- Création des fichiers de base et présentation des outils
- Utilisation des commentaires : pourquoi commenter ses développements ?
- Affichage : document, console de debug, boîte de dialogue, boîte d'alerte
- Travaux pratiques : découverte de l'environnement de développement, écriture et exécution d'un premier programme
Module 3 — Les variables
- Qu'est-ce qu'une variable ?
- Déclaration avec var et let, convention de nommage
- Affectation et modification de valeur
- Utilisation des constantes
- Affichage par concaténation
- Travaux pratiques : écriture de programmes simples manipulant les variables
Module 4 — Types de données et opérateurs
- Qu'est-ce qu'un type ?
- Types primitifs : boolean, number, string, null, undefined
- Les opérateurs d'affectation, de comparaison, arithmétiques et logiques
- Précédence et associativité des opérateurs
- Travaux pratiques : écriture de programmes manipulant les types et les opérateurs
Module 5 — Structures de contrôle conditionnelles
- Les alternatives : instructions if, else if, else
- Les ternaires
- L'instruction switch
- Travaux pratiques : écriture de programmes à structure conditionnelle
Module 6 — Structures de contrôle itératives
- Les boucles for
- Les boucles while
- Travaux pratiques : écriture de programmes à structure itérative et implémentation d'algorithmes
Module 7 — Méthodes et fonctions
- Différence entre méthode et fonction
- Méthodes disponibles sur les chaînes de caractères et les nombres
- Expressions de fonction et leur déclaration
- Paramètres, arguments et paramètres par défaut
- Valeur de retour des fonctions et appel de fonction
- Les fonctions de rappel (callbacks)
- Chaîne de portée et environnement lexical
- Travaux pratiques : manipulation de méthodes existantes, création et utilisation de fonctions
Module 8 — Les tableaux Array
- Qu'est-ce qu'un tableau ? Déclaration et affectation
- Accéder aux propriétés et modifier un élément
- Itérer sur les éléments d'un tableau
- Imbrication de tableaux
- Introduction à la programmation fonctionnelle
- Travaux pratiques : création et manipulation de tableaux
Module 9 — Introduction à la programmation orientée objet
- Qu'est-ce qu'un objet ? Déclaration et propriétés
- Itérer sur des objets
- Le format JSON (JavaScript Object Notation)
- Travaux pratiques : illustration des concepts objets
Module 10 — Maintenance et débogage
- Lire et interpréter les différents messages d'erreur
- Utiliser un débogueur : exécution pas à pas, points d'arrêt, inspection des variables
- Travaux pratiques : utilisation d'un débogueur pour contrôler l'exécution des programmes
Prérequis
Aucune connaissance particulière.