Программа курса «Введение в компьютерные технологии», I-2
Язык программирования Си++
- Концепция объектно-ориентированного программирования: инкапсуляция, наследование, полиморфизм.
- Классы. Конструкторы, деструктор. Статические методы и поля. Оператор «::».
- Перегрузка операторов и функций. Приведение типов, перегрузка оператора приведения типа, эксплицитные конструкторы (explicit).
- Потоки ввода-вывода Си++ (<iostream>, <fstream>, <sstream>) и их использование.
- Динамическая память. Операторы new и delete. Ссылки. Массивы объектов.
- Наследование, модификаторы доступа private, protected, public. Дружественные классы и функции (friend). Полиморфизм, виртуальные функции, виртуальный деструктор. Чисто виртуальные функции, абстрактные классы. Множественное наследование, виртуальное наследование.
- Обработка исключений Си++. Ключевые слова try, throw, catch, и их использование.
- Использование пространств имен (namespace, using).
- Строковые классы Си++ (string) и их использование.
- Обобщенное программирование. Шаблоны функций и классов.
- Абстракции стандартной библиотеки шаблонов Си++ (контейнеры, итераторы, алгоритмы, функционалы). Основные контейнеры (vector, set, list, deque, map). Работа с основными контейнерами и алгоритмами.
Фундаментальные алгоритмы программирования
- Динамические массивы.
- Деревья двоичного поиска. Понятие балансировки.
- Поиск с хэшированием, хэш-таблицы. Понятие о разрешении коллизий.
Численные методы
- Численное решение систем линейных уравнений.
- Численное решение дифференциальных уравнений (методы Эйлера, Верле и Рунге-Кутта).
- Псевдослучайные числа. Равномерное и нормальное распределения псевдослучайных чисел. Численное интегрирование методом Монте-Карло.
Литература
- В.В. Подбельский. «Стандартный Си++» – Москва, Финансы и статистика, 2008, 688 с.
- А.П. Иванов, О.C. Князева. «Язык программирования Си++, учебно-методическое пособие»
- Б. Страуструп. «Язык программирования Си++. Специальное издание» – Москва, Бином, 2011, 1136 c.
- Т. Кормен, Ч. Лейзерсон, Р. Ривест, К. Штайн. «Алгоритмы: построение и анализ» – Москва, Вильямс, 2011, 1296 c.
- Н.Н. Калиткин. «Численные методы» – Москва, Наука, 1978, 592 с.
- В.А. Антонюк, С.С. Задорожный. «Язык программирования С/С++, часто встречающиеся ошибки при написании программ» Учебно-методическое пособие по дисциплине «Программирование и информатика» М.: ООП физического ф-та МГУ им. М.В.Ломоносова 2021, 64 с.
