В октябре проект DataVita открывает бесплатные 10- недельные курсы "С++Сraft" для тех, кто хочет получить комплексные знания в сфере разработки ПО на С++.
О чем мы расскажем: Мы расскажем вам об использовании парадигм С++, о механизмах организации исходного кода, системах управления версиями, организации многопоточных приложений, передаче данных по сети, а также о многих других полезных приемах и средствах, которые обязательно пригодятся разработчикам ПО.
Что еще будет: В программе курсов будет много практических заданий, которые научат вас эффективному использованию известных библиотек для решения разнообразных задач: от организации хранения и контроля информации до автоматической балансировки нагрузки для нескольких вычислительных процессов.
Для кого курсы: Мы предлагаем две бесплатные 10-недельные программы:
- для тех, кто еще не имеет опыта в разработке ПО (С++ Craft)
- для тех, кто уже работал на С++, но хочет повысить свой профессиональный уровень ("С++ Сraft: Libraries War")*
*дата занятий по курсу "С++ Сraft: Libraries War"
будет определена по мере формирования группы от 10 человек.
Как стать слушателем курсов: Зачисление на обе программы происходит на конкурсной основе. Вы подаете заявку на сайте проекта и пишите тест. Мы оцениваем уровень ваших знаний и определяем в подходящую группу.
Сроки обучения: Длительность обучения: 10 недель ( 8 недель теории + 2 недели на выполнение итогового проекта). Лекции проходят 1 раз в неделю. День обучения выбираем вместе с группой, поэтому точную дату начала занятий, мы опубликуем ближе к началу октября.
Программа курса С++ Craft
Week 1.
1.1. Вводная лекция. Информация о компании, о целях курса. Список тем курса. Использование git, использование cmake, IDE.
1.2. Инструменты процедурного программирования С/С++ (массивы, типы, циклы, функции, переменные, указатели, ссылки).
Системы ввода вывода, использование 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. Постановка проектной задачи, разделение на группы.
Дедлайн подачи заявок: до 12:00 23 сентября.
Обсуждение