• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

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

2019/2020
Учебный год
RUS
Обучение ведется на русском языке
8
Кредиты
Статус:
Курс обязательный
Когда читается:
1-й курс, 1-4 модуль

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


Свиридкин Дмитрий Олегович

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

Аннотация

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

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

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

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

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

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

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

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

  • неблокирующий Домашнее задание №1
  • неблокирующий Домашнее задание №2
  • неблокирующий Домашнее задание №3
  • блокирующий экзамен
    Экзамен проводится на платформе Zoom. Экзамен проводится в устной форме (опрос по материалам курса). По просьбе преподавателя студент должен быть готов выполнить некоторые задания в письменном виде, после чего сфотографировать и выслать на почту преподавателю. К экзамену необходимо подключиться согласно расписанию, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка платформы Zoom. Для участия в экзамене студент обязан: выбрать себе имя в Zoom совпадающее с его именем и фамилией, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещается выключать камеру. Ипользование конспектов или других справочных материалов допускается только с разрешения преподавателя. Кратковременным нарушением связи во время экзамена считается нарушение связи менее 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи возможность продолжения студентом участие в экзамене определяется преподавателем. Процедура пересдачи подразумевает использование усложненных заданий.
Промежуточная аттестация

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

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

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

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

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

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

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