Prenez contact avec nous

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
 35 Heures

Nombre de participants


Prix par participant

Nos clients témoignent (5)

Cours à venir

Catégories Similaires