Les fondements de la programmation et la genèse d'un programme
- Qu'est-ce qu'un programme ? Qu'est-ce qu'un langage ? Les différents paradigmes. Quel langage pour quelle application ?
- Les responsabilités d'un programmeur.
- Langages compilés – Langages interprétés
- Qu'est-ce qu'un algorithme ? Les besoins auxquels répond un algorithme. Le concept de pseudo-langage.
- Qu'est-ce qu'une librairie, bibliothèque / un Framework ? Leur rôle, leur usage.
Travaux pratiques
Présentation de différents langages (Java, C#, C, C++, Python). Ecriture d'un premier algorithme en pseudo-langage.
L'algorithmique dans l’environnement JavaScript
- Création des fichiers de base, les outils.
- Utilisation des commentaires. Pourquoi commenter les développements ?
- Affichage : document, console de debug, boite de dialogue, boite d’alerte.
Travaux pratiques
Découverte de l'environnement de développement et d'exécution. Ecriture et exécution d'un premier programme.
Les variables
- Qu'est-ce qu'une variable ?
- Déclaration d’une variable var et let.
- Convention de nommage.
- Affectation / modification de valeur.
- Utilisation de constantes.
- Affichage par concaténation.
Travaux pratiques
Ecriture de plusieurs programmes simples manipulant les variables.
Type 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 l'associativité des opérateurs.
Travaux pratiques
Écriture de plusieurs programmes manipulant les types et les opérateurs.
Structures de contrôle conditionnelle
- Les alternatives ou instructions conditionnelles if, else if, else.
- Opérateurs de comparaison pour structure conditionnelle.
- Les instructions conditionnelles : les ternaires.
- Les instructions conditionnelles : l'instruction switch.
Travaux pratiques
Écriture de plusieurs programmes à structure conditionnelle.
Structure de contrôle itérative
- Les instructions itératives : boucles for.
- Les instructions itératives : boucles while.
Travaux pratiques
Écriture de plusieurs programmes à structure itérative. Utilisation des structures de contrôle pour implémenter un algorithme.
Méthodes et fonctions
- Qu’est-ce qu’une méthode ? Qu’est-ce qu’une fonction ?
- Méthodes disponibles sur les chaines de caractères et les nombres.
- Les expressions de fonction et leur déclaration.
- Paramètres, arguments et paramètres par défaut.
- Valeur de retour des fonctions.
- L'appel de fonction.
- Les fonctions de rappel (callback).
- Chaîne de portée et environnement lexical.
Travaux pratiques
Écriture de plusieurs programmes avec manipulation de méthodes existantes. Création de fonctions avec et sans paramètre, utilisation des fonctions créées.
Les tableaux de données Array
- Qu'est-ce qu'un tableau ?
- Déclaration et affectation de tableau.
- Accéder aux propriétés d'un tableau.
- Modifier un élément dans un tableau.
- Itérer sur les éléments d'un tableau.
- Imbrication de tableaux.
- Introduction à la programmation fonctionnelle.
Travaux pratiques
Écriture de plusieurs programmes avec création et manipulation de tableaux.
Introduction à la programmation Objet
- Qu'est-ce qu'un objet ?
- Déclaration d’objets.
- Les propriétés des objets.
- Itérer sur des objets.
- Le format JSON (JavaScript Object Notation).
Travaux pratiques
Illustration des concepts Objets.
Maintenance, débogage
- Savoir lire et interpréter les différents messages d'erreurs.
- Utiliser un débogueur : exécuter un programme pas à pas, points d'arrêts, inspecter les variables pendant l'exécution.
Travaux pratiques
Utilisation d'un débogueur pour contrôler l'exécution des programmes.