We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

  • A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

С++ programming language

2020/2021
Academic Year
RUS
Instruction in Russian
8
ECTS credits
Delivered at:
Department of Informatics
Course type:
Compulsory course
When:
1 year, 1-4 module

Instructors


Lapshin, Dmitry


Sosnin, Anton


Суворов Егор Федорович

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

Аннотация

Дисциплина базовой профильной части профессионального цикла. Данная дисциплина опирается на дисциплины из школьного курса и направлена на овладение навыками программирования на языке С++. В результате изучения этой дисциплины студенты будут иметь практические навыки конструирования конкретных алгоритмов на языке высокого уровня для решения разнообразных математических задач В результате освоения дисциплины студент должен:  знать основные конструкции и идиомы С++, необходимые для изучения других дисциплин, предусмотренных базовым и рабочим учебными планами, а также для применения в профессиональной деятельности;  уметь создавать программы, решающие задачи по заданному алгоритму на языке С++, а также пользоваться компиляторами языка C++ для их выполнения;  иметь навыки формализации и решения практических задач по программированию.
Цель освоения дисциплины

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

  • Целью освоения дисциплины «Язык программирования C++» является формирование у студентов теоретических знаний и практических навыков программирования на языке С++.
Планируемые результаты обучения

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

  • Владеет понятием: Организация разработки программ на С++. Владеет понятиями: компоновка программ; единицы трансляции; ODR. Знает: глобальные/локальные переменные. Владеет понятиями: работа с памятью; указатели, массивы и ссылки.
  • Владеет понятиями: встроенные типы; инструкции и операторы; приведение типов; функции. Владеет понятиями: передача параметров, возврат значений; перегрузки; Bind & function; конвенции вызова.
  • Владеет понятиями: классы; функции-члены. Знает 4 главных функции-члены. Владеет понятиями: Swap-trick; поля класса.
  • Владеет понятиями: переопределение операторов; пространства имен; динамический полиморфизм (простое наследование).
  • Владеет понятием динамический полиморфизм (множественное и виртуальное наследование).
  • Знает: стратегии обработки ошибок; обобщенное программирование; шаблоны функций и классов; специализации шаблонов; связь с динамическим полиморфизмом.
Содержание учебной дисциплины

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

  • Средства простроения программ на С++. Основные способы организации процедурного программирования на С++.
    Организация разработки программ на С++ . Компоновка программ. Единицы трансляции. Объявления и определения. ODR. Глобальные/локальные переменные. Работа с памятью. Указатели, массивы и ссылки.
  • Средства простроения программ на С++. Основные способы организации процедурного программирования на С++.
    Встроенные типы. Инструкции и операторы. Приведение типов. Функции. Передача параметров, возврат значений. Перегрузки. Анонимные. Bind & function. Конвенции вызова.
  • Введение в объектно-ориентированное программирование на С++
    Классы. Функции-члены. 4 главных функции-члены. Swap-trick. Поля класса.
  • Введение в объектно-ориентированное программирование на С++
    Переопределение операторов. Пространства имен. Динамический полиморфизм (простое наследование).
  • Введение в объектно-ориентированное программирование на С++
    Динамический полиморфизм (множественное и виртуальное наследование).
  • Обобщенное программирование. Обработка ошибок и своевременное освобождение ресурсов.
    Стратегии обработки ошибок. Исключения. Введение в обобщенное программирование. Шаблоны функций и классов. Специализации шаблонов. Связь с динамическим полиморфизмом.
Элементы контроля

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

  • неблокирующий Домашнее задание №1
  • неблокирующий Домашнее задание №2
  • неблокирующий Домашнее задание №3
  • блокирующий экзамен
Промежуточная аттестация

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

  • Промежуточная аттестация (2 модуль)
    0.5 * Домашнее задание №1 + 0.5 * Домашнее задание №2
  • Промежуточная аттестация (4 модуль)
    0.5 * Домашнее задание №1 + 0.5 * Домашнее задание №2
Список литературы

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

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

  • Огнева М. В., Кудрина Е. В. - ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ С++: ПРАКТИЧЕСКИЙ КУРС. Учебное пособие для бакалавриата и специалитета - М.:Издательство Юрайт - 2019 - 335с. - ISBN: 978-5-534-05123-0 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-na-yazyke-s-prakticheskiy-kurs-438987

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

  • Зыков С. В. - ПРОГРАММИРОВАНИЕ. ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД. Учебник и практикум для академического бакалавриата - М.:Издательство Юрайт - 2019 - 155с. - ISBN: 978-5-534-00850-0 - Текст электронный // ЭБС ЮРАЙТ - URL: https://urait.ru/book/programmirovanie-obektno-orientirovannyy-podhod-434106