Choisissez votre langue
Cours de langages de programmation
Plus de 2 millions d'étudiant·e·s dans le monde

Cours de langages de programmation

Maîtrisez la théorie et la pratique derrière chaque paradigme majeur de langage de programmation, de la syntaxe et de la sémantique à la gestion de la mémoire et à la construction de compilateurs. Ce cours vous apporte les connaissances approfondies et transférables nécessaires pour évaluer, concevoir et travailler en toute confiance dans n'importe quel écosystème de langage. Que vous fassiez progresser votre carrière ou que vous renforciez vos bases en informatique, cette ressource est un outil de référence incontournable pour les programmeurs sérieux.

Dedika pour les entreprises

Ce que vous allez apprendre:

Vous allez acquérir une compréhension rigoureuse de la manière dont les langages de programmation sont conçus, classifiés et mis en œuvre. Ce cours couvre les grammaires formelles, les techniques d'analyse syntaxique, les systèmes de types, les règles de portée et les mécanismes de contrôle de flux à travers plusieurs paradigmes. Vous étudierez en profondeur la programmation fonctionnelle, orientée objet, impérative et logique, puis vous aborderez les stratégies de gestion de la mémoire et l'architecture des systèmes d'exécution. Des supports complémentaires traitent de la construction de compilateurs, de la métaprogrammation, de la conception de langages dédiés et de l'intégration de systèmes polyglottes. À la fin, vous serez en mesure d'évaluer tout langage par rapport à des exigences réelles de projet et de communiquer ces décisions clairement aux équipes techniques.

Comment étudier de manière pratique Cours de langages de programmation

Comment vous vous exercez Cours de langages de programmation

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 37 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Fondements des langages de programmation

  • Leçon 1 • Histoire et évolution des langages

    Retrace le développement des langages, de l'assembleur aux paradigmes modernes. Fournit un contexte historique pour comprendre les décisions de conception actuelles.

  • Leçon 2 • Qu'est-ce qu'un langage de programmation

    Définit les langages de programmation comme des systèmes formels pour exprimer le calcul. Établit le vocabulaire utilisé tout au long du cours.

  • Leçon 3 • Classification des langages et paradigmes

    Catégorise les langages par paradigme : impératif, fonctionnel, logique et orienté objet. Prépare les étudiants à évaluer tout langage à l'aide d'une taxonomie.

  • Leçon 4 • Objectifs de conception des langages et compromis

    Examine les priorités concurrentes — lisibilité, écrivabilité, fiabilité — qui façonnent la conception des langages. Relie les choix de conception à l'utilisabilité réelle.

Chapitre 2Voir les détails

Syntaxe, grammaires et analyse syntaxique

  • Leçon 1 • Arbres de syntaxe abstraite

    Distingue les arbres de syntaxe abstraite des arbres d'analyse et explique leur rôle dans la compilation. Prépare les étudiants à l'analyse sémantique dans les chapitres suivants.

  • Leçon 2 • Analyse descendante et ascendante

    Compare les stratégies d'analyse descendante récursive et de réduction-décalage. Permet aux étudiants de choisir et d'implémenter des analyseurs appropriés.

  • Leçon 3 • Analyse lexicale et tokenisation

    Couvre le rôle de l'analyseur lexical dans la conversion du texte source en tokens avant l'analyse. Fait le pont entre le code source brut et l'analyse au niveau de la grammaire.

  • Leçon 4 • Arbres d'analyse et ambiguïté

    Explique comment les arbres d'analyse représentent la structure syntaxique et comment l'ambiguïté compromet l'analyse déterministe. Soutient directement les compétences de conception de grammaires.

  • Leçon 5 • Grammaires formelles et notation BNF

    Introduit les grammaires hors contexte et la notation Backus-Naur comme outils pour spécifier la syntaxe d'un langage. Fonde tout le travail d'analyse syntaxique ultérieur.

Chapitre 3Voir les détails

Sémantique et systèmes de types

  • Leçon 1 • Approches de la sémantique formelle

    Introduit les sémantiques opérationnelle, dénotationnelle et axiomatique comme cadres complémentaires. Établit la base pour raisonner sur la correction des programmes.

  • Leçon 2 • Fondamentaux des systèmes de types

    Définit les types, la vérification de types et le spectre du typage statique au typage dynamique. Relie la discipline de typage à la fiabilité des programmes.

  • Leçon 3 • Inférence de type et polymorphisme

    Couvre l'inférence de type basée sur des algorithmes et le polymorphisme paramétrique. Montre comment les langages atteignent la généralité sans sacrifier la sécurité.

  • Leçon 4 • Constructions de types avancées

    Explore les types de données algébriques, les types dépendants et les génériques. Prépare les étudiants à tirer parti de systèmes de types expressifs dans les langages modernes.

Chapitre 4Voir les détails

Variables, portée et liaison

  • Leçon 1 • Variables et modèles de stockage

    Examine les attributs des variables — nom, type, valeur, durée de vie — et comment le stockage est alloué. Fonde toutes les discussions ultérieures sur la portée et la liaison.

  • Leçon 2 • Espaces de noms et modules

    Couvre les mécanismes d'espace de noms qui partitionnent la portée globale et prennent en charge les programmes à grande échelle. Fait le pont entre la théorie de la portée et l'organisation pratique des logiciels.

  • Leçon 3 • Règles de portée et visibilité

    Contraste la portée statique (lexicale) et dynamique et leurs effets sur la résolution de noms. Impacte directement la façon dont les étudiants lisent et écrivent du code dans n'importe quel langage.

  • Leçon 4 • Moment de liaison et durée de vie

    Distingue quand les liaisons sont établies — au moment de la compilation vs. au moment de l'exécution — et combien de temps elles persistent. Se relie aux concepts de gestion de la mémoire introduits ultérieurement.

