Choisissez votre langue
Cours de programmation avancée
Plus de 2 millions d'apprenants dans le monde

Cours de programmation avancée

Fais passer ta carrière de programmeur au niveau supérieur avec un programme conçu pour les ingénieurs qui prennent au sérieux l'écriture de code de qualité production. Des structures de données et de la conception de systèmes à la concurrence et à la sécurité, chaque sujet est ancré dans une application concrète. Ce cours te donne la profondeur technique et les compétences professionnelles que les postes d'ingénieur senior exigent.

Dedika pour entreprises

Ce que vous allez apprendre:

Tu maîtriseras les structures de données avancées, la conception d'algorithmes et les principes de la programmation orientée objet qui constituent le fondement des logiciels évolutifs. Tu appliqueras des techniques de programmation fonctionnelle, des patrons de concurrence et des flux de travail asynchrones pour construire des systèmes à haut débit. Le cours couvre l'architecture logicielle, la conception d'API et les patrons d'accès aux bases de données pour créer des services maintenables à grande échelle. Tu développeras également des stratégies de test complètes, des flux d'optimisation de performance et des pratiques de codage sécurisé. Des modules supplémentaires abordent les pipelines DevOps, l'architecture en nuage native, le génie des données et l'intégration de modèles ML, complétant ainsi un ensemble de compétences complet d'ingénieur senior.

Comment vous étudiez de façon pratique Cours de programmation avancée

Comment vous pratiquez Cours de programmation avancée

Pour vous, entreprise, qui souhaitez former votre équipe

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

Cliquez ici

Contenu du cours

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

Chapitre 1Voir les détails

Fondements de la programmation et configuration de l'environnement

  • Leçon 1 • Contrôle de version avec Git

    Présente les flux de travail Git essentiels pour les projets avancés, qu'ils soient collaboratifs ou individuels. Les étudiants effectuent des validations, créent des branches et fusionnent en toute confiance d'ici la fin de la section.

  • Leçon 2 • Révision des concepts de base de la programmation

    Revient sur les variables, les types de données et les opérateurs comme base pour le travail avancé. Assure une assise conceptuelle uniforme avant d'introduire des motifs complexes.

  • Leçon 3 • Flux de contrôle et gestion des erreurs

    Examine les conditionnelles, les boucles et la gestion structurée des exceptions comme éléments constitutifs de programmes robustes. Fait le lien direct avec les pratiques de codage défensif utilisées tout au long du cours.

  • Leçon 4 • Configuration de l'environnement de développement

    Couvre la sélection d'un IDE, les écosystèmes de plugins et les variables d'environnement. Un environnement bien réglé accélère toutes les tâches de codage subséquentes dans le cours.

Chapitre 2Voir les détails

Structures de données et conception d'algorithmes

  • Leçon 1 • Structures de données non linéaires

    Explore les arbres, les tas et les graphes comme structures pour les données hiérarchiques et relationnelles. Les étudiants implémentent des algorithmes de parcours et de recherche sur chaque structure.

  • Leçon 2 • Structures de données linéaires

    Couvre les tableaux, les listes chaînées, les piles et les files d'attente avec leurs compromis d'implémentation. Fournit le vocabulaire structurel nécessaire pour tout le travail algorithmique subséquent.

  • Leçon 3 • Tables de hachage et résolution de collisions

    Examine la conception de fonctions de hachage et les stratégies de collision pour des recherches en temps moyen constant O(1). Fait le lien avec les scénarios réels de mise en cache et d'indexation présentés plus tard.

  • Leçon 4 • Analyse de la complexité des algorithmes

    Enseigne les notations grand O, grand Thêta et grand Oméga pour un raisonnement rigoureux sur la performance. Les étudiants annotent leur propre code avec des preuves de complexité.

  • Leçon 5 • Algorithmes de tri et de recherche

    Analyse les tris par comparaison et non par comparaison ainsi que les variantes de la recherche binaire. Les étudiants comparent les implémentations pour intérioriser les compromis entre temps et espace.

Chapitre 3Voir les détails

