Бакалавриат
2020/2021
Язык программирования С++
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Прикладная математика и информатика)
Направление:
01.03.02. Прикладная математика и информатика
Кто читает:
Департамент информатики
Когда читается:
1-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Язык:
русский
Кредиты:
8
Контактные часы:
146
Программа дисциплины
Аннотация
Дисциплина базовой профильной части профессионального цикла. Данная дисциплина опирается на дисциплины из школьного курса и направлена на овладение навыками программирования на языке С++. В результате изучения этой дисциплины студенты будут иметь практические навыки конструирования конкретных алгоритмов на языке высокого уровня для решения разнообразных математических задач В результате освоения дисциплины студент должен: знать основные конструкции и идиомы С++, необходимые для изучения других дисциплин, предусмотренных базовым и рабочим учебными планами, а также для применения в профессиональной деятельности; уметь создавать программы, решающие задачи по заданному алгоритму на языке С++, а также пользоваться компиляторами языка C++ для их выполнения; иметь навыки формализации и решения практических задач по программированию.
Цель освоения дисциплины
- Целью освоения дисциплины «Язык программирования C++» является формирование у студентов теоретических знаний и практических навыков программирования на языке С++.
Планируемые результаты обучения
- Владеет понятием: Организация разработки программ на С++. Владеет понятиями: компоновка программ; единицы трансляции; ODR. Знает: глобальные/локальные переменные. Владеет понятиями: работа с памятью; указатели, массивы и ссылки.
- Владеет понятиями: встроенные типы; инструкции и операторы; приведение типов; функции. Владеет понятиями: передача параметров, возврат значений; перегрузки; Bind & function; конвенции вызова.
- Владеет понятиями: классы; функции-члены. Знает 4 главных функции-члены. Владеет понятиями: Swap-trick; поля класса.
- Владеет понятиями: переопределение операторов; пространства имен; динамический полиморфизм (простое наследование).
- Владеет понятием динамический полиморфизм (множественное и виртуальное наследование).
- Знает: стратегии обработки ошибок; обобщенное программирование; шаблоны функций и классов; специализации шаблонов; связь с динамическим полиморфизмом.
Содержание учебной дисциплины
- Средства простроения программ на С++. Основные способы организации процедурного программирования на С++.Организация разработки программ на С++ . Компоновка программ. Единицы трансляции. Объявления и определения. ODR. Глобальные/локальные переменные. Работа с памятью. Указатели, массивы и ссылки.
- Средства простроения программ на С++. Основные способы организации процедурного программирования на С++.Встроенные типы. Инструкции и операторы. Приведение типов. Функции. Передача параметров, возврат значений. Перегрузки. Анонимные. Bind & function. Конвенции вызова.
- Введение в объектно-ориентированное программирование на С++Классы. Функции-члены. 4 главных функции-члены. Swap-trick. Поля класса.
- Введение в объектно-ориентированное программирование на С++Переопределение операторов. Пространства имен. Динамический полиморфизм (простое наследование).
- Введение в объектно-ориентированное программирование на С++Динамический полиморфизм (множественное и виртуальное наследование).
- Обобщенное программирование. Обработка ошибок и своевременное освобождение ресурсов.Стратегии обработки ошибок. Исключения. Введение в обобщенное программирование. Шаблоны функций и классов. Специализации шаблонов. Связь с динамическим полиморфизмом.
Промежуточная аттестация
- Промежуточная аттестация (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