Chapitre 5Voir les détails

Flux de contrôle et programmation structurée

  • Leçon 1 • Concurrence et coroutines

    Introduit les threads, async/await et les coroutines comme abstractions avancées de flux de contrôle. Étend la programmation structurée aux modèles d'exécution concurrente.

  • Leçon 2 • Sous-programmes et passage de paramètres

    Examine la conception des fonctions et des procédures, y compris tous les modes de passage de paramètres. Se relie aux concepts de portée et de liaison du chapitre précédent.

  • Leçon 3 • Instructions conditionnelles et de sélection

    Couvre les constructions if-else, switch et de filtrage par motif à travers les paradigmes. Établit la base de l'étude du flux de contrôle.

  • Leçon 4 • Constructions d'itération et de boucle

    Analyse les boucles à compteur, à condition et par collection. Prépare les étudiants à raisonner sur la terminaison et l'efficacité.

  • Leçon 5 • Mécanismes de gestion des exceptions

    Couvre la déclaration, la propagation et la conception de gestionnaires d'exceptions. Montre comment les langages gèrent le flux de contrôle anormal de manière sécurisée.

Chapitre 6Voir les détails

Langages impératifs et orientés objet

  • Leçon 1 • Patrons de conception POO en pratique

    Applique les patrons de conception classiques pour renforcer les principes de la POO. Fait le pont entre les fonctionnalités du langage et l'architecture logicielle professionnelle.

  • Leçon 2 • Concepts fondamentaux des langages impératifs

    Passe en revue l'affectation, la séquentialisation et la mutation d'état comme fondement de la programmation impérative. Ancre l'étude de l'OOP dans ses racines procédurales.

  • Leçon 3 • Classes, objets et encapsulation

    Définit les classes comme des modèles et les objets comme des instances, en mettant l'accent sur l'encapsulation. Construit le vocabulaire structurel pour la conception POO.

  • Leçon 4 • Héritage (POO) et polymorphisme

    Couvre l'héritage simple et multiple, la redéfinition de méthodes et la liaison dynamique. Relie les concepts de systèmes de types au comportement d'exécution de l'OOP.

  • Leçon 5 • Interfaces (de programmation), classes abstraites et mixins

    Examine les contrats de conception à travers les interfaces et les classes abstraites. Étend l'héritage à des modèles de composition flexibles.

Chapitre 7Voir les détails

Langages de programmation fonctionnelle

  • Leçon 1 • Fonctions d'ordre supérieur et fermetures

    Couvre map, filter, fold et la capture de fermeture comme outils fonctionnels fondamentaux. S'appuie sur les connaissances en matière de portée et de liaison des chapitres précédents.

  • Leçon 2 • Types de données algébriques et filtrage par motif

    Utilise les types somme et produit avec le filtrage par motif pour modéliser les données avec précision. Renforce les concepts de systèmes de types dans un contexte fonctionnel.

  • Leçon 3 • Concepts fonctionnels fondamentaux

    Introduit les fonctions pures, l'immutabilité et la transparence référentielle comme piliers de la programmation fonctionnelle. Contraste avec la mutation d'état impérative.

  • Leçon 4 • Récursivité et optimisation des appels terminaux

    Examine la récursivité comme mécanisme d'itération principal et l'optimisation des appels terminaux comme stratégie de performance. Se relie aux concepts de flux de contrôle.

  • Leçon 5 • Monades et effets fonctionnels

    Introduit les monades comme un moyen structuré de gérer les effets comme les E/S et l'état. Fait progresser les étudiants vers la conception fonctionnelle de niveau professionnel.

Chapitre 8Voir les détails

Gestion de la mémoire et systèmes d'exécution

  • Leçon 1 • Gestion manuelle de la mémoire

    Couvre l'allocation et la libération explicites, y compris les erreurs courantes comme les fuites et les pointeurs pendants. Se relie aux concepts de durée de vie des variables.

  • Leçon 2 • Architecture des systèmes d'exécution

    Explore les composants d'un environnement d'exécution de langage : pile d'appels, gestionnaire de tas et intégration du ramasse-miettes. Synthétise tous les sujets liés à la mémoire en un modèle unifié.

  • Leçon 3 • Algorithmes de ramasse-miettes

    Examine les stratégies de ramasse-miettes par balayage, comptage de références et générationnel. Permet aux étudiants de raisonner sur le surcoût et les temps de pause du ramasse-miettes.

  • Leçon 4 • Disposition et allocation mémoire

    Décrit les régions mémoire de la pile, du tas et statiques, et comment les langages allouent les objets. Fonde toutes les discussions sur la gestion de la mémoire.

  • Leçon 5 • Propriété et vérification d'emprunt

    Examine la sécurité mémoire basée sur la propriété comme alternative au ramasse-miettes. Montre comment les règles au moment de la compilation éliminent des classes entières d'erreurs d'exécution.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeurs de logiciels : désireux de dépasser les limites d'un seul langage.

  • Étudiants en informatique : prêts à relier la théorie des cours à la pratique dans le monde réel.

  • Ingénieurs backend : curieux de comprendre pourquoi les langages se comportent différemment sous le capot.

  • Personnes en reconversion professionnelle : abordant le développement logiciel avec une soif de profondeur fondamentale.

  • Responsables techniques : besoin d'une base de principes pour guider les décisions linguistiques de l'équipe.

Ce que disent nos apprenants

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans devoir changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'apprécie le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en Suisse ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail des cours ?

À quoi ressemblent les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment cela fonctionne-t-il ?

Cours PDF