
Formation en programmation C/C++
Maîtrisez C et C++ depuis les bases, en couvrant tout, de la mémoire brute et des pointeurs aux fonctionnalités modernes de C++20, aux patrons de conception et aux systèmes concurrents. Ce cours vous donne la profondeur technique que les développeurs professionnels et les ingénieurs systèmes utilisent en réalité dans leur travail. Que vous visiez le micrologiciel embarqué, les applications haute performance ou les entretiens techniques, vous repartirez avec des compétences réelles et prêtes pour la production.
Ce que vous allez apprendre:
Vous construirez une base complète en syntaxe C et C++, gestion de la mémoire et programmation orientée objet avant de passer aux modèles, à la bibliothèque standard (STL) et aux fonctionnalités modernes de C++17/20. Le cours couvre les structures de données et les algorithmes implémentés à partir de zéro, vous donnant les compétences de résolution de problèmes nécessaires pour les entretiens techniques et le travail système. Vous apprendrez également à utiliser des outils standard de l'industrie, notamment CMake, GDB, Google Test et les analyseurs statiques. Les sujets de programmation embarquée et système vous préparent au développement de micrologiciels et bas niveau. À la fin, vous serez équipé pour concevoir, construire et livrer des logiciels C++ robustes dans des environnements professionnels.
Comment vous étudiez de façon pratique Formation en programmation C/C++
Comment vous pratiquez Formation en programmation C/C++
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.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsEnvironnement C/C++ et bases de la syntaxe
Environnement C/C++ et bases de la syntaxe
Leçon 1 • Variables, types et littéraux
Présente les types de données primitifs, la déclaration de variables et les valeurs littérales. La maîtrise de ces concepts vous permet de représenter correctement les données tout au long de la formation.
Leçon 2 • Principes fondamentaux des entrées et sorties
Enseigne les entrées/sorties console avec printf/scanf en C et cin/cout en C++. Permet de créer les programmes interactifs requis dans tous les exercices pratiques.
Leçon 3 • Opérateurs et expressions
Couvre les opérateurs arithmétiques, relationnels, logiques et binaires avec leurs règles de priorité. Développe la compétence d'écriture d'expressions nécessaire pour tous les contrôles de flux et algorithmes.
Leçon 4 • Syntaxe de base et structure d'un programme
Couvre les tokens, instructions, blocs et l'anatomie d'un fichier source C/C++. Permet d'écrire n'importe quel programme valide dans les chapitres suivants.
Leçon 5 • Configuration de l'environnement de développement
Installez et configurez les compilateurs, éditeurs et outils de construction pour C/C++. Fournit les fondations techniques sur lesquelles repose chaque chapitre suivant.
Chapitre 2MasquerCacher les détailsVoir les détailsContrôle de flux et fonctions
Contrôle de flux et fonctions
Leçon 1 • Déclaration et définition de fonctions
Présente les prototypes de fonctions, les définitions et les mécanismes d'appel en C/C++. Établit les principes de conception modulaire utilisés tout au long de la formation.
Leçon 2 • Portée, durée de vie et classes de stockage
Explique les variables locales, globales et statiques ainsi que leur durée de vie. Évite les bogues courants liés aux variables non initialisées ou mal cadrées.
Leçon 3 • Principes fondamentaux de la récursivité
Couvre la conception de fonctions récursives, les cas de base et le comportement de la pile. Prépare aux algorithmes récursifs et aux structures de données des chapitres suivants.
Leçon 4 • Instructions conditionnelles
Couvre les constructions if, else-if et switch pour la prise de décision. Permet directement les programmes pilotés par la logique sur lesquels s'appuient tous les chapitres suivants.
Leçon 5 • Boucles et itération
Enseigne les boucles for, while et do-while ainsi que les instructions de contrôle de boucle. L'itération est la colonne vertébrale des algorithmes et du traitement de données abordés plus tard.
Chapitre 3MasquerCacher les détailsVoir les détailsTableaux, chaînes de caractères et pointeurs
Tableaux, chaînes de caractères et pointeurs
Leçon 1 • Chaînes de style C et fonctions de chaîne
Enseigne les tableaux de caractères terminés par null et les fonctions standard de la bibliothèque de chaînes. Fournit les bases des chaînes C nécessaires avant d'introduire std::string en C++.
Leçon 2 • Allocation dynamique de mémoire
Enseigne malloc/free en C et new/delete en C++ pour la gestion du tas mémoire. Jette les bases des structures de données dynamiques abordées dans le chapitre suivant.
Leçon 3 • Tableaux unidimensionnels et multidimensionnels
Couvre la déclaration, l'initialisation et les motifs d'accès aux éléments des tableaux. Les tableaux sous-tendent presque toutes les structures de données introduites plus tard dans la formation.
Leçon 4 • Pointeurs et fonctions
Couvre le passage de pointeurs aux fonctions et le retour sécurisé de pointeurs. Permet une manipulation efficace des données sans copie inutile.
Leçon 5 • Bases des pointeurs et arithmétique des adresses
Introduit la déclaration de pointeurs, le déréférencement et l'arithmétique des pointeurs. Les pointeurs sont centraux pour la mémoire dynamique et la programmation bas niveau dans les chapitres suivants.
Chapitre 4MasquerCacher les détailsVoir les détailsStructures, unions et énumérations
Structures, unions et énumérations
Leçon 1 • Énumérations et alias de types
Couvre les énumérations C, les classes d'énumération C++ et les déclarations typedef/using. Améliore la clarté du code et la sécurité des types dans tous les projets suivants.
Leçon 2 • Champs de bits et données compressées
Introduit les membres de structure en champs de bits pour une représentation compacte des données. Pertinent pour l'analyse de protocoles et le mappage de registres matériels dans les sujets avancés.
Leçon 3 • Pointeurs vers les structures
Enseigne l'accès aux structures par pointeur et l'allocation dynamique de structures. Permet les structures de données chaînées construites dans le chapitre sur les algorithmes.
Leçon 4 • Unions et partage de mémoire
Explique la sémantique des unions, le chevauchement de stockage et les cas d'utilisation valides. Fournit un aperçu de la mémoire bas niveau pertinent pour la programmation embarquée et système.
Leçon 5 • Définition et utilisation des structures
Couvre la déclaration de structures, l'accès aux membres et les structures imbriquées. Les structures sont le précurseur direct des classes C++ introduites dans le chapitre suivant.
Chapitre 5MasquerCacher les détailsVoir les détailsProgrammation orientée objet en C++
Programmation orientée objet en C++
Leçon 1 • Polymorphisme et fonctions virtuelles
Introduit les fonctions virtuelles, les fonctions virtuelles pures et les classes abstraites. Permet les motifs de répartition à l'exécution essentiels à la conception de logiciels extensibles.
Leçon 2 • Héritage et hiérarchies de classes
Couvre l'héritage simple et multiple, l'accès à la classe de base et le chaînage des constructeurs. Développe les compétences de conception de hiérarchie nécessaires au polymorphisme.
Leçon 3 • Encapsulation et principes de conception
Applique les principes SOLID et les stratégies d'encapsulation à la conception de classes. Prépare à écrire du code C++ maintenable et testable dans les chapitres avancés.
Leçon 4 • Surcharge d'opérateurs
Enseigne la surcharge des opérateurs arithmétiques, de comparaison et de flux pour les types personnalisés. Permet une syntaxe intuitive pour les classes définies par l'utilisateur utilisées dans les projets suivants.
Leçon 5 • Classes et objets
Couvre la déclaration de classe, les spécificateurs d'accès et l'instanciation d'objets. Établit le modèle de classe que toutes les fonctionnalités POO de ce chapitre étendent.
Chapitre 6MasquerCacher les détailsVoir les détailsTemplates, STL et programmation générique
Templates, STL et programmation générique
Leçon 1 • Algorithmes STL
Couvre sort, find, transform, accumulate et d'autres algorithmes standard. L'application des algorithmes STL remplace les boucles manuelles sujettes aux erreurs dans le code de production.
Leçon 2 • Templates de fonctions et de classes
Couvre la syntaxe des templates, les paramètres de type et l'instanciation de templates. Les fonctions et classes génériques réduisent la duplication de code dans tous les projets futurs.
Leçon 3 • Conteneurs STL
Introduit vector, list, deque, map, set et leurs variantes non ordonnées. Le choix du bon conteneur est essentiel pour les performances dans la conception d'algorithmes.
Leçon 4 • Expressions lambda et foncteurs
Introduit la syntaxe lambda, les captures et les objets foncteurs à utiliser avec la STL. Permet une personnalisation concise et expressive des algorithmes dans le C++ moderne.
Leçon 5 • Itérateurs et plages
Enseigne les catégories d'itérateurs, l'arithmétique des itérateurs et les boucles for basées sur une plage. Les itérateurs sont l'interface universelle entre les conteneurs et les algorithmes.
Chapitre 7MasquerCacher les détailsVoir les détailsGestion de la mémoire et sécurité des ressources
Gestion de la mémoire et sécurité des ressources
Leçon 1 • Gestion des exceptions et sécurité
Couvre la syntaxe try/catch/throw, les hiérarchies d'exceptions et les garanties de sécurité face aux exceptions. Une gestion robuste des erreurs évite les fuites de ressources dans des conditions exceptionnelles.
Leçon 2 • RAII et propriété des ressources
Explique l'idiome RAII et comment les constructeurs/destructeurs assurent la sécurité des ressources. Le RAII est le fondement de toute gestion sûre des ressources dans le C++ moderne.
Leçon 3 • Pointeurs intelligents en profondeur
Couvre la sémantique et les motifs d'utilisation de unique_ptr, shared_ptr et weak_ptr. Les pointeurs intelligents éliminent les appels manuels à delete et préviennent les erreurs de propriété.
Leçon 4 • Sémantique de copie et de déplacement
Enseigne les constructeurs de copie, l'affectation par copie, les constructeurs de déplacement et l'affectation par déplacement. La règle des cinq régit la conception correcte des classes possédant des ressources.
Leçon 5 • Débogage et profilage de la mémoire
Introduit des outils pour détecter les fuites, les accès invalides et la corruption du tas mémoire. Les compétences en profilage sont essentielles pour maintenir du code C++ de qualité production.
Chapitre 8MasquerCacher les détailsVoir les détailsE/S de fichiers, concurrence et programmation système
E/S de fichiers, concurrence et programmation système
Leçon 1 • Multithreading avec std::thread
Enseigne la création, la jointure et le détachement de threads à l'aide de la bibliothèque de threads C++11. Les principes fondamentaux de la concurrence permettent la conception de programmes parallèles dans ce chapitre.
Leçon 2 • Interfaces de processus et système
Introduit la création de processus, les variables d'environnement et les appels système. Fournit le contexte au niveau du système d'exploitation nécessaire à l'écriture de programmes C système.
Leçon 3 • Principes de base des réseaux et des sockets
Introduit l'API socket BSD pour la communication TCP/UDP en C/C++. Les compétences en réseau étendent les applications C/C++ aux contextes distribués et client-serveur.
Leçon 4 • Synchronisation et courses aux données
Couvre les mutex, les variables de condition et les opérations atomiques pour prévenir les courses aux données. Une synchronisation sûre est obligatoire pour des programmes concurrents corrects.
Leçon 5 • E/S de fichiers en C et C++
Couvre fopen/fclose en C et fstream en C++ pour la lecture et l'écriture de fichiers. Les E/S de fichiers sont requises pour la persistance des données dans tous les projets de synthèse.
Votre certificat valide de réussite
Ce cours est pour vous :
Étudiants en informatique : cherchant une profondeur pratique au-delà de ce que les salles de classe offrent généralement.
Développeurs Python ou JavaScript : prêts à comprendre ce qui se passe sous la couche d'abstraction.
Ingénieurs électriciens : ayant besoin de compétences en C pour écrire et maintenir des micrologiciels pour des projets matériels.
Personnes en reconversion professionnelle : visant des rôles systèmes ou embarqués qui exigent une maîtrise de la programmation bas niveau.
Développeurs de jeux : souhaitant optimiser le code critique en termes de performances écrit en C ou C++.
Programmeurs autodidactes : construisant la base rigoureuse que des langages structurés comme le C exigent.
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 avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

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.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable en Côte d’Ivoire ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont 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 ça marche ?
Cours PDF




















