Новый сезон бесплатных курсов по С++ в Минске.
Для кого: Для тех, кто уже знаком с основами языка, но хочет повысить свой уровень.
О чем раскажем: Мы расскажем вам об использовании парадигм С++, о механизмах организации исходного кода, системах управления версиями, организации многопоточных приложений, передаче данных по сети, а также о многих других полезных приемах и средствах, которые обязательно пригодятся разработчикам ПО.
Что еще будет: В программе курсов будет много практических заданий: от организации хранения и контроля информации до автоматической балансировки нагрузки для нескольких вычислительных процессов.
Как стать слушателем: Зачисление происходит на конкурсной основе. Вы подаете заявку на сайте проекта и пишите тест. Мы оцениваем уровень ваших знаний и зачисляем в группу.
Сроки обучения: 10 недель ( 8 недель теории + 2 недели на выполнение итогового проекта). Лекции проходят 1 раз в неделю. День обучения выбираем вместе с группой.
Программа курса:
Week 1.
1.1. Вводная лекция. Информация о компании, о целях курса. Список тем курса. Использование git, использование cmake, IDE.
1.2. Инструменты процедурного программирования С/С++ (массивы, типы, циклы, функции, переменные, указатели, ссылки).
1.3. Системы ввода вывода, использование STL для решения простых задач. (vector, string, ofstream/ifstream, list, sort, iterator).
Week 2.
2.1. Классы. Часть 1: конструкторы, деструкторы, методы. Процесс компиляции: компиляция, линковка. Примеры типичных сообщений об ошибках.
2.2. Подключение Boost. Работа с памятью, умные указатели.
2.3. Шаблоны библиотеки STL: vector, list, queue, deque, map, set, multimap.
Week 3.
3.1. Механизм исключений С++. Guide Lines. (bad_cast, logic_error).
3.2. Многопоточное программирование с помощью boost: thread, mutex, recursive_mutex, condition.
3.3. Пример многопоточного приложения.
Week 4.
4.1. Классы. Часть2: mutable, friend, virtual, inheritance, abstract, explicit, boost::noncopyable.
4.2. Перегрузка операторов; использование static_cast, dynamic_cast, reinterpret_cast, const_cast.
4.3. Тестирование. Boost test framework, примеры использования.
Week 5.
5.1. Шаблоны функций.
5.2. Шаблоны классов.
5.3. Примеры использования boost::lexical_cast, boost::shared_ptr, boost::array. Использование шаблонов для проверки типов в определённых условиях.
Week 6.
6.1. Сетевые компоненты TCP/UDP, примеры использования boost::asio.
6.2. Асинхронное использование сетевых механизмов для обработки нескольких клиентов одновременно.
6.3. Task-based engine, thread-based engine.
Week 7.
7.1. Обнаружение утечек памяти с помощью утилит и механизмов компиляторов boost test framework, VLD.
7.2. Механизмы отладки приложений (VLD, MSVC).
7.3. Системы журналирования, системы балансировки нагрузок (system_utilities).
Week 8.
8.1. Пример проектирования системы обработки большого количества информации.
8.2. Постановка проектной задачи, разделение на группы.
Дедлайн подачи заявок: 25 февраля, 12:00
Обсуждение