• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Контакты

Адрес: 109028, г. Москва, Покровский бульвар, д. 11

Телефон: +7(495) 772-95-90 *28240

Руководство
Научный руководитель направления “Программная инженерия" Аветисян Арутюн Ишханович
Руководитель департамента Лебедев Сергей Аркадьевич
Заместитель руководителя департамента Максименкова Ольга Вениаминовна
Книга
Computer Networks

Rodriges Zalipynis R. A.

St. Petersburg: Naukoemkie Technologii, 2024.

Глава в книге
Game Development Education: Approaches for Teaching Software Engineering Students

Maksimenkova O. V., Lebedev S., Pozdnyakov D.

In bk.: Futureproofing Engineering Education for Global Responsibility: Proceedings of the 27th International Conference on Interactive Collaborative Learning (ICL2024), Volume 4. Springer, 2025. P. 116-125.

Препринт
Approach to Designing CV Systems for Medical Applications: Data, Architecture and AI
В печати

Ryabtsev D., Vasilyev Boris, Shershakov S.

Computer Science ::Computer Vision and Pattern Recognition. 2501.14689. arXiv, 2025

Основы программирования на С++

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

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

Макаровский Андрей Сергеевич

Макаровский Андрей Сергеевич

Умрихин Алексей Дмитриевич

Умрихин Алексей Дмитриевич

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

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

Чапкин Николай Сергеевич

Чапкин Николай Сергеевич

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

Аннотация

Основной задачей курса является изучение базовых синтаксических особенностей языка программирования 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

Авторы

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