Principes de conception orientée objet

  • Leçon 1 • Patrons de conception : création

    Couvre les patrons Factory, Builder, Singleton et Prototype avec leur justification d'utilisation. Les étudiants implémentent chaque patron et identifient les anti-patrons de mauvaise utilisation.

  • Leçon 2 • Patrons de conception : structurels et comportementaux

    Examine les patrons Adaptateur, Décorateur, Observateur et Stratégie comme solutions à des problèmes de conception récurrents. Les étudiants sélectionnent des patrons en fonction d'une analyse des axes de changement.

  • Leçon 3 • Principes SOLID en pratique

    Applique chaque principe SOLID à des exemples de code réalistes avec des comparaisons avant-après. Développe le jugement nécessaire pour évaluer la qualité de conception lors des revues de code.

  • Leçon 4 • Encapsulation et abstraction

    Définit le masquage de l'information et la conception par interface comme outils pour réduire le couplage. Les étudiants reconçoivent des API qui fuient pour imposer des limites d'accès appropriées.

  • Leçon 5 • Héritage et polymorphisme

    Oppose l'héritage classique à la composition et explique le polymorphisme d'exécution. Les étudiants identifient quand l'héritage crée de la fragilité et remanient en conséquence.

Chapitre 4Voir les détails

Techniques de programmation fonctionnelle

  • Leçon 1 • Monades et gestion fonctionnelle des erreurs

    Présente les types Maybe, Either et Result comme abstractions composables de gestion des erreurs. Les étudiants remplacent les vérifications de nullité imbriquées par des pipelines monadiques.

  • Leçon 2 • Fermetures et portée lexicale

    Explique comment les fermetures capturent l'environnement et permettent des motifs fonctionnels avec état. Les étudiants déboguent des pièges courants de fermeture dans des contextes de boucle et asynchrones.

  • Leçon 3 • Fonctions d'ordre supérieur

    Couvre map, filter, reduce et la composition de fonctions comme outils principaux de transformation de données. Fait le lien avec les architectures de pipeline présentées dans les chapitres ultérieurs.

  • Leçon 4 • Fonctions pures et immutabilité

    Définit la transparence référentielle et l'isolation des effets de bord comme fondement du style fonctionnel. Les étudiants auditent le code existant pour détecter les mutations d'état cachées.

Chapitre 5Voir les détails

Programmation concurrente et asynchrone

  • Leçon 1 • Motifs réactifs et événementiels

    Présente les flux observables et la contre-pression comme outils pour des flux de travail asynchrones composables. Les étudiants construisent un pipeline réactif traitant des sources de données à débit variable.

  • Leçon 2 • Structures de données concurrentes

    Examine les files d'attente sans verrou, les tables de hachage concurrentes et les opérations atomiques pour la réduction de la contention. Fait le lien avec la conception de services haute performance dans les chapitres ultérieurs.

  • Leçon 3 • Async/Await et promesses

    Enseigne le chaînage de promesses et la syntaxe async/await pour les opérations d'E/S non bloquantes. Les étudiants convertissent du code à forte utilisation de rappels en pipelines asynchrones propres.

  • Leçon 4 • Modèles de fils d'exécution et de processus

    Oppose la concurrence basée sur les fils et celle basée sur les processus avec les implications en matière d'ordonnancement. Établit le modèle mental nécessaire pour tous les sujets de concurrence subséquents.

  • Leçon 5 • Primitives de synchronisation

    Couvre les mutex, les sémaphores et les verrous de lecture-écriture pour un accès sécurisé à l'état partagé. Les étudiants reproduisent puis corrigent des situations de concurrence classiques dans des exercices en laboratoire.

Chapitre 6Voir les détails

Architecture logicielle et conception de systèmes

  • Leçon 1 • Motifs d'évolutivité et de fiabilité

    Enseigne l'équilibrage de charge, les disjoncteurs et l'isolation par cloisonnement pour des services tolérants aux pannes. Les étudiants appliquent des motifs à une architecture de référence sous panne simulée.

  • Leçon 2 • Enregistrements de décisions d'architecture

    Formalise le processus de documentation des choix de conception avec le contexte, les options et les conséquences. Les étudiants produisent des ADR pour chaque décision majeure de leur projet de synthèse.

  • Leçon 3 • Conception d'API et développement axé sur le contrat

    Couvre les principes REST, les schémas GraphQL et les contrats gRPC comme outils de conception d'interfaces. Les étudiants rédigent des spécifications d'API avant l'implémentation pour imposer une discipline de contrat.

  • Leçon 4 • Aperçu des styles architecturaux

    Examine les styles monolithique, en couches, en microservices et événementiel avec des matrices de compromis. Fournit le vocabulaire pour toutes les décisions de conception subséquentes dans le cours.

  • Leçon 5 • Conception de bases de données et motifs d'accès

    Examine la normalisation relationnelle, la modélisation de données NoSQL et l'optimisation des requêtes pour diverses charges de travail. Les étudiants choisissent des moteurs de stockage en fonction d'une analyse des motifs d'accès.

