Cours "Développeur C++" - cours 126 000 roubles. de Yandex Workshop, formation 9 mois, date: 11 décembre 2023.
Miscellanea / / November 28, 2023
Vous n'apprendrez que ce qui sera certainement utile dans votre travail.
C++ est un langage complexe pour des systèmes complexes: voitures et robots autonomes, navigateurs Web, microcontrôleurs, serveurs et jeux vidéo. Le cours n'est pas facile, mais même les débutants peuvent le maîtriser s'ils consacrent suffisamment de temps et d'efforts à l'apprentissage.
Ingénieur senior en développement électronique, aspirant développeur embarqué et mentor à l'Atelier.
Programme de cours "Développeur C++"
Vous pouvez choisir entre un programme de base et un programme avancé: maîtrisez uniquement les bases nécessaires à un développeur junior ou acquérez plus de compétences, étoffez votre CV et évoluez rapidement jusqu'au niveau intermédiaire. Nous mettons régulièrement à jour le matériel - vous apprenez uniquement ce dont vous aurez certainement besoin dans la pratique.
Module optionnel gratuit10 heuresConcepts de programmation de base
Vous apprendrez les bases de la programmation et apprendrez à écrire des programmes simples en C++
Introduction au C++
Variables et entrée
Conditions, boucle for
Les fonctions
Ce module est facultatif, mais vous aidera à vous familiariser avec notre format de formation.
1 module 20 heures
Introduction au C++
Vous vous familiariserez avec les capacités de base du langage C++ et y écrirez plus de 25 programmes.
Sprint 0. Bases du C++.
• Nombres et lignes. Opérations sur eux. Entrée et sortie
• État et cycles
• V signifie vecteur
• Les fonctions
• Ensemble de conteneurs
• Copie approfondie, références et constance
• Conteneur de cartes
• Git
Projet de serveur de recherche
Créez la base de votre propre moteur de recherche.
2 modules120 heures
Concepts de base du langage C++ et de sa bibliothèque standard
Vous maîtriserez les concepts importants pour un développement C++ à part entière :
• itérateurs - pour travailler avec tous les algorithmes standards,
• constructeurs - pour faciliter la création d'objets,
• modèles de fonctions - pour écrire du code universel.
Et apprenez également à gérer des programmes complexes: divisez le code en plusieurs fichiers et testez-le.
Sprint 1. Nous étudions les algorithmes de base, les structures et les classes de données. Nous plongeons dans les détails et évitons la duplication de code.
• Algorithmes simples
• Structures et classes
• Fonctions Lambda
Sprint 2. Examinons de plus près les types entiers C++, ainsi que les tuples et les modèles de fonctions. Découvrons à quel point le C++ est dédié à l'économie de ressources et apprenons à éviter les erreurs qui y sont associées.
• Travailler avec l'environnement Visual Studio Code
• Types numériques
• Paires et tuples
• Modèles de fonctions
• Visibilité et initialisation des variables
Sprint 3. Tester le code et maîtriser la puissance et la flexibilité des classes.
• Introduction aux tests
• Outils de test et de débogage
• Cycle de vie des objets
• Surcharge des opérateurs
• Traitement des erreurs. Des exceptions
Sprint 4. Nous divisons le code en plusieurs fichiers et approfondissons nos connaissances des algorithmes standards.
• Itérateurs
• Algorithmes de recherche
• Pile, file d'attente, déc.
• Répartition du code entre les fichiers
Projet de serveur de recherche
Rendez le code orienté objet, écrivez un cadre pour les tests unitaires et divisez le code en fichiers.
3 modules130 heures
Performances et optimisation
Vous apprendrez à évaluer l'efficacité d'une application performante avant et après son développement. Apprenez à travailler avec des fichiers et des expressions régulières. Familiarisez-vous avec la structure interne des conteneurs. Cela vous permettra de comprendre comment configurer les éléments du langage pour qu'ils fonctionnent efficacement. Pour éviter les copies inutiles dans votre code, maîtrisez la sémantique des mouvements.
Sprint 5. Nous travaillons sur la rapidité du code et des fichiers.
• Profilage et accélération
• Astuces de diffusion en continu
• Juste une question de complexité. Théorie de la vitesse
• Travailler avec des fichiers
Sprint 6. Apprendre à gérer la mémoire.
• Modèle de mémoire en C++
• Liste à chaînage unique
Sprint 7. Nous comprenons la structure interne des conteneurs et maîtrisons la sémantique du mouvement.
• Conteneurs linéaires efficaces
• Déplacer la sémantique
Projet « Votre propre préprocesseur »
Vous implémentez vous-même une partie du C++, à savoir le préprocesseur, qui transmet le code source au compilateur et traite les directives.
Projet "Liste à chaînage unique"
Vous allez créer votre propre version d'une liste à chaînage unique, un conteneur qui prend en charge l'ajout et la suppression efficaces d'éléments.
Projet "Vecteur Simple"
Vous écrirez votre propre version d'un vecteur, un conteneur qui fournit un accès efficace aux éléments.
4 modules120 heures
Qualité du code
Vous apprendrez des outils qui maintiennent le code propre et protégé contre les erreurs humaines: espaces de noms, constance, RAII. Apprenez à sauver votre programme des difficultés de croissance. Maîtrisez le polymorphisme dynamique.
Sprint 8. Nous étudions les conteneurs associatifs et les espaces de noms.
• Conteneurs associatifs
• Noms et espaces de noms
Sprint 9. Nous simplifions le code à l'aide de pointeurs intelligents et comprenons le concept de comportement indéfini.
• Pointeurs intelligents
• Comportement non défini
Sprint 10. Nous continuons à simplifier le code en utilisant l'héritage et le polymorphisme.
• Héritage et polymorphisme
Sprint 11. Nous maîtrisons les pratiques de conception de logiciels.
• La constance comme élément de conception du programme
• Idiome RAII
Sprint 12. Atteindre l’élégance du code.
• Philosophie des bonnes fonctionnalités
• Transmission de données à la fonction
• Obtenir des données à partir d'une fonction
• Refactorisation
Projet "Annuaire des Transports"
Écrivez un programme qui vous permet de construire des lignes de bus dans la ville.
5 modules140 heures
Concevoir des programmes complexes
Vous écrirez un vecteur à part entière, vous familiariserez avec les modèles variadiques et les garanties de sécurité exceptionnelles.
Sprint 13. Essayons-nous en tant que développeurs de bibliothèques et considérons le placement des objets en mémoire.
• Vecteur de bricolage
• Stockage d'objets en mémoire
Sprint 14. Nous examinons le fonctionnement du polymorphisme, étudions le système de construction populaire CMake, apprenons à utiliser des bibliothèques tierces et écrivons les nôtres.
• Tableau des méthodes virtuelles
• Nous collectons d'une nouvelle manière. CMake
Projet "Vecteur de conteneurs"
Vous développerez un vecteur qui augmente automatiquement sa taille, fonctionne efficacement avec la mémoire et ne copie pas les objets en vain.
Projet "Annuaire des Transports"
Divisez le répertoire de transport en deux programmes: l'un construit la base de données, l'autre traite les requêtes.
6 modules40 heures
Projet "Feuille de calcul"
Vous renforcerez les compétences d'écriture de code clair et évolutif: vous développerez un grand programme que vous pourrez développer dans le futur.
Sprint 15. Projet de diplôme
Projet de diplôme « Feuille de calcul »
Projet de diplôme « Feuille de calcul »
Tout d’abord, vous défendrez un projet de conception d’un tableau avec des cellules et des formules, puis écrirez le code.
Module 7148 heures (uniquement dans le cours avancé)
C++ pour le back-end
Après le programme de base, vous pouvez poursuivre une spécialisation supplémentaire pour utiliser le C++ pour le développement back-end.
En 3 mois vous :
• Développer des logiciels pour Linux.
• Acquérir des compétences en matière de tests de charge.
• Apprenez à travailler avec les SGBD Docker et PostgreSQL.
• Développez vos connaissances des bibliothèques de développement C++ et utilisez boost:: asio et boost:: beast dans votre projet.
Projet "Jeu de Courrier"
Écrivez du code pour le backend d'un petit jeu. Dans ce document, les joueurs de messagerie s'affrontent pour voir qui saura le mieux naviguer dans le labyrinthe des rues et livrer le nombre maximum de commandes.
K
Kudryashovda
03.10.2020 G.
Passer!
J'aimerais partager mes observations sur le cours Développeur C++. Le cours a commencé il y a 4 semaines et avant cela, j'ai passé un mois entier à résoudre des problèmes dans la partie gratuite du cours. Permettez-moi de clarifier tout de suite: l'équipe du cours recueille constamment les commentaires des étudiants - d'abord en remplissant des formulaires anonymes, et maintenant par le biais d'un concours de révision. Pour une revue sur le thème du concours, un paquet de café était promis :) Sinon, comment faire autrement...
Un développeur C# est une personne qui écrit un « sort » magique sur l’ordinateur: le code. Pour que l'ordinateur comprenne quoi et quand compter, faire et afficher à l'écran. Chaque développeur C# sent à quel point il est respecté par son entourage. Il décide lui-même où travailler. Et c'est pour cela qu'il travaille parfois sous les palmiers.
4,1
19 990 ₽