[Яндекс.Практикум] Разработчик C++ [Часть 5 из 9] (2023)
Разработчик C++ участвует в создании сложных IT-продуктов: от беспилотных автомобилей и робототехники до веб-браузеров, микроконтроллеров, серверов и видеоигр. На этом языке можно создавать с нуля самые разные программы, а крепкая база знаний по C++ позволит легко освоить любой смежный инструмент.
Что вы получите от курса:
С++ — сложный язык для сложных систем: беспилотных автомобилей и робототехники, веб-браузеров, микроконтроллеров, серверов и видеоигр. Курс непростой, но освоить его могут даже новички, если уделять обучению достаточно времени и усилий.
Программа курса
0 модуль. Базовые понятия программирования (опциональный). 10 часов
Вы узнаете об основах программирования и научитесь писать простые программы на C++
Вы познакомитесь с основными возможностями языка С++ и напишете на нём более 25 программ
Вы освоите понятия, важные для полноценной разработки на C++:
итераторы — чтобы работать со всеми стандартными алгоритмами,
конструкторы — чтобы создавать объекты стало проще,
шаблоны функций — чтобы писать универсальный код.
А ещё научитесь обращаться со сложными программами: разбивать код на несколько файлов и тестировать его.
Спринт 1. Изучаем Git, базовые алгоритмы, структуры и классы данных. Погружаемся в детали и избегаем дублирования кода.
Вы научитесь оценивать эффективность высокопроизводительного приложения до и после его разработки. Познакомитесь с внутренним устройством контейнеров — это позволит понять, как настраивать элементы языка на эффективную работу. Чтобы избегать лишних копирований в коде, освоите move-семантику. А чтобы выжимать максимум из всех ядер процессора, начнёте писать многопоточные программы.
Спринт 6. Работаем над скоростью кода.
Вы изучите инструменты, которые защищают код от человеческих ошибок и делают его опрятным: пространства имён, константность, RAII. Узнаете, как избавить программу от проблем роста. Освоите динамический полиморфизм.
Спринт 10. Изучаем ассоциативные контейнеры и пространства имён.
Вы изучите основы сериализации объектов и библиотеку protobuf. Они помогут вашим программам обмениваться данными, а плотная упаковка сэкономит память. Разберётесь в концепции undefined behaviour. Напишете полноценный вектор, познакомитесь с variadic templates и гарантиями безопасности исключений.
Спринт 14. Пробуем себя в роли разработчиков библиотек.
Вы закрепите навыки написания понятного и масштабируемого кода: разработаете крупную программу, которую сможете развивать в будущем.
Курс «Разработчик C++»: онлайн-обучение программированию на языке C++ с нуля
СКАЧАТЬ
Разработчик C++ участвует в создании сложных IT-продуктов: от беспилотных автомобилей и робототехники до веб-браузеров, микроконтроллеров, серверов и видеоигр. На этом языке можно создавать с нуля самые разные программы, а крепкая база знаний по C++ позволит легко освоить любой смежный инструмент.
Что вы получите от курса:
- Научитесь писать эффективный код Разберётесь в стандартной библиотеке C++ Начнёте работать с Git, IDE и компиляторами Познакомитесь с базовыми алгоритмами и структурами данных Создадите действующие сервисы и добавите 3+ проекта в портфолио
- Вы никогда не программировали и хотите начать с языка С++ Вы начинаете не с нуля и хотите освоить C++ для карьерного роста Вы с опытом, но хотите выучить новый язык и сменить работу Вам не хватает крепкой базы программирования
С++ — сложный язык для сложных систем: беспилотных автомобилей и робототехники, веб-браузеров, микроконтроллеров, серверов и видеоигр. Курс непростой, но освоить его могут даже новички, если уделять обучению достаточно времени и усилий.
Программа курса
0 модуль. Базовые понятия программирования (опциональный). 10 часов
Вы узнаете об основах программирования и научитесь писать простые программы на C++
- Знакомство с С++ Переменные и ввод Условные конструкции, цикл for Функции
Вы познакомитесь с основными возможностями языка С++ и напишете на нём более 25 программ
- Числа и строки. Операции над ними. Ввод и вывод Условия и циклы V значит вектор Функции Контейнер set Глубокое копирование, ссылки и константность Контейнер map
Вы освоите понятия, важные для полноценной разработки на C++:
итераторы — чтобы работать со всеми стандартными алгоритмами,
конструкторы — чтобы создавать объекты стало проще,
шаблоны функций — чтобы писать универсальный код.
А ещё научитесь обращаться со сложными программами: разбивать код на несколько файлов и тестировать его.
Спринт 1. Изучаем Git, базовые алгоритмы, структуры и классы данных. Погружаемся в детали и избегаем дублирования кода.
- Git Простые алгоритмы Структуры и классы Лямбда-функции
- Работа со средой Eclipse Числовые типы Пары и кортежи Шаблоны функций Видимость и инициализация переменных
- Введение в тестирование Фреймворк для юнит-тестов Компиляция и отладка в консоли
- Жизненный цикл объекта Перегрузка операторов Обработка ошибок. Исключения
- Итераторы Алгоритмы поиска Стек, очередь, дек Распределение кода по файлам
Вы научитесь оценивать эффективность высокопроизводительного приложения до и после его разработки. Познакомитесь с внутренним устройством контейнеров — это позволит понять, как настраивать элементы языка на эффективную работу. Чтобы избегать лишних копирований в коде, освоите move-семантику. А чтобы выжимать максимум из всех ядер процессора, начнёте писать многопоточные программы.
Спринт 6. Работаем над скоростью кода.
- Профилируем и ускоряем Потоковые хитрости Просто о сложности. Теория быстродействия
- Модель памяти в C++ Односвязный список
- Санитайзеры и другие инструменты поиска ошибок Эффективные линейные контейнеры Семантика перемещения
- Параллельные алгоритмы Асинхронные вычисления Состояние гонки и защита от него
Вы изучите инструменты, которые защищают код от человеческих ошибок и делают его опрятным: пространства имён, константность, RAII. Узнаете, как избавить программу от проблем роста. Освоите динамический полиморфизм.
Спринт 10. Изучаем ассоциативные контейнеры и пространства имён.
- Ассоциативные контейнеры Имена и пространства имён
- Умные указатели Наследование и полиморфизм
- Константность как элемент проектирования программ Работа с файлами Идиома RAII
- Философия хороших функций Передаём данные в функцию Получаем данные из функции Рефакторинг
Вы изучите основы сериализации объектов и библиотеку protobuf. Они помогут вашим программам обмениваться данными, а плотная упаковка сэкономит память. Разберётесь в концепции undefined behaviour. Напишете полноценный вектор, познакомитесь с variadic templates и гарантиями безопасности исключений.
Спринт 14. Пробуем себя в роли разработчиков библиотек.
- Undefined Behavior Vector своими руками
- Хранение объектов в памяти Таблица виртуальных методов Собираем по-новому. CMake Сериализация и protobuf
Вы закрепите навыки написания понятного и масштабируемого кода: разработаете крупную программу, которую сможете развивать в будущем.
- Разработка интерпретатора языка Mython Дипломный проект «Электронная таблица»
Курс «Разработчик C++»: онлайн-обучение программированию на языке C++ с нуля
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.