Amerikano
Модератор
- Сообщения
- 19,453
- Реакции
- 366,685
Автор: Яндекс.Практикум
Название: Разработчик C++ [Часть 2 из 9] (2021)
Часть 2
Разработчик C++ участвует в создании сложных современных IT-продуктов: от беспилотных автомобилей и робототехники до веб-браузеров, микроконтроллеров, серверов и видеоигр. Вы изучите важнейшие инструменты программирования на C++, а также освоите необходимые в бэкенд-разработке базы данных и Git. В процессе обучения создадите несколько действующих сервисов.
Что вы получите в Практикуме
За 9 месяцев обучения по 15 часов в неделю вы освоите навыки разработки на C++, соберёте портфолио. Вот над какими проектами вам предстоит трудиться:
Поисковая система
Вы создадите свою поисковую систему, которая будет искать документы по запросам и ранжировать их. При этом вы используете алгоритмы, применяемые в реальных поисковых системах
Маршрутизатор для города
Вы разработаете программу, позволяющую строить маршруты в городе. Она будет поддерживать перемещение на общественном транспорте, а также пешие маршруты. Точь-в-точь, как маршрутизатор в Яндекс.Картах
Система управления электронными таблицами
Вы сделаете свой аналог Excel — систему управления электронными таблицами. Она будет уметь работать с формулами и ячейками различного типа, а также находить циклические зависимости между ними
Программа обучения:
Основы C++. Бесплатный вводный курс [30 часов]
Вы познакомитесь с основными возможностями языка С++ и самостоятельно напишете на нём более 25 программ. По итогам этого модуля вы создадите на С++ собственную поисковую систему.
Основные компоненты C++ [120 часов]
Вы освоите ряд понятий, важных для полноценной разработки на C++. Итераторы помогут применять всё многообразие стандартных алгоритмов, конструкторы сделают создание объектов удобным и гибким, а шаблоны функций позволят сделать код более универсальным.
Помимо этого, вы научитесь работать со сложными программами на C++. Разбиение кода на несколько файлов поможет не загнуться под тяжестью растущей программы, а тестирование не даст коварным ошибкам попасть в продакшн.
Эффективность кода [120 часов]
Эффективность высокопроизводительного приложения важно уметь оценить до и после его разработки. Для предварительной оценки проводят асимптотический анализ кода. После написания программы применяют профилировщики.
Писать производительные программы во многом помогают стандартные алгоритмы и контейнеры. Вы познакомитесь с внутренним устройством некоторых контейнеров и напишете первую версию собственного вектора. Заглянув под капот, вы лучше поймёте, как настроить элементы языка на более эффективную работу.
Избежать лишних копирований позволяет move-семантика. А многопоточные программы при грамотном проектировании выжмут максимум из всех ядер процессора.
Элегантность и масштабируемость [120 часов]
Некоторые инструменты языка формально не нужны. Без них можно обойтись, но они делают код опрятным и защищают его от человеческих ошибок. Так, пространства имён разделяют сущности языка на смысловые блоки с общим именем. Константность и RAII подсказывают разработчику, как лучше использовать конкретный объект, метод или класс.
Вы освоите приёмы, которые помогут будущим поколениям понять, «что хотел сказать автор», и избавят программу от проблем роста.
Наконец, вы изучите динамический полиморфизм, узнаете, как хранить наборы объектов разных типов и выполнять над ними общие операции.
Разработка библиотек и больших проектов [120 часов]
Вы изучите темы, важные для разработки больших программ и даже отдельных библиотек. Основы сериализации объектов и библиотека protobuf помогут вашим программам обмениваться данными, а плотная упаковка сэкономит ценную память. Понимание концепции undefined behaviour и умение его обнаружения позволит избежать сложных ошибок.
Вы напишете полноценный вектор, попутно познакомитесь с variadic templates — шаблонами с переменным числом аргументов — и гарантиями безопасности исключений.
Дипломный проект [50 часов]
В заключение вы напишете настоящий дипломный проект — крупную программу, которую сможете развивать. Именно так вы закрепите свои навыки написания понятного и масштабируемого кода
Подробнее:
Скачать:
Название: Разработчик C++ [Часть 2 из 9] (2021)
Часть 2
Разработчик C++ участвует в создании сложных современных IT-продуктов: от беспилотных автомобилей и робототехники до веб-браузеров, микроконтроллеров, серверов и видеоигр. Вы изучите важнейшие инструменты программирования на C++, а также освоите необходимые в бэкенд-разработке базы данных и Git. В процессе обучения создадите несколько действующих сервисов.
Что вы получите в Практикуме
За 9 месяцев обучения по 15 часов в неделю вы освоите навыки разработки на C++, соберёте портфолио. Вот над какими проектами вам предстоит трудиться:
Поисковая система
Вы создадите свою поисковую систему, которая будет искать документы по запросам и ранжировать их. При этом вы используете алгоритмы, применяемые в реальных поисковых системах
Маршрутизатор для города
Вы разработаете программу, позволяющую строить маршруты в городе. Она будет поддерживать перемещение на общественном транспорте, а также пешие маршруты. Точь-в-точь, как маршрутизатор в Яндекс.Картах
Система управления электронными таблицами
Вы сделаете свой аналог Excel — систему управления электронными таблицами. Она будет уметь работать с формулами и ячейками различного типа, а также находить циклические зависимости между ними
Программа обучения:
Основы C++. Бесплатный вводный курс [30 часов]
Вы познакомитесь с основными возможностями языка С++ и самостоятельно напишете на нём более 25 программ. По итогам этого модуля вы создадите на С++ собственную поисковую систему.
Основные компоненты C++ [120 часов]
Вы освоите ряд понятий, важных для полноценной разработки на C++. Итераторы помогут применять всё многообразие стандартных алгоритмов, конструкторы сделают создание объектов удобным и гибким, а шаблоны функций позволят сделать код более универсальным.
Помимо этого, вы научитесь работать со сложными программами на C++. Разбиение кода на несколько файлов поможет не загнуться под тяжестью растущей программы, а тестирование не даст коварным ошибкам попасть в продакшн.
Эффективность кода [120 часов]
Эффективность высокопроизводительного приложения важно уметь оценить до и после его разработки. Для предварительной оценки проводят асимптотический анализ кода. После написания программы применяют профилировщики.
Писать производительные программы во многом помогают стандартные алгоритмы и контейнеры. Вы познакомитесь с внутренним устройством некоторых контейнеров и напишете первую версию собственного вектора. Заглянув под капот, вы лучше поймёте, как настроить элементы языка на более эффективную работу.
Избежать лишних копирований позволяет move-семантика. А многопоточные программы при грамотном проектировании выжмут максимум из всех ядер процессора.
Элегантность и масштабируемость [120 часов]
Некоторые инструменты языка формально не нужны. Без них можно обойтись, но они делают код опрятным и защищают его от человеческих ошибок. Так, пространства имён разделяют сущности языка на смысловые блоки с общим именем. Константность и RAII подсказывают разработчику, как лучше использовать конкретный объект, метод или класс.
Вы освоите приёмы, которые помогут будущим поколениям понять, «что хотел сказать автор», и избавят программу от проблем роста.
Наконец, вы изучите динамический полиморфизм, узнаете, как хранить наборы объектов разных типов и выполнять над ними общие операции.
Разработка библиотек и больших проектов [120 часов]
Вы изучите темы, важные для разработки больших программ и даже отдельных библиотек. Основы сериализации объектов и библиотека protobuf помогут вашим программам обмениваться данными, а плотная упаковка сэкономит ценную память. Понимание концепции undefined behaviour и умение его обнаружения позволит избежать сложных ошибок.
Вы напишете полноценный вектор, попутно познакомитесь с variadic templates — шаблонами с переменным числом аргументов — и гарантиями безопасности исключений.
Дипломный проект [50 часов]
В заключение вы напишете настоящий дипломный проект — крупную программу, которую сможете развивать. Именно так вы закрепите свои навыки написания понятного и масштабируемого кода
Подробнее:
Для просмотра ссылок Войдите в аккаунт или Зарегистрируйтесь
Скачать:
Для просмотра ссылок Войдите в аккаунт или Зарегистрируйтесь
Похожие темы из этого раздела:
- [Product University] Telegram-бот Developer (2022)
- [Product University] Blockchain Developer c нуля (2024)
- [Илья Низамов] Telegram Web App 1C (2024)
- [Рик Ховард] Кибербезопасность: главные принципы (2024)
- [Nikolay Petrov] ClickHouse для аналитика [Stepik] (2023)
- [Игнат Егоров] Разработчик мобильных приложений на FlutterFlow (2024)
- [Pikuma] Программирование трехмерной компьютерной графики (2023)
- [Игнат Егоров] Разработчик мобильных приложений на FlutterFlow (2023)
- [Матвеев М.Д.] Весь Linux. Для тех, кто хочет стать профессионалом (2024)
- [Cuantum Technologies] Алгоритмы с нуля [Питер] (2024)