Corso "Sviluppatore C++" - corso 126.000 rubli. da Yandex Workshop, formazione 9 mesi, data: 11 dicembre 2023.
Miscellanea / / November 28, 2023
Imparerai solo ciò che sarà sicuramente utile nel tuo lavoro.
C++ è un linguaggio complesso per sistemi complessi: automobili e robotica a guida autonoma, browser Web, microcontrollori, server e videogiochi. Il corso non è facile, ma anche i principianti possono padroneggiarlo se dedicano abbastanza tempo e impegno all'apprendimento.
Ingegnere senior di sviluppo elettronico, aspirante sviluppatore embedded e mentore al Workshop.
Programma del corso "Sviluppatore C++"
Puoi scegliere tra un programma base e uno avanzato: padroneggia solo gli elementi essenziali necessari per uno sviluppatore junior o acquisisci più competenze, espandi il tuo curriculum e cresci rapidamente fino al livello medio. Aggiorniamo regolarmente i materiali: impari solo ciò di cui avrai sicuramente bisogno nella pratica.
Modulo opzionale gratuito10 oreConcetti di programmazione di base
Imparerai le basi della programmazione e imparerai a scrivere semplici programmi in C++
Introduzione al C++
Variabili e input
Condizionali, per loop
Funzioni
Questo modulo è facoltativo, ma ti aiuterà a familiarizzare con il nostro formato di formazione.
1 modulo 20 ore
Introduzione al C++
Acquisirai familiarità con le funzionalità di base del linguaggio C++ e scriverai più di 25 programmi.
Sprint 0. Nozioni di base sul C++.
• Numeri e linee. Operazioni su di loro. Ingresso e uscita
• Condizione e cicli
• V significa vettore
• Funzioni
• Set contenitori
• Copiatura profonda, riferimenti e costanza
• Contenitore della mappa
• Idiota
Progetto del server di ricerca
Crea le basi per il tuo motore di ricerca.
2 moduli120 ore
Concetti di base del linguaggio C++ e della sua libreria standard
Imparerai concetti importanti per lo sviluppo C++ completo:
• iteratori - per lavorare con tutti gli algoritmi standard,
• costruttori - per rendere più semplice la creazione di oggetti,
• modelli di funzioni - per scrivere codice universale.
E impara anche come gestire programmi complessi: suddividi il codice in più file e testalo.
Sprint 1. Studiamo algoritmi di base, strutture e classi di dati. Entriamo nei dettagli ed evitiamo la duplicazione del codice.
• Algoritmi semplici
• Strutture e classi
• Funzioni Lambda
Sprint 2. Diamo un'occhiata più da vicino ai tipi interi C++, nonché alle tuple e ai modelli di funzioni. Scopriamo quanto il C++ sia dedicato al risparmio di risorse e impariamo come evitare gli errori ad esso associati.
• Lavorare con l'ambiente Visual Studio Code
• Tipi numerici
• Coppie e tuple
• Modelli di funzioni
• Visibilità e inizializzazione delle variabili
Sprint 3. Testare il codice e padroneggiare la potenza e la flessibilità delle lezioni.
• Introduzione al testing
• Strumenti di test e debug
• Ciclo di vita dell'oggetto
• Sovraccarico dell'operatore
• Elaborazione degli errori. Eccezioni
Sprint 4. Dividiamo il codice in più file e approfondiamo la nostra conoscenza degli algoritmi standard.
• Iteratori
• Algoritmi di ricerca
• Impila, accoda, decrementa
• Distribuzione del codice tra i file
Progetto del server di ricerca
Rendi il codice orientato agli oggetti, scrivi un framework per i test unitari e dividi il codice in file.
3 moduli130 ore
Prestazioni e ottimizzazione
Imparerai a valutare l'efficacia di un'applicazione ad alte prestazioni prima e dopo il suo sviluppo. Scopri come lavorare con file ed espressioni regolari. Familiarizzare con la struttura interna dei contenitori. Ciò ti consentirà di capire come configurare gli elementi del linguaggio per funzionare in modo efficace. Per evitare copie non necessarie nel codice, padroneggia la semantica dello spostamento.
Sprint 5. Stiamo lavorando sulla velocità del codice e con i file.
• Profilazione e accelerazione
• Trucchi in streaming
• Quasi complessità. Teoria della velocità
• Lavorare con i file
Sprint 6. Imparare a gestire la memoria.
• Modello di memoria in C++
• Elenco collegato singolarmente
Sprint7. Comprendiamo la struttura interna dei contenitori e padroneggiamo la semantica del movimento.
• Contenitori lineari efficienti
• Spostare la semantica
Progetto “Il tuo preprocessore”
Implementi tu stesso una parte del C++, vale a dire il preprocessore, che trasmette il codice sorgente al compilatore ed elabora le direttive.
Progetto "Lista concatenata singolarmente"
Creerai la tua versione di un elenco collegato singolarmente, un contenitore che supporta l'aggiunta e la rimozione efficiente di elementi.
Progetto "Vettore Semplice"
Scriverai la tua versione di un vettore, un contenitore che fornisce un accesso efficiente agli elementi.
4 moduli120 ore
Qualità del codice
Imparerai strumenti che mantengono il codice ordinato e protetto dagli errori umani: spazi dei nomi, costanza, RAII. Scopri come salvare il tuo programma dai problemi della crescita. Padroneggia il polimorfismo dinamico.
Sprint 8. Studiamo contenitori associativi e namespace.
• Contenitori associativi
• Nomi e spazi dei nomi
Sprint 9. Semplifichiamo il codice utilizzando puntatori intelligenti e comprendiamo il concetto di comportamento indefinito.
• Puntatori intelligenti
• Comportamento indefinito
Sprint 10. Continuiamo a semplificare il codice utilizzando ereditarietà e polimorfismo.
• Ereditarietà e polimorfismo
Sprint 11. Padroneggiamo le pratiche di progettazione del software.
• La costanza come elemento di progettazione del programma
• Idioma RAII
Sprint 12. Raggiungere l'eleganza del codice.
• Filosofia delle buone caratteristiche
• Passaggio dei dati alla funzione
• Ottenere dati da una funzione
• Refactoring
Progetto "Direttorio dei trasporti"
Scrivi un programma che ti permetta di costruire linee di autobus in città.
5 moduli140 ore
Progettare programmi complessi
Scriverai un vettore a tutti gli effetti, conoscerai i modelli variadici e le garanzie di sicurezza delle eccezioni.
Sprint 13. Proviamoci come sviluppatori di librerie e consideriamo il posizionamento degli oggetti in memoria.
• Vettore fai da te
• Memorizzazione di oggetti in memoria
Sprint 14. Esaminiamo come funziona il polimorfismo, studiamo il popolare sistema di build CMake, impariamo a utilizzare librerie di terze parti e scriviamo le nostre.
• Tabella dei metodi virtuali
• Raccogliamo in un modo nuovo. CMake
Progetto "Vettore contenitore"
Svilupperai un vettore che aumenta automaticamente le sue dimensioni, funziona in modo efficiente con la memoria e non copia gli oggetti invano.
Progetto "Direttorio dei trasporti"
Dividere la directory di trasporto in due programmi: uno costruisce il database, l'altro elabora le query.
6 moduli40 ore
Progetto "Foglio di calcolo"
Rafforzerai le capacità di scrivere codice chiaro e scalabile: svilupperai un programma di grandi dimensioni che potrai sviluppare in futuro.
Sprint 15. Progetto di diploma
Progetto di diploma “Foglio di calcolo”
Progetto di diploma “Foglio di calcolo”
Per prima cosa difenderai un progetto di design per una tabella con celle e formule, quindi scriverai il codice.
Modulo 7148 ore (solo nel corso avanzato)
C++ per il back-end
Dopo il programma principale, puoi perseguire una specializzazione aggiuntiva per utilizzare C++ per lo sviluppo back-end.
In 3 mesi:
• Sviluppare software per Linux.
• Acquisire competenze nei test di carico.
• Impara a lavorare con Docker e DBMS PostgreSQL.
• Amplia la tua conoscenza delle librerie di sviluppo C++ e utilizza boost:: asio e boost:: beast nel tuo progetto.
Progetto "Gioco del corriere"
Scrivi il codice per il backend di un piccolo gioco. In esso, i giocatori dei corrieri competono per vedere chi può navigare meglio nel labirinto di strade e consegnare il numero massimo di ordini.
K
kudryashovda
03.10.2020 G.
Passaggio!
Vorrei condividere le mie osservazioni sul corso per sviluppatori C++. Il corso è iniziato 4 settimane fa, in più prima ho trascorso un mese intero a risolvere i problemi nella parte gratuita del corso. Vorrei chiarire subito: il team del corso raccoglie costantemente feedback dagli studenti, prima compilando moduli anonimi e ora attraverso un concorso di revisione. Per una recensione sul tema del concorso era stato promesso un pacchetto di caffè :) Altrimenti, come altrimenti...
Uno sviluppatore C# è una persona che scrive un "incantesimo" magico sul codice del computer. In modo che il computer capisca cosa e quando contare, fare e mostrare sullo schermo. Ogni sviluppatore C# sente di essere rispettato da coloro che lo circondano. Decide lui stesso dove lavorare. Ed è per questo che a volte lavora sotto le palme.
4,1
19 990 ₽