Углубленное программирование на C/C++

Осень 2021

Цель курса — формирование практических навыков и умений, необходимых специалистам по разработке программного обеспечения (ПО) UNIX-подобных операционных систем для участия в проектах промышленной разработки среднего уровня сложности на языках C и C++, в том числе для замещения стажерских должностей разработчиков серверной части высоконагруженных приложений.

Описание
Учебный курс «Углубленное программирование на C/C++» состоит из 10 лекций и 7 практикумов. Общая аудиторная нагрузка составляет 64 а.ч., из которых 36 а.ч. приходится на лекционные занятия, 28 а.ч. — на практические работы.

Внеаудиторная нагрузка на слушателей компенсирует незначительный дисбаланс в пользу теоретической направленности аудиторных занятий, обусловлена доступностью лабораторной инфраструктуры и определяющей ролью проектной работы в практической части курса, предполагает самостоятельное изучение рекомендуемой литературы по дисциплине и в представленном варианте учебно-методического плана не регламентирована.

Итоговая оценка знаний студентов по дисциплине формируется на протяжении учебного семестра в соответствии с правилами балльно-рейтинговой системы (см. ниже).
Подробнее
Чему научитесь
В процессе изучения курса у студентов формируются знания в области многопоточного программирования, шаблонов объектно-ориентированного программирования, стандартах кодирования и определения качества кода, а также формируются навыки и умения написания безопасного кода, использования элементов библиотек STL и BOOST и рефакторинга своего и чужого кода.
Подробнее

Преподаватели

Алексей Халайджи Алексей Халайджи

Выпускник Технопарка (2016 г.) и Школы Анализа Данных (2020 г.).
Закончил с отличием бакалав...


Подробнее

Илья Санеев Илья Санеев

Выпускник МГТУ им. Н.Э. Баумана (ИУ3).
Ведущий C++ разработчик группы анализа запросов БЮ По...


Подробнее

Юлиана Журавлёва Юлиана Журавлёва

Руководитель группы C/C++ разработки в Mail.Ru Group

Программа

занятие Часы в ауд. + сам. работа

Лекция №1: Цели и задачи курса. Организация и использование оперативной памяти. Вопросы качества структурного программного кода на языке С.  
+ ДЗ №1

4 ак. ч. + 4 ак. ч. СР

Семинар №1: Обзор инструментария для построения инфраструктуры для современного проекта на C/C++  

4 ак. ч. + 3 ак. ч. СР

Лекция №2: Основы системного программирования. Внешние библиотеки и линковщик. Оптимизация работы с оперативной и сверхоперативной памятью.  
+ ДЗ №2

4 ак. ч. + 3 ак. ч. СР

Контрольное занятие №1: Рубежный контроль №1. Обсуждение идей командных проектов на C++  

4 ак. ч. + 4 ак. ч. СР

Лекция №3: Основные вопросы объектно-ориентированного программирования на языке C++  
+ ДЗ №3 + ДЗ №4 + ДЗ №5

4 ак. ч. + 3 ак. ч. СР

Лекция №4: Дополнительные вопросы объектно-ориентированного программирования на языке C++. Динамическая идентификация типов (RTTI)  

4 ак. ч. + 3 ак. ч. СР

Лекция №5: Принципы и шаблоны объектно-ориентированного проектирования. Базовые шаблоны, шаблоны GoF  
+ ДЗ №6

4 ак. ч. + 3 ак. ч. СР

Семинар №2: Тестирование и Объектно-ориентированное проектирование  

4 ак. ч. + 3 ак. ч. СР

Лекция №6: Проектирование сетевых приложений на C/C++  

4 ак. ч.

Лекция №7: Обработка исключительных ситуаций. Шаблоны классов и методов. Обобщенное и безопасное программирование  

4 ак. ч. + 3 ак. ч. СР

Контрольное занятие №2: Рубежный контроль №2. Обсуждение результатов проектирования командных проектов  

4 ак. ч. + 2 ак. ч. СР

Лекция №8: Практическое введение в STL  
+ ДЗ №7

4 ак. ч. + 3 ак. ч. СР

Лекция №9: Введение в коллекцию библиотек Boost и обзор возможностей новых стандартов языка C++  
+ ДЗ №8

4 ак. ч. + 3 ак. ч. СР

Лекция №10: Идиоматика C++. С++ как мультипарадигмальный язык. Нововведения C++20.  
+ ДЗ №9 + ДЗ №10 + ДЗ №11

4 ак. ч. + 3 ак. ч. СР

Семинар №3: Обсуждение командных проектов  

4 ак. ч. + 4 ак. ч. СР

Контрольное занятие №3: Рубежный контроль №3. Контроль готовности основных функций MVP командных проектов  

4 ак. ч.

Семинар №4: Предзащита проектов  

4 ак. ч.

Контрольное занятие №4: Публичная защита семестровых проектов  

4 ак. ч.

Контрольное занятие №5: Пересдача  

4 ак. ч.

РАСПИСАНИЕ

Полное расписание