Курс "C++ Developer" - курс 126 000 rub. от Yandex Workshop, обучение 9 месеца, дата: 11 декември 2023 г.
разни / / November 28, 2023
Ще научите само това, което определено ще бъде полезно в работата ви.
C++ е сложен език за сложни системи: самоуправляващи се автомобили и роботика, уеб браузъри, микроконтролери, сървъри и видео игри. Курсът не е лесен, но дори и начинаещите могат да го овладеят, ако отделят достатъчно време и усилия за учене.
Старши инженер по разработка на електроника, амбициозен разработчик на вградени системи и ментор в семинара.
Програма на курса "C++ Developer"
Можете да избирате между основна и напреднала програма: овладейте само най-важното, необходимо за младши разработчик или придобийте повече умения, разширете автобиографията си и бързо израснете до средно ниво. Ние редовно актуализираме материалите - научавате само това, което определено ще ви трябва на практика.
Безплатен незадължителен модул10 часа Основни концепции за програмиране
Ще научите основите на програмирането и ще научите как да пишете прости програми на C++
Въведение в C++
Променливи и вход
Условни, for цикъл
Функции
Този модул не е задължителен, но ще ви помогне да се запознаете с нашия формат на обучение.
1 модул 20 часа
Въведение в C++
Ще се запознаете с основните възможности на езика C++ и ще напишете повече от 25 програми на него.
Спринт 0. Основи на C++.
• Числа и линии. Операции върху тях. Вход и изход
• Състояние и цикли
• V означава вектор
• Функции
• Комплект контейнери
• Задълбочено копиране, референции и постоянство
• Контейнер за карта
• Git
Проект за сървър за търсене
Създайте основата за вашата собствена търсачка.
2 модул 120 часа
Основни понятия на езика C++ и неговата стандартна библиотека
Ще овладеете концепции, важни за пълноценното разработване на C++:
• итератори - за работа с всички стандартни алгоритми,
• конструктори - за по-лесно създаване на обекти,
• шаблони на функции - за писане на универсален код.
И също така научете как да работите със сложни програми: разбийте кода на няколко файла и го тествайте.
Спринт 1. Изучаваме основни алгоритми, структури и класове данни. Потапяме се в детайли и избягваме дублиране на кодове.
• Прости алгоритми
• Структури и класове
• Ламбда функции
Спринт 2. Нека разгледаме по-отблизо целочислените типове на C++, както и кортежите и шаблоните на функциите. Нека да разберем доколко C++ е посветен на пестенето на ресурси и да научим как да избягваме грешките, свързани с него.
• Работа със средата на Visual Studio Code
• Числови типове
• Двойки и кортежи
• Функционални шаблони
• Видимост и инициализация на променливите
Спринт 3. Тестване на кода и овладяване на силата и гъвкавостта на класовете.
• Въведение в тестването
• Инструменти за тестване и отстраняване на грешки
• Жизнен цикъл на обекта
• Претоварване на оператора
• Обработка на грешки. Изключения
Спринт 4. Разделяме кода на няколко файла и задълбочаваме знанията си за стандартните алгоритми.
• Итератори
• Алгоритми за търсене
• Стек, опашка, дек
• Разпределение на кода между файловете
Проект за сървър за търсене
Направете кода обектно-ориентиран, напишете рамка за модулни тестове и разделете кода на файлове.
3 модул 130 часа
Ефективност и оптимизация
Ще се научите да оценявате ефективността на високопроизводително приложение преди и след неговото разработване. Научете как да работите с файлове и регулярни изрази. Запознайте се с вътрешната структура на контейнерите. Това ще ви позволи да разберете как да конфигурирате езиковите елементи, за да работят ефективно. За да избегнете ненужно копиране във вашия код, овладейте семантиката на преместване.
Спринт 5. Работим върху скоростта на кода и с файловете.
• Профилиране и акселерация
• Стрийминг трикове
• Само за сложността. Теория на скоростта
• Работа с файлове
Спринт 6. Да се научим да управляваме паметта.
• Модел на паметта в C++
• Единично свързан списък
Спринт 7. Ние разбираме вътрешната структура на контейнерите и владеем семантиката на движението.
• Ефективни линейни контейнери
• Семантика на преместване
Проект „Вашият собствен препроцесор“
Вие сами имплементирате част от C++, а именно препроцесора, който предава изходния код на компилатора и обработва директивите.
Проект "Списък с отделни връзки"
Ще създадете своя собствена версия на единично свързан списък, контейнер, който поддържа ефективно добавяне и премахване на елементи.
Проект "Прост вектор"
Ще напишете своя собствена версия на вектор, контейнер, който осигурява ефективен достъп до елементи.
4 модул 120 часа
Качество на кода
Ще научите инструменти, които поддържат кода подреден и защитен от човешка грешка: пространства от имена, постоянство, RAII. Научете как да спасите програмата си от нарастващи болки. Овладейте динамичния полиморфизъм.
Спринт 8. Изучаваме асоциативни контейнери и пространства от имена.
• Асоциативни контейнери
• Имена и пространства от имена
Спринт 9. Ние опростяваме кода с помощта на интелигентни указатели и разбираме концепцията за недефинирано поведение.
• Интелигентни указатели
• Неопределено поведение
Спринт 10. Продължаваме да опростяваме кода, използвайки наследяване и полиморфизъм.
• Унаследяване и полиморфизъм
Спринт 11. Ние владеем практиките за проектиране на софтуер.
• Постоянността като елемент от дизайна на програмата
• Идиом RAII
Спринт 12. Постигане на елегантност на кода.
• Философия на добрите качества
• Предаване на данни към функцията
• Получаване на данни от функция
• Рефакторинг
Проект "Транспортен справочник"
Напишете програма, която ви позволява да изграждате автобусни маршрути в града.
5 модул 140 часа
Проектиране на комплексни програми
Ще напишете пълноценен вектор, ще се запознаете с различни шаблони и изключителни гаранции за безопасност.
Спринт 13. Нека се пробваме като разработчици на библиотеки и да разгледаме поставянето на обекти в паметта.
• Направи си сам вектор
• Съхраняване на обекти в паметта
Спринт 14. Разглеждаме как работи полиморфизмът, изучаваме популярната система за изграждане на CMake, научаваме се да използваме библиотеки на трети страни и пишем свои собствени.
• Таблица с виртуални методи
• Събираме по нов начин. CMake
Проект "Контейнер вектор"
Ще разработите вектор, който автоматично увеличава размера си, работи ефективно с паметта и не копира обекти напразно.
Проект "Транспортен справочник"
Разделете транспортната директория на две програми: едната изгражда базата данни, другата обработва заявки.
6 модул 40 часа
Проект "Електронна таблица"
Ще укрепите уменията за писане на ясен и мащабируем код: ще разработите голяма програма, която можете да развиете в бъдеще.
Спринт 15. Проект за дипломиране
Дипломен проект “Електронна таблица”
Дипломен проект “Електронна таблица”
Първо ще защитите дизайнерски проект за таблица с клетки и формули, след което ще напишете кода.
Модул 7148 часа (само в напредналия курс)
C++ за бекенд
След основната програма можете да продължите допълнителна специализация, за да използвате C++ за back-end разработка.
След 3 месеца вие:
• Разработване на софтуер за Linux.
• Придобийте умения за тестване на натоварване.
• Научете се да работите с Docker и PostgreSQL DBMS.
• Разширете познанията си за библиотеките за разработка на C++ и използвайте boost:: asio и boost:: beast във вашия проект.
Проект "Игра на куриер"
Напишете код за бекенда на малка игра. В него играчите на куриери се състезават, за да видят кой може най-добре да се ориентира в лабиринта от улици и да достави максимален брой поръчки.
К
кудряшовда
03.10.2020 Ж.
пас!
Бих искал да споделя моите наблюдения за курса за разработчици на C++. Курсът започна преди 4 седмици, плюс преди това прекарах цял месец в решаване на задачи в безплатната част на курса. Веднага да уточня - екипът на курса непрекъснато събира обратна връзка от студентите - първо чрез попълване на анонимни формуляри, а сега и чрез конкурс за преглед. За ревю по темата на състезанието беше обещан пакет кафе :) Иначе как иначе...
C# разработчикът е човек, който пише магическо „заклинание“ на компютъра - код. Така че компютърът да разбере какво и кога да брои, прави и показва на екрана. Всеки C# разработчик усеща колко е уважаван от околните. Той сам решава къде да работи. И затова понякога работи под палмите.
4,1
19 990 ₽