Бакалавриат
2026/2027





Программирование С/С++
ID 1132991
Статус:
Курс обязательный (Компьютерные науки и технологии)
Когда читается:
1-й курс, 1-4 модуль
Онлайн-часы:
20
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
8
Контактные часы:
140
Программа дисциплины
Аннотация
Дисциплина "Основы и методология программирования" знакомит студентов с основами программирования на примере языка Си. Студенты изучают основные понятия: переменная, операторы, функция, структуры и учатся решать простейшие задачи на языке Си. Курс готовит студентов к дальнейшему изучению языков программирования более высокого уровня
Цель освоения дисциплины
- Знакомство с основными парадигмами программирования
- Изучение основных понятий программирования: переменных, массивов, операторов, функций, структур
- Получение навыков разработки простейших задач на языке Си
Планируемые результаты обучения
- Использовать в программе оператор условия
- Использовать командную строку аргументов для передачи параметров в программу
- Использовать наиболее подходящие операции языка для решения поставленной задачи
- Использовать слово extern для переменных
- Использовать указатели при работе с массивами
- Использовать указатель на функцию для отложенного вызова функции
- Использовать функции ввода/вывода
- Копировать экземпляры структур с полями-указателями
- Называть основные парадигмы программирования
- Объявлять и использовать локальные переменные со словом static
- Описывать историю развития языка Си
- Описывать оператор множественного выбора
- Определять переменные и инициализировать их
- Передавать массивы в функции и возвращать массивы из функции
- Передавать структуры в функции и возвращать структуры из функции
- Пользоваться функциями стандартной библиотеки string.h
- Различать объявление и описание функции
- Разрабатывать и использовать функции в программе
- Разрабатывать программы с использованием основных операторов языка
- Разрабатывать рекурсивные функции
- Решать задачи с использованием массивов
- Решать задачи с использованием циклов
- Создавать выражения на языке Си с использованием переменных и операций
- Создавать динамические массивы
- Создавать и использовать многомерные массивы
- Создавать макросы обычные и макросы с параметрами
- Создавать массивы и инициализировать их
- Создавать многофайловые программы
- Создавать объединения, понимать разницу между объединением и структурой
- Создавать список, очередь, стек, бинарное дерево
- Создавать строки, получать их от пользователя
- Читать и записывать файлы, как текстовые, так и бинарные
- Умение организовать ввод-вывод, работа со ссылками, знание перегрузки функций, знакомство с лямбда-функциями
- Умение разрабатывать классы, создавать объекты этих классов.
- Понимание необходимости константных функций при разработке классов. Умение создавать и работать со статическими полями класса.
- Умение использовать встроенные операции с пользовательскими типами данных
- Умение разрабатывать простые иерархии классов
- Знать, что такое виртуальные функции. Уметь разрабатывать полиморфные классы.
- Уметь создавать классы с несколькими родительскими классами. Уметь решать проблемы множественного наследования. Знать ромбовидное наследование
- Уметь генерировать и обрабатывать исключения
- Уметь создавать и использовать пространства имен. Уметь пользоваться операциями преобразования типов
- Уметь использовать и разрабатывать шаблоны классов и функций
Содержание учебной дисциплины
- Введение в программирование
- Понятие переменной. Операции
- Операторы языка Си
- Массивы
- Указатели
- Функции
- Классы памяти
- Строки и файлы
- Препроцессор
- Пользовательские типы данных
- Динамические структуры данных
- Особенности С++, не связанные с ООП
- Введение в классы
- Статические члены класса. Константные функции
- Перегрузка операторов
- Наследование
- Полиморфизм
- Множественное наследование
- Исключения
- Пространства имен и приведение типов
- Шаблоны
Элементы контроля
- Разработка классов
- Работа со ссылками
- Одиночное наследование
- Статические члены класса
- Перегрузка операторов
- Множественное наследование
- Исключения
- Полиморфизм
- Шаблоны
- ФайлыРешение задач по программированию в системе yandex.contest
- ПроектРазработка проекта
- СтруктурыРешение задач по программированию в системе yandex.contest
- Работа с операторами условия и цикламиРешение задач по программированию в системе yandex.contest
- Введение в СиРешение задач по программированию в yandex.contest
- МассивыРешение задач по программированию в системе yandex.contest
- МатрицыРешение задач по программированию в системе yandex.contest
- СтрокиРешение задач по программированию в системе yandex.contest
- РекурсияРешение задач по программированию в системе yandex.contest
Промежуточная аттестация
- 2026/2027 2nd module0.15 * Строки + 0.1 * Рекурсия + 0.1 * Матрицы + 0.1 * Файлы + 0.2 * Структуры + 0.1 * Работа с операторами условия и циклами + 0.2 * Массивы + 0.05 * Введение в Си
- 2026/2027 4th module0.1 * Одиночное наследование + 0.05 * Исключения + 0.05 * Множественное наследование + 0.1 * Разработка классов + 0.15 * Полиморфизм + 0.05 * Статические члены класса + 0.05 * Работа со ссылками + 0.1 * Шаблоны + 0.2 * Проект + 0.15 * Перегрузка операторов
Список литературы
Рекомендуемая основная литература
- C/C++ в задачах и примерах. — 3-е изд., доп. и исправл. - 978-5-9775-3996-8 - Культин Н. Б. - 2019 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/products/386518 - 386518 - iBOOKS
- C++20 в деталях - Гримм Р. - Издательство "ДМК Пресс" - 978-5-97060-956-9 - 2023 - русский - https://e.lanbook.com/book/315479 - ЛАНЬ - 315479
- C++20 в деталях, Гримм, Р., 2023
- C++20 для программистов.. - 978-5-4461-2359-9 - Дейтел Пол, Дейтел Харви - 2024 - Санкт-Петербург: Питер - https://ibooks.ru/products/393770 - 393770 - iBOOKS
- Davis, S. R. (2014). C++ For Dummies (Vol. 7th ed). Hoboken: For Dummies. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=784132
- Алгоритмы и программы. Язык C++ : учеб. пособие, Конова, Е. А., 2018
- Алгоритмы. Справочник : с примерами на C, C++, Java и Python, Хайнеман, Дж., 2017
- Идиомы и паттерны проектирования в современном С++ - Пикус Ф. - Издательство "ДМК Пресс" - 978-5-97060-786-2 - 2020 - русский - https://e.lanbook.com/book/140598 - ЛАНЬ - 140598
- Как программировать на С++, Дейтел, Х. М., 2008
- Конова, Е. А. Алгоритмы и программы. Язык С++ / Е. А. Конова, Г. А. Поллак. — 7-е изд., стер. — Санкт-Петербург : Лань, 2023. — 384 с. — ISBN 978-5-507-46070-0. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/297002 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Немцова, Т. И. Программирование на языке высокого уровня. Программирование на языке C++ : учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев ; под ред. Л.Г. Гагариной. — Москва : ФОРУМ : ИНФРА-М, 2024. — 512 с. + Доп. материалы [Электронный ресурс]. — (Среднее профессиональное образование). - ISBN 978-5-8199-0699-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/2083383
- Объектно - ориентированное программирование в С++, Лафоре, Р., 2011
- Объектно-ориентированное программирование в С++. Классика Computer Science - 978-5-4237-0038-6 - Лафоре Р. - 2011 - Санкт-Петербург: Питер - https://ibooks.ru/products/21961 - 21961 - iBOOKS
- Объектно-ориентированное программирование на С++ - Баранова И. В., Баранов С. Н., Баженова И. В., Кучунова Е. В., Толкач С. Г. - Сибирский Федеральный Университет - 978-5-7638-4034-6 - 2019 - русский - https://e.lanbook.com/book/157572 - ЛАНЬ - 157572
- Объектно-ориентированное программирование на С++ : учебник / И. В. Баранова, С. Н. Баранов, И. В. Баженова [и др.]. - Красноярск : Сиб. федер. ун-т, 2019. - 288 с. - ISBN 978-5-7638-4034-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1819676
- Объектно-ориентированное программирование на языке С++ - Скворцова Л. А. - МИРЭА - Российский технологический университет - - - 2020 - русский - https://e.lanbook.com/book/163862 - ЛАНЬ - 163862
- Объектно-ориентированное программирование на языке С++: Практикум - Скворцова Л. А., Бирюкова А. А., Гусев К. В. - МИРЭА - Российский технологический университет - - - 2021 - русский - https://e.lanbook.com/book/176540 - ЛАНЬ - 176540
- Объектно-ориентированное программирование: ООП на языке С++ - Ноткин А. М. - Пермский национальный исследовательский политехнический университет - 978-5-398-00966-8 - 2013 - русский - https://e.lanbook.com/book/160806 - ЛАНЬ - 160806
- Огнева, М. В. Программирование на языке С++: практический курс : учебник для вузов / М. В. Огнева, Е. В. Кудрина, А. А. Казачкова. — 2-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2025. — 342 с. — (Высшее образование). — ISBN 978-5-534-18949-0. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/563618 (дата обращения: 02.07.2026).
- Основы объектно-ориентированного программирования на языке С++ - Теплоухов С. В. - Адыгейский государственный университет - - - 2021 - русский - https://e.lanbook.com/book/231416 - ЛАНЬ - 231416
- Основы программирования на С++ - Лебеденко Л. Ф., Моренкова О. И. - Сибирский государственный университет телекоммуникаций и информатики - - - 2021 - русский - https://e.lanbook.com/book/257261 - ЛАНЬ - 257261
- Основы программирования на языке С++ - Бадмаева Э. С., Лобсанова О. А. - Бурятский государственный университет имени Доржи Банзарова - 978-5-9793-1806-6 - 2022 - русский - https://e.lanbook.com/book/336344 - ЛАНЬ - 336344
- Основы программирования на языке С++ - Гофман М. В. - Петербургский государственный университет путей сообщения Императора Александра I - 978-5-7641-1843-7 - 2022 - русский - https://e.lanbook.com/book/329480 - ЛАНЬ - 329480
- Основы программирования на языке С++ - Давыдов А. И., Калинина Е. С., Саля И. Л., Ступаков С. А. - Омский государственный университет путей сообщения - 978-5-949-41295-4 - 2022 - русский - https://e.lanbook.com/book/264491 - ЛАНЬ - 264491
- Основы программирования на языке С++ - Рысин М. Л., Сартаков М. В., Макеева О. В. - МИРЭА - Российский технологический университет - - - 2022 - русский - https://e.lanbook.com/book/239957 - ЛАНЬ - 239957
- Программирование : принципы и практика с использованием С++, Страуструп, Б., 2018
- Программирование на языке С++: Учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; 60x90 1/16 + CD-ROM. - (Проф. обр.). (п, cd rom) ISBN 978-5-8199-0492-3 - Режим доступа: http://znanium.com/catalog/product/244875
- Программирование на языке Си/А.В.Кузин, Е.В.Чумакова - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с.: 70x100 1/16. - (Высшее образование) (Обложка) ISBN 978-5-00091-066-5 - Режим доступа: http://znanium.com/catalog/product/505194
- С/С++ в задачах и примерах, Культин, Н. Б., 2012
- С/С++. Программирование на языке высокого уровня : для магистров и бакалавров : учебник для вузов, Павловская, Т. А., 2011
- С/С++. Программирование на языке высокого уровня. - 978-5-4461-1350-7 - Павловская Т. А. - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/products/376844 - 376844 - iBOOKS
- С++ : полное руководство: классическое издание, Шилдт, Г., 2018
- Современный С++: безопасное использование, , 2023
- Технологии программирования. Методы обработки пользовательских типов данных на С++ - Кривцов А. Н. - Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича - - - 2021 - русский - https://e.lanbook.com/book/279452 - ЛАНЬ - 279452
- Технологии программирования. Технология программирования на С/С++ - Кривцов А. Н. - Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича - - - 2021 - русский - https://e.lanbook.com/book/279680 - ЛАНЬ - 279680
- Шаблоны C++. Справочник разработчика, Вандевурд, Д., 2020
- Эффективный и современный С++ : 42 рекомендации по использованию С++11 и С++14: пер. с англ., Мейерс, С., 2019
- Язык программирования C++, Страуструп, Б., 2012
- Язык программирования С++ : лекции и упражнения, Прата, С., 2014
- Язык программирования С++ : специальное издание, Страуструп, Б., 2015
- Язык программирования С++ : специальное издание, Страуструп, Б., 2019
- Язык программирования С++, Прата, С., 2013
- Язык программирования С++, Страуструп, Б., 2007
- Язык С++ и программирование на нём - Рейзлин В. И. - Томский политехнический университет - 978-5-4387-0975-6 - 2021 - русский - https://e.lanbook.com/book/246239 - ЛАНЬ - 246239
Рекомендуемая дополнительная литература
- Кудрина, Е. В. Основы алгоритмизации и программирования на языке C# : учебное пособие для бакалавриата и специалитета / Е. В. Кудрина, М. В. Огнева. — Москва : Издательство Юрайт, 2019. — 322 с. — (Бакалавр. Академический курс). — ISBN 978-5-534-09796-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/428603 (дата обращения: 28.08.2023).
- Программирование на языке высокого уровня Паскал - Павловская Т.А. - Национальный Открытый Университет "ИНТУИТ" - - - 2016 - русский - https://e.lanbook.com/book/100415 - ЛАНЬ - 100415
- Царев, Р. Ю. Программирование на языке Си [Электронный ресурс] : учеб. пособие / Р. Ю. Царев. – Красноярск : Сиб. федер. ун-т, 2014. – 108 с. - ISBN 978-5-7638-3006-4 - Режим доступа: http://znanium.com/catalog.php?bookinfo=510946
- Язык Си: кратко и ясно: Учебное пособие / Д.В. Парфенов. - М.: Альфа-М: НИЦ ИНФРА-М, 2014. - 320 с.: 60x90 1/16. (переплет) ISBN 978-5-98281-397-8 - Режим доступа: http://znanium.com/catalog/product/459254