Весна 2022

Углубленное программирование на языке С/С++ (web)

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

Описание

Учебный курс «Углубленное программирование на C/C++» состоит из 10 лекций и 7 практических занятий. Общая аудиторная нагрузка составляет 68 а.ч., из которых 40 а.ч. приходится на лекционные, а 28 а.ч. — на практические занятия.
 
Внеаудиторная нагрузка на слушателей компенсирует незначительный дисбаланс в пользу теоретической направленности аудиторных занятий, обусловлена доступностью лабораторной инфраструктуры и определяющей ролью проектной работы в практической части курса, предполагает самостоятельное изучение рекомендуемой литературы по дисциплине и в представленном варианте учебно-методического плана не регламентирована.
 
Итоговая оценка знаний студентов по дисциплине формируется на протяжении учебного семестра в соответствии с правилами балльно-рейтинговой системы.
Подробнее
Чему научитесь
В процессе изучения курса у студентов формируются знания в области многопоточного программирования, шаблонов объектно-ориентированного программирования, стандартах кодирования и определения качества кода, а также формируются навыки и умения написания безопасного кода, использования элементов библиотек STL и BOOST и рефакторинга своего и чужого кода, работы в команде и настройки инфраструктуры непрерывной интеграции для командного проектного взаимодействия
Подробнее

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

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

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


Подробнее

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

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

Александр Жиров Александр Жиров

С++ разработчик группы десктопных приложений отдела "Браузер" БЮ Поиск@Mail.ru
Ch...


Подробнее

Александр Бадьин Александр Бадьин

Программист БЮ Поиск Mail.ru.

Программа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4 ак. ч.

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

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

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

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

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

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

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

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

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

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

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

6 ак. ч.

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

6 ак. ч.

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

6 ак. ч.

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

4 ак. ч.