• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 2026/2027

Язык программирования C++

Когда читается: 1-й курс, 1, 2 модуль
Охват аудитории: для своего кампуса
Язык: русский
Кредиты: 7
Контактные часы: 84

Программа дисциплины

Аннотация

Курс нацелен на формирование у студента понимания общих принципов эффективного применения языка С++ при решении различных задач. Рассматривается базовый синтаксис, основные механики и возможности языка программирования С++, с глубоким погружением в детали реализации и работы. Большое внимание уделяется современным возможностям и стандартам языка и инструментам и библиотекам - элементам, которые не являются частью языка, но без которых не получится построить большой и сложный проект. Одним из основных аспектов курса является обучение разработке эффективных и надежных программ на C++. Студенты учатся писать код, который легко читается, понимается и поддерживается. Они также знакомятся с современными практиками программирования, такими как использование шаблонов, идиом и паттернов проектирования
Цель освоения дисциплины

Цель освоения дисциплины

  • Знание основных конструкций языка С++, достаточного для реализации решения задач в последующих курсах
  • Практическое применение языка С++
  • Понимание и применение основных принципов разработки
  • Владение современными инструментами разработки
Планируемые результаты обучения

Планируемые результаты обучения

  • Применяет на практике язык С++
  • Знает и применяет основные принципы разработки
  • Владеет современными инструментами разработки
  • Знает основные конструкции языка С++, достаточного для реализации решения задач в последующих курсах.
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Фундаментальные типы и переменные
  • Условная операция, оператор и циклы
  • Указатели и массивы
  • Ссылки и начало функций
  • Функции и строки. Исключения
  • Модульное программирование
  • Шаблоны функций
  • Пользовательские типы данных
  • Введение в ООП
  • Конструкторы
  • Перегрузка операций и функторы
  • Контейнеры
  • Move-семантика. Итераторы
  • Наследование. Полиморфизм
  • О курсе. Введение в язык. Первая программа. Структура программы. Память и типы данных.
  • Память и типы данных. Хранение чисел в памяти IEEE. Особенности перевода и вычитания больших чисел. Операторы битовые I & ^ и т.д.
  • Условный оператор и switch. Типичные задачи на условный оператор и switch. Цикл while. break continue. Цикл for. В т.ч. использование while как for. Вложенные циклы, особенности, типовые задачи. Типичные задачи на цикл
  • Статический массив. Одномерный статический массив. Типичные задачи. Многомерный статический массив. Типичные задачи.
  • Строки. С-строки
  • Введение в указатели. Арифметика указателей. Указатели на указатели. Указатели нулевые, висячие, динамическое выделение памяти. Ссылки.
  • Динамический массив одномерный. Связь с указателями. Типичные задачи на одномерный динамический массив. Двумерный динамический массив. Типичные задачи.
  • Функции. Рекурсивные функции. Перегрузка. Функции, передача указателей. Функции, передача массивов. Переменное число аргументов
  • Функции, статические, локальные, глобальные переменные. Функторы. Указатели и ссылки на функции, обратный вызов.
  • Шаблоны функций.
  • Контейнеры. Последовательные, ассоциативные, адаптеры. Ranges. Итераторы последовательные, ассоциативные
  • Контейнеры. Последовательные, ассоциативные, адаптеры. Ranges
  • Пользовательские типы. enum и union
  • Введение в ООП. Структуры.
  • Структуры. Конструкторы и деструкторы.
  • Классы и объекты. Поля, методы.
  • Классы и объекты. Конструкторы и деструкторы. Списки инициализации
  • Исключения. RAII, правило трех и пяти. Перегрузка операций. Шаблоны классов
  • Наследование.
  • Абстрактные классы.
  • Move семантика
Элементы контроля

Элементы контроля

  • неблокирующий Contest
  • неблокирующий Lab
  • неблокирующий CW
  • неблокирующий Colloc
  • неблокирующий Exam
Промежуточная аттестация

Промежуточная аттестация

  • 2026/2027 1st module
    0.5 * Lab + 0.25 * CW + 0.25 * Contest
  • 2026/2027 2nd module
    0.15 * Contest + 0.15 * CW + 0.3 * Exam + 0.2 * Lab + 0.2 * Colloc
Список литературы

Список литературы

Рекомендуемая основная литература

  • Davis, S. R. (2014). C++ For Dummies (Vol. 7th ed). Hoboken: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=784132
  • Olsson, M. (2015). C Quick Syntax Reference. [New York]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=944034

Рекомендуемая дополнительная литература

  • Gregoire, M. (2018). Professional C++ (Vol. Fourth edition). Indianapolis, IN: Wrox. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1729638

Авторы

  • Горденко Мария Константиновна
  • Солдатова Татьяна Владимировна