Plan du cours
Introduction
- Qu’est-ce que la programmation et pourquoi s’y intéresser
- Historique de la programmation
- Possibilités d’automatisation des tâches grâce aux logiciels
- Rôle du programmeur et de l’ordinateur dans l’entreprise
- La programmation aujourd’hui : tendances actuelles du marché
- Programmation déclarative et impérative. Comment ou quoi ?
- La machine de Turing
- Consolidation, compilation et interprétation "à la volée".
Rappel sur la logique et l’algèbre de Boole
- Prédicats
- Énoncés logiques
- Tautologies
- Algèbre de Boole
Le premier programme
- Structurellement
- Fonctionnellement
- Objet
- Et autres approches ?
Types primitifs
- Représentation des chaînes de caractères
- Entiers
- Nombres à virgule flottante
- Booléen
- Type Null
- Vide ou non initialisé
- Typage fort et typage faible
Structures de données
- Concepts FIFO et FILO
- Piles
- Files
- Déclaration de tableaux et de listes
- Indexation
- Maps (dictionnaires)
- Enregistrements
- Arbres
Opérateurs
- Opérateurs d’affectation.
- Opérateurs arithmétiques.
- Opérateurs de comparaison
- Comparaison des valeurs dans différents langages
- Opérateurs bit à bit
- Concaténation
- Opérateurs d’incrémentation et de décrémentation
- Les erreurs les plus courantes
Contrôle du flux d’exécution
- Instructions if et if-else
- Instruction goto, discussion sur les problèmes liés à son utilisation.
- Instruction switch
- Boucle for, for-in
- Boucle while, do-while
- Boucle foreach
- Sortie de boucle
Création de code réutilisable
- Programmation fonctionnelle
- Programmation orientée objet
Paradigmes de la programmation fonctionnelle
- Qu’est-ce qu’une fonction ?
- Fonction et procédure
- Fondements du calcul lambda
- Paramètres des fonctions
- Valeurs de retour
- Fonctions en tant qu’arguments
- Fonctions anonymes
- Fermures (closures)
- Récursion
Paradigmes de la programmation orientée objet
- Représentation des entités du monde réel : philosophie et ontologie
- Comment décider ce qui doit être un objet ou d’autres types ?
- Déclaration de classes
- Création d’instances de classes
- Champs, état de l’objet
- Méthodes, comportement de l’objet
- Abstraction
- Encapsulation
- Héritage
- Polymorphisme
- Association et agrégation
- Délégation et séparation des relations entre objets
- Modules, paquets et bibliothèques
- Partage d’API
- Modélisation du système en classes et objets
- Description et programmation des relations entre classes
- Programme du point de vue des affaires
Bonnes pratiques de programmation
- Écueils et erreurs fréquentes
- Code de haut niveau dans une interprétation bas niveau
- Optimisation du code
- Principe KISS
- Principe DRY
- Principe "Worse is Better"
- Séparation entre l’abstraction et l’implémentation
- Méthodes de détection d’erreurs dans les programmes
- Conventions de nommage
- Commentaires du code
- Métriques logicielles
Vue d’ensemble des technologies et langages
- Domaines d’application de ces langages
- Caractéristiques principales du langage
- Perspectives de développement
- Orientation future du développement : algorithmique, optimisation du code, mise en œuvre de patrons, patrons de conception, patrons architecturaux, normes analytiques
- Réduction de la structure de contrôle : utilisation de l’intelligence artificielle et de la prise de décision automatisée
- Quelle plateforme choisir ? Conseils personnalisés
Nos clients témoignent (5)
Le formateur a été très patient avec tout le monde et s'est montré prêt à répéter quand les personnes ne comprenaient pas. Il s'assurait que tout le monde comprenait avant de continuer.
Henry - Vodacom
Formation - Introduction to Programming
Traduction automatique
Cela m'a donné une solide base pour plonger dans le monde fascinant de la programmation :)
Andrew Jones - Vodacom
Formation - Introduction to Programming
Traduction automatique
Le conférencier avait une connaissance approfondie du sujet et était prêt à la partager.
Clive Lloyd - Vodacom
Formation - Introduction to Programming
Traduction automatique
Le contenu était suffisamment détaillé pour que je puisse comprendre les fondamentaux et les concepts, et la présentation a été bien réalisée.
Anwar - Vodacom
Formation - Introduction to Programming
Traduction automatique
Patience et rythme
vuyisa - Vodacom
Formation - Introduction to Programming
Traduction automatique