Plan du cours
Introduction
- Qu'est-ce que la programmation et pourquoi y accorder de l'attention
- Histoire de la programmation
- Possibilité d'automatiser des tâches grâce aux logiciels
- Le rôle du programmeur et de l'ordinateur dans l'entreprise
- La programmation aujourd'hui : évolution et tendances actuelles du marché
- Programmation déclarative et impérative. Comment et Quoi ?
- Machine de Turing
- Consolidation, compilation et interprétation "à la volée".
Rappel sur les notions de logique et d'algèbre de Boole
- Prédicats
- Enoncés logiques
- Tautologies
- Algèbre de Boole
Premier programme
- Structuré
- Fonctionnel
- Objet
- Et comment d'autre ?
Types simples
- 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'attente
- Déclaration de tableaux et de listes
- Indexation
- Dictionnaires (Maps)
- 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 programme
- Les instructions if et if-else
- L'instruction goto, discussion des problèmes liés à son utilisation.
- L'instruction switch
- La boucle for, for-in
- La boucle while, do-while
- La 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
- Arguments de fonction
- Valeurs de retour
- Fonctions comme arguments
- Fonctions anonymes
- Fermetures (Closures)
- Récursion
Paradigmes de la programmation orientée objet
- Représentation des entités du monde réel, entités en philosophie et ontologie
- Décider ce que l'on souhaite rendre 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 dissociation des relations entre objets
- Modules, paquets et bibliothèques
- Partage d'API
- Modélisation du système sous forme de classes et d'objets
- Description et programmation des relations entre classes
- Programme du point de vue métier
Bonnes pratiques de programmation
- Écueils et erreurs courantes
- Code de haut niveau interprété en code de bas niveau
- Optimisation du code
- Principe KISS
- Principe DRY
- Principe "Worse is Better"
- Séparation de l'abstraction et de l'implémentation
- Méthodes de détection des erreurs logiques dans les programmes
- Convention de codage
- Commentaires du code
- Métriques logicielles
Aperçu de ces technologies et langages
- Domaines d'application de ces langages
- Caractéristiques principales du langage
- Perspectives de développement
- Orientations futures du développement : algorithmique, optimisation du code, implémentation de motifs, modèles de conception, architectures logicielles, standards 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 ? Consultations individuelles
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