C++ Developer от Otus
Вы научитесь
Программа курса
Обучение длится 10 месяцев. Каждую неделю будете заниматься по два раза, выполнять домашние и проектные работы (после каждой ступени). Сможете общаться со своими преподавателями, кураторами и однокурсниками, чтобы обсуждать вопросы по заданиям.
1 ступень
Посетите стартовый урок курса разработки на C++. Освоите азы программирования на стандартном коде. Погрузитесь в изучение синтаксиса языка Изучите возможные функции, которые встречаются в программировании. Рассмотрите тему модульности. Пообщаетесь с преподавателями по поводу вопросов в домашних заданиях. Ознакомитесь с CMake. Проанализируйте изученные и поймёте, как все это связано. В конце блока "введение" преподаватели ответит на ваши вопросы. Перейдёте к большой теме классов и структур. Узнаете, как в языке С++ выражается объектно-ориентированное программирование. Поймёте, как функция может обрабатывать разные типы данных. Рассмотрите примеры и типы классов и функций. Эксперты обратить ваше внимание на нюансы, которые стоит учитывать при работе. Познакомитесь с unit-тестированием – что это и зачем. Преподаватели объясняют, как выполнять те или иные домашние задания в случае возникновения вопросов. Получится набор инструментов, чтобы успешно проводить unit-тестирования. Научитесь использовать стандартную библиотеку языка. Получите представление о контейнерах и их применении. Эксперты поделятся некоторыми типами алгоритмов, упрощающих кодинг. Обратите внимание на сторонние библиотеки и работу с ними. Узнаете, какие средства автоматизации активно используются в последние годы. Получите навык сборки библиотек из готовых шаблонов. В этом блоке тем вы рассмотрите исключения, нюансы и полезные лайфхаки в программировании на С++. Поймёте, что такое семантика перемещения, и для чего она нужна. Получится навык использования динамической памяти Также рассмотрите специальные указатели, по которым можно ориентироваться. В конце блока стандартно сможете обратиться к преподавателям по вопросам в домашних заданиях. Узнаете, что такое поток выполнения программы. Разберитесь со сложностями, которые встречаются при работе с потоками. Сможете выявлять данные и их типы даже в многопоточность среде. Поймёте, сколько времени занимает настройка многопоточности и почему. Научитесь направлять потоки асинхронно. Рассмотрите некоторые нюансы, о которых не было сказано ранее. Получите возможность задать вопросы по теме многопоточность. Последний блок перед проектной работой посвещен различным аспектам при разработке на С++. Продолжите изучение полезных функций и практик. Получите набор инструментов, которые облегчит вашу работу. В конце первой ступени предусмотрено выполнение проектной работы на уровень Junior. Определите тему проекта вместе с вашим куратором и набросаете план работы. После подготовки проекта защитите его перед одногруппниками. Далее вас ждёт карьерная консультация: вы составите резюме, пройдете пробное собеседование и выполните тестовые задания компании. В самом конце подведём итог обучения в вашей группе, выделим сильные и слабые стороны в обучении.
Посетите стартовый урок курса разработки на C++. Освоите азы программирования на стандартном коде. Погрузитесь в изучение синтаксиса языка Изучите возможные функции, которые встречаются в программировании. Рассмотрите тему модульности. Пообщаетесь с преподавателями по поводу вопросов в домашних заданиях. Ознакомитесь с CMake. Проанализируйте изученные и поймёте, как все это связано. В конце блока "введение" преподаватели ответит на ваши вопросы.
Посетите стартовый урок курса разработки на C++.
Освоите азы программирования на стандартном коде.
Погрузитесь в изучение синтаксиса языка
Изучите возможные функции, которые встречаются в программировании.
Рассмотрите тему модульности.
Пообщаетесь с преподавателями по поводу вопросов в домашних заданиях.
Ознакомитесь с CMake.
Проанализируйте изученные и поймёте, как все это связано.
В конце блока "введение" преподаватели ответит на ваши вопросы.
Перейдёте к большой теме классов и структур. Узнаете, как в языке С++ выражается объектно-ориентированное программирование. Поймёте, как функция может обрабатывать разные типы данных. Рассмотрите примеры и типы классов и функций. Эксперты обратить ваше внимание на нюансы, которые стоит учитывать при работе.
Перейдёте к большой теме классов и структур.
Узнаете, как в языке С++ выражается объектно-ориентированное программирование.
Поймёте, как функция может обрабатывать разные типы данных.
Рассмотрите примеры и типы классов и функций.
Эксперты обратить ваше внимание на нюансы, которые стоит учитывать при работе.
Познакомитесь с unit-тестированием – что это и зачем. Преподаватели объясняют, как выполнять те или иные домашние задания в случае возникновения вопросов. Получится набор инструментов, чтобы успешно проводить unit-тестирования.
Познакомитесь с unit-тестированием – что это и зачем.
Преподаватели объясняют, как выполнять те или иные домашние задания в случае возникновения вопросов.
Получится набор инструментов, чтобы успешно проводить unit-тестирования.
Научитесь использовать стандартную библиотеку языка. Получите представление о контейнерах и их применении. Эксперты поделятся некоторыми типами алгоритмов, упрощающих кодинг.
Научитесь использовать стандартную библиотеку языка.
Получите представление о контейнерах и их применении.
Эксперты поделятся некоторыми типами алгоритмов, упрощающих кодинг.
Обратите внимание на сторонние библиотеки и работу с ними. Узнаете, какие средства автоматизации активно используются в последние годы. Получите навык сборки библиотек из готовых шаблонов.
Обратите внимание на сторонние библиотеки и работу с ними.
Узнаете, какие средства автоматизации активно используются в последние годы.
Получите навык сборки библиотек из готовых шаблонов.
В этом блоке тем вы рассмотрите исключения, нюансы и полезные лайфхаки в программировании на С++. Поймёте, что такое семантика перемещения, и для чего она нужна. Получится навык использования динамической памяти Также рассмотрите специальные указатели, по которым можно ориентироваться. В конце блока стандартно сможете обратиться к преподавателям по вопросам в домашних заданиях.
В этом блоке тем вы рассмотрите исключения, нюансы и полезные лайфхаки в программировании на С++.
Поймёте, что такое семантика перемещения, и для чего она нужна.
Получится навык использования динамической памяти
Также рассмотрите специальные указатели, по которым можно ориентироваться.
В конце блока стандартно сможете обратиться к преподавателям по вопросам в домашних заданиях.
Узнаете, что такое поток выполнения программы. Разберитесь со сложностями, которые встречаются при работе с потоками. Сможете выявлять данные и их типы даже в многопоточность среде. Поймёте, сколько времени занимает настройка многопоточности и почему. Научитесь направлять потоки асинхронно. Рассмотрите некоторые нюансы, о которых не было сказано ранее. Получите возможность задать вопросы по теме многопоточность.
Узнаете, что такое поток выполнения программы.
Разберитесь со сложностями, которые встречаются при работе с потоками.
Сможете выявлять данные и их типы даже в многопоточность среде.
Поймёте, сколько времени занимает настройка многопоточности и почему.
Научитесь направлять потоки асинхронно.
Рассмотрите некоторые нюансы, о которых не было сказано ранее.
Получите возможность задать вопросы по теме многопоточность.
Последний блок перед проектной работой посвещен различным аспектам при разработке на С++. Продолжите изучение полезных функций и практик. Получите набор инструментов, которые облегчит вашу работу.
Последний блок перед проектной работой посвещен различным аспектам при разработке на С++.
Продолжите изучение полезных функций и практик.
Получите набор инструментов, которые облегчит вашу работу.
В конце первой ступени предусмотрено выполнение проектной работы на уровень Junior. Определите тему проекта вместе с вашим куратором и набросаете план работы. После подготовки проекта защитите его перед одногруппниками. Далее вас ждёт карьерная консультация: вы составите резюме, пройдете пробное собеседование и выполните тестовые задания компании. В самом конце подведём итог обучения в вашей группе, выделим сильные и слабые стороны в обучении.
В конце первой ступени предусмотрено выполнение проектной работы на уровень Junior.
Определите тему проекта вместе с вашим куратором и набросаете план работы.
После подготовки проекта защитите его перед одногруппниками.
Далее вас ждёт карьерная консультация: вы составите резюме, пройдете пробное собеседование и выполните тестовые задания компании.
В самом конце подведём итог обучения в вашей группе, выделим сильные и слабые стороны в обучении.
2 ступень
Изучите различные версии языка программирования С++. Узнаете, в чем особенность работы с С++11. Продолжите рассмотрение этой версии языка более подробно. Сравните несколько популярных типов языка на их функциональность. Вспомните, когда вы изучали умные показатели. Посмотрите, как их применять. Узнаете, зачем нужен распределитель памяти. Выявите плюсы работы с шаблонами в программировании. Поймёте, чем хорош стандарт С++17 по сравнению с предыдущими. Также рассмотрите минусы использования версии 17. Поймёте, зачем нужна версия С++20, и причём здесь расширения шаблонов. Получите представление о принципах проектирования ПО. Научитесь использовать шаблоны проектирования. Рассмотрите широко применяемые паттерны для решения стандартных задач. Начать изучать те, которые связаны с созданием объектов или их экземпляров. Поймёте, как структурные паттерны позволяют использовать объекты между собой. Знаете, как объекты распределяются обязанности между собой с помощью поведенческих шаблонов. Продолжите изучать поведенческие шаблоны. Познакомитесь с библиотекой стандартных шаблонов, которую используют в программировании на С++. Рассмотрите компонент алгоритмов. Спикер поделится с вами интересными задачами, связанными с библиотеками. Познакомитесь с библиотекой, расширяющий функциональность языка С++. Подробнее остановитесь на изучении Boost. Качестве бонусной темы исследуйте хэш-функции и таблицы Научитесь использовать многопоточность в своих целях. Рассмотрите pattern и многопоточных приложений. Поймёте роль асинхронного программирования в разработке ПО. Освоите технику Lockfree. Научитесь проводить атомарные операции. В модуле "сеть" начнёте думать о теме своей проектной работы. Рассмотрите базовые принципы сетевого взаимодействия. Ознакомитесь с ещё одной библиотекой для асинхронного программирования. Исследуйте несколько систем хранения данных и выявите их преимущества и недостатки. Рассмотрите NoSQL как место хранилища. Сможете использовать mapreduce при наличии большого количества данных лдя обработки. Познакомитесь с системами для автоматизации. Обратите внимание на задачи, которые возможно решить при помощи машинного обучения. Изучите полезные алгоритмы. Обсудите со своим преподавателем тему и её актуальность. Зададите вопросы по домашним заданием, которые у вас остались Защитите собственную работу, в основе которой лежит ваш код. Сможете представить ее будущим работодателям. В завершении годового обучения подведёте итоги вместе с преподавателями и экспертами курса.
Изучите различные версии языка программирования С++. Узнаете, в чем особенность работы с С++11. Продолжите рассмотрение этой версии языка более подробно. Сравните несколько популярных типов языка на их функциональность. Вспомните, когда вы изучали умные показатели. Посмотрите, как их применять. Узнаете, зачем нужен распределитель памяти. Выявите плюсы работы с шаблонами в программировании. Поймёте, чем хорош стандарт С++17 по сравнению с предыдущими. Также рассмотрите минусы использования версии 17. Поймёте, зачем нужна версия С++20, и причём здесь расширения шаблонов.
Изучите различные версии языка программирования С++.
Узнаете, в чем особенность работы с С++11.
Продолжите рассмотрение этой версии языка более подробно.
Сравните несколько популярных типов языка на их функциональность.
Вспомните, когда вы изучали умные показатели. Посмотрите, как их применять.
Узнаете, зачем нужен распределитель памяти.
Выявите плюсы работы с шаблонами в программировании.
Поймёте, чем хорош стандарт С++17 по сравнению с предыдущими.
Также рассмотрите минусы использования версии 17.
Поймёте, зачем нужна версия С++20, и причём здесь расширения шаблонов.
Получите представление о принципах проектирования ПО. Научитесь использовать шаблоны проектирования. Рассмотрите широко применяемые паттерны для решения стандартных задач. Начать изучать те, которые связаны с созданием объектов или их экземпляров. Поймёте, как структурные паттерны позволяют использовать объекты между собой. Знаете, как объекты распределяются обязанности между собой с помощью поведенческих шаблонов. Продолжите изучать поведенческие шаблоны. Познакомитесь с библиотекой стандартных шаблонов, которую используют в программировании на С++. Рассмотрите компонент алгоритмов. Спикер поделится с вами интересными задачами, связанными с библиотеками. Познакомитесь с библиотекой, расширяющий функциональность языка С++. Подробнее остановитесь на изучении Boost. Качестве бонусной темы исследуйте хэш-функции и таблицы
Получите представление о принципах проектирования ПО.
Научитесь использовать шаблоны проектирования.
Рассмотрите широко применяемые паттерны для решения стандартных задач. Начать изучать те, которые связаны с созданием объектов или их экземпляров.
Поймёте, как структурные паттерны позволяют использовать объекты между собой.
Знаете, как объекты распределяются обязанности между собой с помощью поведенческих шаблонов.
Продолжите изучать поведенческие шаблоны.
Познакомитесь с библиотекой стандартных шаблонов, которую используют в программировании на С++.
Рассмотрите компонент алгоритмов.
Спикер поделится с вами интересными задачами, связанными с библиотеками.
Познакомитесь с библиотекой, расширяющий функциональность языка С++.
Подробнее остановитесь на изучении Boost.
Качестве бонусной темы исследуйте хэш-функции и таблицы
Научитесь использовать многопоточность в своих целях. Рассмотрите pattern и многопоточных приложений. Поймёте роль асинхронного программирования в разработке ПО. Освоите технику Lockfree. Научитесь проводить атомарные операции.
Научитесь использовать многопоточность в своих целях.
Рассмотрите pattern и многопоточных приложений.
Поймёте роль асинхронного программирования в разработке ПО.
Освоите технику Lockfree.
Научитесь проводить атомарные операции.
В модуле "сеть" начнёте думать о теме своей проектной работы. Рассмотрите базовые принципы сетевого взаимодействия. Ознакомитесь с ещё одной библиотекой для асинхронного программирования.
В модуле "сеть" начнёте думать о теме своей проектной работы.
Рассмотрите базовые принципы сетевого взаимодействия.
Ознакомитесь с ещё одной библиотекой для асинхронного программирования.
Исследуйте несколько систем хранения данных и выявите их преимущества и недостатки. Рассмотрите NoSQL как место хранилища. Сможете использовать mapreduce при наличии большого количества данных лдя обработки. Познакомитесь с системами для автоматизации.
Исследуйте несколько систем хранения данных и выявите их преимущества и недостатки.
Рассмотрите NoSQL как место хранилища.
Сможете использовать mapreduce при наличии большого количества данных лдя обработки.
Познакомитесь с системами для автоматизации.
Обратите внимание на задачи, которые возможно решить при помощи машинного обучения. Изучите полезные алгоритмы.
Обратите внимание на задачи, которые возможно решить при помощи машинного обучения.
Изучите полезные алгоритмы.
Обсудите со своим преподавателем тему и её актуальность. Зададите вопросы по домашним заданием, которые у вас остались Защитите собственную работу, в основе которой лежит ваш код. Сможете представить ее будущим работодателям. В завершении годового обучения подведёте итоги вместе с преподавателями и экспертами курса.
Обсудите со своим преподавателем тему и её актуальность. Зададите вопросы по домашним заданием, которые у вас остались
Защитите собственную работу, в основе которой лежит ваш код. Сможете представить ее будущим работодателям.
В завершении годового обучения подведёте итоги вместе с преподавателями и экспертами курса.