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

Осень 2016

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

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

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

Алексей Петров Алексей Петров

Эксперт-практик в области информационного и программного обеспечения автоматизированных систем, а...


Подробнее

Дмитрий Исайкин Дмитрий Исайкин

Работаю ведущим разработчиком проекта Почта в компании Mail.Ru Group. Имею богатый опыт разработк...


Подробнее

Виктор Могилин Виктор Могилин

Руководитель группы разработки С/C++ в проекте почта@mail.ru.
Отвечаю за работу почтового ba...


Подробнее

Программа

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

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

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

Семинар №1: Решение индивидуальных задач повышенной сложности на тему «Адресная арифметика. Одно- и многомерные массивы и строки. Алгоритмы их обработки»  

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

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

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

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

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

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

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

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

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

Семинар №2: Практическое занятие №3. Проектирование полиморфной иерархии классов повышенного уровня сложности  

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

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

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

Контрольное занятие №2: Практическое занятие №4. Разработка и обеспечение безопасности полиморфной иерархии с шаблонами классов  

4 ак. ч.

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

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

Контрольное занятие №3: Практическое занятие №5. Оптимизация полиморфной иерархии классов и использованием элементов библиотек STL и BOOST  

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

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

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

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

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

Семинар №3: Практическое занятие №6. Оптимизация полиморфной иерархии классов с использованием шаблонов объектно-ориентированного проектирования однопоточных приложений  

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

Лекция №9: Идиоматика C++. Основы рефакторинга и качество исходного кода. Стандарты кодирования и методологии разработки ПО  
+ ДЗ №7

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

Семинар №4: Практическое занятие №7. Инспекция и рефакторинг объектно-ориентированного исходного кода  

4 ак. ч.

Контрольное занятие №4: Экзамен  

4 ак. ч.

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

4 ак. ч.

РАСПИСАНИЕ

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