Cursus "C++ Developer" - cursus 126.000 wrijven. van Yandex Workshop, training 9 maanden, datum: 11 december 2023.
Gemengde Berichten / / November 28, 2023
Je leert alleen wat zeker nuttig zal zijn in je werk.
C++ is een complexe taal voor complexe systemen: zelfrijdende auto's en robotica, webbrowsers, microcontrollers, servers en videogames. De cursus is niet eenvoudig, maar zelfs beginners kunnen deze onder de knie krijgen als ze voldoende tijd en moeite aan het leren besteden.
Senior elektronica-ontwikkelingsingenieur, aspirant embedded ontwikkelaar en mentor bij de workshop.
Cursusprogramma "C++ Developer"
Je kunt kiezen tussen een basis- en een gevorderdenprogramma: beheers alleen de essentiële zaken die nodig zijn voor een junior ontwikkelaar of verwerf meer vaardigheden, breid je CV uit en groei snel door naar het middenniveau. We actualiseren de materialen regelmatig - u leert alleen wat u in de praktijk zeker nodig zult hebben.
Gratis optionele module10 uurBasisprogrammeerconcepten
Je leert de basisprincipes van programmeren en leert eenvoudige programma's schrijven in C++
Inleiding tot C++
Variabelen en invoer
Voorwaardelijke, voor lus
Functies
Deze module is optioneel, maar zal u helpen vertrouwd te raken met ons trainingsformat.
1 module 20 uur
Inleiding tot C++
Je raakt vertrouwd met de basismogelijkheden van de taal C++ en schrijft er ruim 25 programma's in.
Sprint 0. C++-basisprincipes.
• Cijfers en lijnen. Operaties daarop. Input en output
• Conditie en cycli
• V betekent vector
• Functies
• Containerset
• Diep kopiëren, referenties en standvastigheid
• Kaartcontainer
• Git
Zoekserverproject
Creëer de basis voor uw eigen zoekmachine.
2 module120 uur
Basisconcepten van de C++-taal en de standaardbibliotheek ervan
Je beheerst concepten die belangrijk zijn voor volwaardige C++-ontwikkeling:
• iterators - om met alle standaardalgoritmen te werken,
• constructors - om het gemakkelijker te maken objecten te maken,
• functiesjablonen - om universele code te schrijven.
En leer ook omgaan met complexe programma's: breek de code in verschillende bestanden en test deze.
Sprinten 1. We bestuderen basisalgoritmen, structuren en dataklassen. We duiken in de details en vermijden duplicatie van code.
• Eenvoudige algoritmen
• Structuren en klassen
• Lambda-functies
Sprint 2. Laten we C++ integer-typen eens nader bekijken, evenals tupels en functiesjablonen. Laten we eens kijken hoe toegewijd C++ is aan het besparen van bronnen, en leren hoe we de daarmee gepaard gaande fouten kunnen vermijden.
• Werken met de Visual Studio Code omgeving
• Numerieke typen
• Paren en tupels
• Functiesjablonen
• Zichtbaarheid en initialisatie van variabelen
Sprinten 3. Het testen van de code en het beheersen van de kracht en flexibiliteit van klassen.
• Inleiding tot testen
• Tools voor testen en debuggen
• Levenscyclus van objecten
• Overbelasting van de machinist
• Foutverwerking. Uitzonderingen
Sprinten 4. We splitsen de code op in verschillende bestanden en verdiepen onze kennis van standaardalgoritmen.
• Iteratoren
• Zoekalgoritmen
• Stapel, wachtrij, dec
• Codeverdeling tussen bestanden
Zoekserverproject
Maak de code objectgeoriënteerd, schrijf een raamwerk voor unit-tests en verdeel de code in bestanden.
3 module130 uur
Prestaties en optimalisatie
Je leert de effectiviteit van een krachtige applicatie voor en na de ontwikkeling ervan evalueren. Leer hoe u met bestanden en reguliere expressies kunt werken. Maak kennis met de interne structuur van containers. Hierdoor kunt u begrijpen hoe u taalelementen kunt configureren zodat ze effectief werken. Om onnodig kopiëren in uw code te voorkomen, moet u de semantiek van verplaatsingen beheersen.
Sprinten 5. We werken aan de snelheid van de code en met bestanden.
• Profilering en versnelling
• Streamingtrucs
• Alleen maar over complexiteit. Snelheidstheorie
• Werken met bestanden
Sprinten 6. Leren omgaan met het geheugen.
• Geheugenmodel in C++
• Afzonderlijk gekoppelde lijst
Sprinten 7. We begrijpen de interne structuur van containers en beheersen de semantiek van beweging.
• Efficiënte lineaire containers
• Semantiek verplaatsen
Project “Je eigen preprocessor”
Een deel van C++ implementeer je zelf, namelijk de preprocessor, die de broncode doorgeeft aan de compiler en de richtlijnen verwerkt.
Project "Single Linked List"
U maakt uw eigen versie van een enkelvoudig gekoppelde lijst, een container die het efficiënt toevoegen en verwijderen van elementen ondersteunt.
Project "Eenvoudige vector"
Je schrijft je eigen versie van een vector, een container die efficiënte toegang tot elementen biedt.
4 module120 uur
Codekwaliteit
Je leert tools die de code netjes houden en beschermen tegen menselijke fouten: naamruimten, constantheid, RAII. Leer hoe u uw programma kunt behoeden voor groeipijnen. Beheers dynamisch polymorfisme.
Sprinten 8. We bestuderen associatieve containers en naamruimten.
• Associatieve containers
• Namen en naamruimten
Sprinten 9. We vereenvoudigen de code met behulp van slimme aanwijzingen en begrijpen het concept van ongedefinieerd gedrag.
• Slimme wijzers
• Ongedefinieerd gedrag
Sprinten 10. We blijven de code vereenvoudigen met behulp van overerving en polymorfisme.
• Overerving en polymorfisme
Sprinten 11. Wij beheersen softwareontwerppraktijken.
• Constantheid als onderdeel van programmaontwerp
• Idioom RAII
Sprinten 12. Code-elegantie bereiken.
• Filosofie van goede eigenschappen
• Gegevens doorgeven aan de functie
• Gegevens ophalen uit een functie
• Refactoring
Project "Transportgids"
Schrijf een programma waarmee je busroutes in de stad kunt aanleggen.
5 module140 uur
Het ontwerpen van complexe programma's
Je schrijft een volwaardige vector, maakt kennis met variadische sjablonen en uitzonderingsveiligheidsgaranties.
Sprinten 13. Laten we onszelf als bibliotheekontwikkelaars uitproberen en de plaatsing van objecten in het geheugen overwegen.
• DIY-vector
• Objecten in het geheugen opslaan
Sprinten 14. We kijken hoe polymorfisme werkt, bestuderen het populaire CMake-bouwsysteem, leren bibliotheken van derden te gebruiken en schrijven onze eigen bibliotheken.
• Virtuele Methodentabel
• Wij verzamelen op een nieuwe manier. CMaak
Project "Containervector"
Je ontwikkelt een vector die automatisch groter wordt, efficiënt met het geheugen werkt en niet tevergeefs objecten kopieert.
Project "Transportgids"
Verdeel de transportdirectory in twee programma's: het ene bouwt de database, het andere verwerkt queries.
6 module40 uur
Project "Spreadsheet"
Je versterkt de vaardigheden van het schrijven van duidelijke en schaalbare code: je ontwikkelt een groot programma dat je in de toekomst kunt ontwikkelen.
Sprinten 15. Afstudeerproject
Diplomaproject “Spreadsheet”
Diplomaproject “Spreadsheet”
Eerst verdedig je een ontwerpproject voor een tabel met cellen en formules en schrijf je vervolgens de code.
Module 7148 uur (alleen in de gevorderdencursus)
C++ voor back-end
Na het kernprogramma kun je een aanvullende specialisatie volgen om C++ te gebruiken voor back-endontwikkeling.
In 3 maanden:
• Ontwikkel software voor Linux.
• Vaardigheden verwerven in het testen van belastingen.
• Leer werken met Docker en PostgreSQL DBMS.
• Vergroot uw kennis van C++-ontwikkelbibliotheken en gebruik boost:: asio en boost:: beast in uw project.
Project "Spel van Koerier"
Schrijf code voor de backend van een klein spel. Daarin strijden koeriersspelers om te zien wie het beste door het labyrint van straten kan navigeren en het maximale aantal bestellingen kan bezorgen.
K
koedryashovda
03.10.2020 G.
Doorgang!
Ik wil graag mijn observaties delen over de cursus C++ Developer. De cursus begon 4 weken geleden, plus daarvoor heb ik een hele maand besteed aan het oplossen van problemen in het gratis deel van de cursus. Laat ik het meteen verduidelijken: het cursusteam verzamelt voortdurend feedback van studenten – eerst door anonieme formulieren in te vullen, en nu door middel van een beoordelingswedstrijd. Voor een recensie over het onderwerp van de wedstrijd werd een pak koffie beloofd :) Anders, hoe anders...
Een C#-ontwikkelaar is iemand die een magische “spreuk” naar de computercode schrijft. Zodat de computer begrijpt wat en wanneer hij moet tellen, doen en op het scherm moet laten zien. Elke C#-ontwikkelaar voelt hoeveel hij wordt gerespecteerd door de mensen om hem heen. Hij bepaalt zelf waar hij gaat werken. En daarom werkt hij soms onder de palmbomen.
4,1
19 990 ₽