Kurs „C++-Entwickler“ – Kurs 126.000 Rubel. von Yandex Workshop, Ausbildung 9 Monate, Datum: 11. Dezember 2023.
Verschiedenes / / November 28, 2023
Sie lernen nur das, was Ihnen bei Ihrer Arbeit auf jeden Fall nützlich sein wird.
C++ ist eine komplexe Sprache für komplexe Systeme: selbstfahrende Autos und Robotik, Webbrowser, Mikrocontroller, Server und Videospiele. Der Kurs ist nicht einfach, aber auch Anfänger können ihn meistern, wenn sie genügend Zeit und Mühe in das Lernen investieren.
Leitender Elektronikentwicklungsingenieur, angehender Embedded-Entwickler und Mentor beim Workshop.
Kursprogramm „C++ Developer“
Sie können zwischen einem Basis- und einem Fortgeschrittenenprogramm wählen: Beherrschen Sie nur das Wesentliche, was für einen Junior-Entwickler notwendig ist, oder erwerben Sie weitere Fähigkeiten, erweitern Sie Ihren Lebenslauf und steigen Sie schnell auf die mittlere Ebene auf. Wir aktualisieren die Materialien regelmäßig – Sie lernen nur das, was Sie in der Praxis unbedingt brauchen.
Kostenloses optionales Modul10 StundenGrundlegende Programmierkonzepte
Sie erlernen die Grundlagen der Programmierung und lernen, einfache Programme in C++ zu schreiben
Einführung in C++
Variablen und Eingabe
Bedingungen, for-Schleife
Funktionen
Dieses Modul ist optional, hilft Ihnen aber dabei, sich mit unserem Schulungsformat vertraut zu machen.
1 Modul 20 Stunden
Einführung in C++
Sie lernen die Grundfunktionen der Sprache C++ kennen und schreiben mehr als 25 Programme darin.
Sprint 0. C++-Grundlagen.
• Zahlen und Linien. Operationen an ihnen. Eingabe und Ausgabe
• Zustand und Zyklen
• V bedeutet Vektor
• Funktionen
• Behälterset
• Tiefes Kopieren, Referenzen und Konstanz
• Kartencontainer
• Git
Suchserverprojekt
Schaffen Sie die Grundlage für Ihre eigene Suchmaschine.
2 Module120 Stunden
Grundlegende Konzepte der C++-Sprache und ihrer Standardbibliothek
Sie beherrschen Konzepte, die für eine vollwertige C++-Entwicklung wichtig sind:
• Iteratoren – um mit allen Standardalgorithmen zu arbeiten,
• Konstruktoren – um das Erstellen von Objekten zu vereinfachen,
• Funktionsvorlagen – um universellen Code zu schreiben.
Und lernen Sie auch, mit komplexen Programmen umzugehen: Teilen Sie den Code in mehrere Dateien auf und testen Sie ihn.
Sprint 1. Wir studieren grundlegende Algorithmen, Strukturen und Datenklassen. Wir gehen auf Details ein und vermeiden Codeduplizierung.
• Einfache Algorithmen
• Strukturen und Klassen
• Lambda-Funktionen
Sprint 2. Werfen wir einen genaueren Blick auf C++-Ganzzahltypen sowie Tupel und Funktionsvorlagen. Lassen Sie uns herausfinden, wie sehr sich C++ der Einsparung von Ressourcen widmet, und lernen, wie man die damit verbundenen Fehler vermeidet.
• Arbeiten mit der Visual Studio Code-Umgebung
• Numerische Typen
• Paare und Tupel
• Funktionsvorlagen
• Sichtbarkeit und Initialisierung von Variablen
Sprint 3. Testen Sie den Code und beherrschen Sie die Leistungsfähigkeit und Flexibilität von Klassen.
• Einführung in das Testen
• Test- und Debugging-Tools
• Objektlebenszyklus
• Überlastung des Bedieners
• Fehlerbearbeitung. Ausnahmen
Sprint 4. Wir teilen den Code in mehrere Dateien auf und vertiefen unser Wissen über Standardalgorithmen.
• Iteratoren
• Suchalgorithmen
• Stack, Queue, Dec
• Codeverteilung zwischen Dateien
Suchserverprojekt
Machen Sie den Code objektorientiert, schreiben Sie ein Framework für Komponententests und teilen Sie den Code in Dateien auf.
3 Module130 Stunden
Leistung und Optimierung
Sie lernen, die Wirksamkeit einer Hochleistungsanwendung vor und nach ihrer Entwicklung zu bewerten. Erfahren Sie, wie Sie mit Dateien und regulären Ausdrücken arbeiten. Machen Sie sich mit der inneren Struktur von Containern vertraut. Auf diese Weise können Sie verstehen, wie Sie Sprachelemente so konfigurieren, dass sie effektiv funktionieren. Um unnötiges Kopieren in Ihrem Code zu vermeiden, beherrschen Sie die Bewegungssemantik.
Sprint 5. Wir arbeiten an der Geschwindigkeit des Codes und mit Dateien.
• Profilierung und Beschleunigung
• Streaming-Tricks
• Einfach über Komplexität. Geschwindigkeitstheorie
• Arbeiten mit Dateien
Sprint 6. Lernen, mit dem Gedächtnis umzugehen.
• Speichermodell in C++
• Einfach verknüpfte Liste
Sprint 7. Wir verstehen die innere Struktur von Containern und beherrschen die Semantik der Bewegung.
• Effiziente lineare Behälter
• Bewegungssemantik
Projekt „Ihr eigener Präprozessor“
Einen Teil von C++ implementieren Sie selbst, nämlich den Präprozessor, der den Quellcode an den Compiler übergibt und die Anweisungen verarbeitet.
Projekt „Einfach verknüpfte Liste“
Sie erstellen Ihre eigene Version einer einfach verknüpften Liste, eines Containers, der das effiziente Hinzufügen und Entfernen von Elementen unterstützt.
Projekt „Einfacher Vektor“
Sie schreiben Ihre eigene Version eines Vektors, eines Containers, der effizienten Zugriff auf Elemente bietet.
4 Module120 Stunden
Codequalität
Sie lernen Tools kennen, die den Code aufgeräumt und vor menschlichem Versagen schützen: Namespaces, Konstanz, RAII. Erfahren Sie, wie Sie Ihr Programm vor Wachstumsschmerzen bewahren. Meistern Sie den dynamischen Polymorphismus.
Sprint 8. Wir untersuchen assoziative Container und Namespaces.
• Assoziative Container
• Namen und Namensräume
Sprint 9. Wir vereinfachen den Code mithilfe intelligenter Zeiger und verstehen das Konzept des undefinierten Verhaltens.
• Intelligente Zeiger
• Undefiniertes Verhalten
Sprint 10. Wir vereinfachen den Code weiterhin durch Vererbung und Polymorphismus.
• Vererbung und Polymorphismus
Sprint 11. Wir beherrschen Software-Design-Praktiken.
• Konstanz als Element der Programmgestaltung
• Redewendung RAII
Sprint 12. Code-Eleganz erreichen.
• Philosophie der guten Eigenschaften
• Übergabe von Daten an die Funktion
• Daten von einer Funktion abrufen
• Refactoring
Projekt „Verkehrsverzeichnis“
Schreiben Sie ein Programm, mit dem Sie Buslinien in der Stadt erstellen können.
5 Module140 Stunden
Entwerfen komplexer Programme
Sie schreiben einen vollwertigen Vektor, machen sich mit verschiedenen Vorlagen und Ausnahmesicherheitsgarantien vertraut.
Sprint 13. Versuchen wir uns selbst als Bibliotheksentwickler und überlegen wir uns die Platzierung von Objekten im Speicher.
• DIY-Vektor
• Objekte im Speicher speichern
Sprint 14. Wir schauen uns an, wie Polymorphismus funktioniert, studieren das beliebte CMake-Build-System, lernen, Bibliotheken von Drittanbietern zu verwenden und unsere eigenen zu schreiben.
• Virtuelle Methodentabelle
• Wir sammeln auf eine neue Art. CMake
Projekt „Containervektor“
Sie entwickeln einen Vektor, der seine Größe automatisch vergrößert, effizient mit dem Speicher arbeitet und Objekte nicht umsonst kopiert.
Projekt „Verkehrsverzeichnis“
Teilen Sie das Transportverzeichnis in zwei Programme auf: eines baut die Datenbank auf, das andere verarbeitet Abfragen.
6 Module40 Stunden
Projekt „Tabellenkalkulation“
Sie stärken die Fähigkeiten, klaren und skalierbaren Code zu schreiben: Sie entwickeln ein großes Programm, das Sie in Zukunft weiterentwickeln können.
Sprint 15. Abschlussprojekt
Diplomarbeit „Tabellenkalkulation“
Diplomarbeit „Tabellenkalkulation“
Zuerst verteidigen Sie ein Designprojekt für eine Tabelle mit Zellen und Formeln und schreiben dann den Code.
Modul 7148 Stunden (nur im Aufbaukurs)
C++ für Backend
Nach dem Kernprogramm können Sie eine zusätzliche Spezialisierung anstreben, um C++ für die Backend-Entwicklung zu verwenden.
In 3 Monaten:
• Entwickeln Sie Software für Linux.
• Erwerben Sie Kenntnisse im Lasttesten.
• Lernen Sie, mit Docker und PostgreSQL DBMS zu arbeiten.
• Erweitern Sie Ihr Wissen über C++-Entwicklungsbibliotheken und nutzen Sie boost:: asio und boost:: beast in Ihrem Projekt.
Projekt „Game of Courier“
Schreiben Sie Code für das Backend eines kleinen Spiels. Darin konkurrieren Kurierspieler darum, wer am besten durch das Straßenlabyrinth navigieren und die maximale Anzahl an Bestellungen ausliefern kann.
K
kudryashovda
03.10.2020 G.
Passieren!
Ich möchte meine Beobachtungen zum C++-Entwicklerkurs mitteilen. Der Kurs begann vor 4 Wochen, davor habe ich einen ganzen Monat damit verbracht, im kostenlosen Teil des Kurses Probleme zu lösen. Lassen Sie mich das gleich klarstellen: Das Kursteam sammelt ständig Feedback von Studierenden – zunächst durch das Ausfüllen anonymer Formulare, jetzt durch einen Bewertungswettbewerb. Für einen Rückblick zum Thema des Gewinnspiels wurde eine Packung Kaffee versprochen :) Ansonsten, wie sonst...
Ein C#-Entwickler ist eine Person, die einen magischen „Zauber“ in den Computercode schreibt. Damit der Computer versteht, was und wann er zählen, tun und auf dem Bildschirm anzeigen muss. Jeder C#-Entwickler spürt, wie sehr er von seinen Mitmenschen respektiert wird. Er entscheidet selbst, wo er arbeitet. Und deshalb arbeitet er manchmal unter Palmen.
4,1
19 990 ₽