Chapitre 7Voir les détails

Tests, débogage et qualité du code

  • Leçon 1 • Analyse statique et revue de code

    Applique des linters, des vérificateurs de types et des listes de contrôle structurées pour la revue afin d'imposer des barrières de qualité. Les étudiants effectuent des revues par les pairs à l'aide d'une grille dérivée des principes SOLID.

  • Leçon 2 • Tests de performance et de charge

    Présente le profilage, l'analyse comparative et la simulation de charge pour identifier les goulots d'étranglement avant la mise en production. Les étudiants corrèlent la sortie du profileur avec les décisions architecturales.

  • Leçon 3 • Tests d'intégration et de bout en bout

    Couvre les tests de contrat, les tests d'intégration de base de données et l'automatisation de l'interface utilisateur pour la validation de toute la pile. Les étudiants conçoivent une pyramide de tests équilibrant vitesse et confiance.

  • Leçon 4 • Fondamentaux des tests unitaires

    Établit la structure des tests, les bibliothèques d'assertions et le motif Arrange-Act-Assert pour des tests isolés. Les étudiants ajoutent des tests à du code existant en utilisant l'injection de dépendances.

  • Leçon 5 • Développement piloté par les tests

    Applique le cycle rouge-vert-remaniement pour orienter la conception à partir de tests échoués. Les étudiants construisent une fonctionnalité de bout en bout en utilisant une discipline TDD stricte.

Chapitre 8Voir les détails

Optimisation de la performance et motifs avancés

  • Leçon 1 • Gestion de la mémoire et optimisation

    Examine le réglage du ramasse-miettes, le regroupement d'objets et la détection de fuites mémoire pour les systèmes à faible latence. Les étudiants réduisent les allocations sur le tas dans un service à haut débit fourni.

  • Leçon 2 • Patrons de conception avancés

    Présente CQRS, la source d'événements et les patrons Saga pour des scénarios complexes de domaine et distribués. Les étudiants implémentent un agrégat basé sur une source d'événements avec une capacité de rejeu complète.

  • Leçon 3 • Informatique parallèle et distribuée

    Applique les motifs de parallélisme de données, de parallélisme de tâches et MapReduce à des calculs à grande échelle. Les étudiants partitionnent un travail par lots sur des nœuds de travail et mesurent l'accélération.

  • Leçon 4 • Stratégies de mise en cache

    Couvre la mise en cache en mémoire, distribuée et CDN avec des politiques d'invalidation pour chaque niveau. Les étudiants implémentent un cache multicouche et mesurent les améliorations du taux de succès.

  • Leçon 5 • Flux de travail d'optimisation pilotée par le profilage

    Établit une boucle mesurer-analyser-optimiser reproductible fondée sur des données empiriques. Les étudiants appliquent le flux de travail à leur projet de synthèse et documentent les gains.

Certification

Votre certificat valide de réussite

Ce cours est pour vous :

  • Développeur intermédiaire : prêt à passer du travail sur des fonctionnalités à la propriété du système.

  • Diplômé en informatique : comblant l'écart entre la théorie académique et la pratique industrielle.

  • Programmeur autodidacte : comblant les lacunes critiques que les tutoriels n'ont jamais abordées.

  • Ingénieur backend : cherchant la profondeur en architecture et en conception que les promotions exigent.

  • Personne en réorientation de carrière : apportant son expertise de domaine et construisant maintenant des bases solides en génie logiciel.

  • Praticien DevOps : élargissant ses compétences en conception logicielle pour mieux collaborer avec les développeurs.

Ce que nos apprenants disent

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 à 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 Numérique
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'aime le contenu et la façon dont il est présenté ainsi que la transcription des vidéos, 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 au Canada ?

Les cours sont-ils gratuits?

Quelle est la charge de travail des 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 fonctionne?

Cours PDF