• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Article
Statistical testing of segment homogeneity in classification of piecewise-regular objects

Savchenko A., Belova N. S.

International Journal of Applied Mathematics and Computer Science. 2015. Vol. 25. No. 4. P. 915-925.

Article
Reconstruction of a word from a finite set of its subwords under the unit shift hypothesis. I. Reconstruction without for bidden words1

Smetanin Y., Ulyanov M.

Cybernetics and Systems Analysis. 2015. Vol. 50. No. 1. P. 148-156.

Article
VTMine Framework as Applied to Process Mining Modeling

Sergey Andreevich Shershakov.

International Journal of Computer and Communication Engineering. 2015. Vol. 4. No. 3. P. 166-179.

C++ Programming Basics

2022/2023
Academic Year
RUS
Instruction in Russian
3
ECTS credits
Type:
Compulsory course
When:
1 year, 4 module

Instructors

Makarovsky, Andrey

Makarovsky, Andrey

Никулов Сергей Александрович

Никулов Сергей Александрович

Umrikhin, Aleksei

Umrikhin, Aleksei

Федоров Михаил Антонович

Федоров Михаил Антонович

Chapkin, Nikolay

Chapkin, Nikolay

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

Аннотация

Основной задачей курса является изучение базовых синтаксических особенностей языка программирования C++, лучших практик его применения и особенностей написания программ на современном C++.
Цель освоения дисциплины

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

  • Настоящая дисциплина является базовой и относится к профессиональному циклу дисциплин. Изучение данной дисциплины базируется на знаниях студентами математики, основ информатики и алгоритмизации в рамках учебной программы средней школы, умении применять математический аппарат при выборе метода решения задачи. Дисциплина является основой для последующего изучения дисциплин: Конструирование программного обеспечения, Алгоритмы и структуры данных, Построение и анализ алгоритмов, Базы данных, Распределенные вычисления, Компьютерная графика.
Планируемые результаты обучения

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

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

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

  • Введение в программирование на языке C++
  • Функции в языке С++.
  • STL
  • Потоковый ввод-вывод
  • Компиляция программ на языке C++
  • Введение в ООП на С++.
  • Динамическое выделение памяти
  • Итераторы.
  • Шаблоны типов.
  • Временные объекты.
Элементы контроля

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

  • неблокирующий Теоретический тест
    Вопросы бывают двух видов: с открытым ответом и на множественный выбор. Выставление частичных баллов за неполностью правильный ответ не предусмотрено.
  • неблокирующий Контрольное домашнее задание
    КДЗ представляет из себя задание на взаимное оценивание аналогичное заданиям выполняемым на дисциплине Программирование на C#.
  • неблокирующий Контест
    Контест состоит из нескольких практических задач, которые необходимо сдать строго до окончания времени отведённого на выполнение задания.
  • блокирующий Экзамен
    Экзамен проводится очно. Экзамен представляет из себя теоретический тест и/или контест. Если экзамен состоит из двух частей (контрольная и тест), то оценка вычисляется по формуле: ЭО = 0,5*ЭК + 0,5*ЭТ, если min(ЭК2; ЭТ2)>=3,5; иначе ЭО2 = min(ЭК2; ЭТ2). Экзаменационный тест (ЭТ) состоит из 40 вопросов и оценивается исходя из максимального количества правильных ответов (NMAX), полученных при прохождении теста всеми студентами курса. Оценка вычисляется по следующим правилам (N – количество правильных ответов): Если студент предоставил 10 и менее правильных ответов, то оценка за тест N/4. Если N>10 и 31<=NMAX<=40 то N*10/NMAX Если N>10 и 26<=NMAX<=30 то N*9/NMAX Если N>10 и 21<=NMAX<=25 то N*8/NMAX Если N>10 и 16<=NMAX<=20 то N*7/NMAX Если N>10 и 14<=NMAX<=15 то N*6/NMAX Если N>10 и 12<=NMAX<=13 то N*5/NMAX Если N>10 и NMAX=11 то 4. Оценка за экзаменационный контест вычисляется как доля правильно решённых задач контеста умноженная на десять.
  • неблокирующий Оценка преподавателя практических занятий
    Для получения оценки от преподавателя необходимо защитить несколько практических задач на занятиях преподавателю.
  • неблокирующий Контрольная работа
    Контрольная работа проходит в форме контеста из 10 задач на 120-240 минут. Работа выполняется с асинхронным прокторингом с использованием OBS Studio и обязательным использованием двух камер.
Промежуточная аттестация

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

  • 2022/2023 учебный год 4 модуль
    Оитог = 0,6 * Онакоп + 0,4 * Оэкзамен - экзамен блокирующий Онакоп = 0,2 * Окр + 0,35 * Оконтест + 0,05 * Отест + 0,2 * Окдз + 0,3 * Опр Накопленная оценка не может превышать 10 баллов, в случае если оценка по формуле превышает 10 студенту выставляется накопленная оценка 10.
Список литературы

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

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

  • Программирование : принципы и практика с использованием С++, Страуструп, Б., 2018
  • Стандартный Си++ : учеб. пособие для вузов, Подбельский, В. В., 2008
  • Язык программирования C++, Страуструп, Б., 2012

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

  • Введение в язык СИ++ : учеб. пособие, Подбельский, В. В., 1994
  • Шлее М. - Qt 5.10. Профессиональное программирование на C++ - 978-5-9775-3678-3 - Санкт-Петербург: БХВ-Петербург - 2018 - 358881 - https://ibooks.ru/bookshelf/358881/reading - iBOOKS

Авторы

  • Чуйкин Николай Константинович
  • Петрухина Анастасия Сергеевна