Object-Oriented Programming in C++

Nikiforov Vasiliy Lvovich

The instructor profile

Description: Возможности современных языков программирования во многом определяются возможностями среды визуального программирования, в которой этот язык представлен и качеством реализацией принципов объектно-ориентированного программирования. В дисциплине рассматриваются вопросы построения консольных приложений и Windows приложении с использованием различных технологий программирования, предоставляемых средой Visual Studio.NET платформы Microsoft .NET Framework. Много внимания уделяется эффективному использованию принципов инкапсуляции, наследования и полиморфизма при программировании структур типа класс. Отдельно рассмотрены вопросы композиции и коллекции классов, программирование транспортных задач с использованием алгоритмов работы с графами.

Amount of credits: 5

Пререквизиты:

  • Algorithmization and programming

Course Workload:

Types of classes hours
Lectures 15
Practical works
Laboratory works 30
SAWTG (Student Autonomous Work under Teacher Guidance) 30
SAW (Student autonomous work) 75
Form of final control Exam
Final assessment method

Component: Component by selection

Cycle: Base disciplines

Goal
  • Цель преподавания дисциплины является овладение современными основами объектно-ориентированного программирования на языке C++.
Objective
  • Изучить современные основы объектно-ориентированного программирования вычислительных процессов и других различных прикладных задач на языке C++ в Windows приложении платформы Microsoft .NET Framework, лежащие в основе инструментальных средств, применяемых на разных этапах жизненного цикла. Сформировать у будущих специалистов компетентности в области объектно-ориентированного программирования.
Learning outcome: knowledge and understanding
  • демонстрировать знания и понимание в изучаемой области, основанные на передовых знаниях в изучаемой области;
Learning outcome: applying knowledge and understanding
  • применять знания и понимания на профессиональном уровне, формулировать аргументы и решать проблемы изучаемой области;
Learning outcome: formation of judgments
  • осуществлять сбор и интерпретацию информации для формирования суждений с учетом социальных, этических и научных соображений;
Learning outcome: communicative abilities
  • применять теоретические и практические знания для решения учебно-практических и профессиональных задач в изучаемой области;
Learning outcome: learning skills or learning abilities
  • навыки обучения, необходимые для самостоятельного продолжения дальнейшего обучения в изучаемой области;
Teaching methods

интерактивная лекция (проблемная лекция, дискуссионная лекция, лекция-конференция, лекция-консультация, лекция «Пресс-конференция», лекция «Вопросы-ответы-обсуждение»);

Topics of lectures
  • Понятие о событийном управлении Windows
  • Основные структурные элементы управления визуального программирования
  • Пространство имен System
  • Инициализация графического режима работы проекта
  • Меню программы
  • Использование диалогового меню для работы с файлами
  • Многооконные приложения
  • Понятие класса
  • Конструкторы, методы, свойства
  • Понятие инкапсуляции – защиты данных от прямого доступа
  • Понятие полиморфизма
  • Понятие интерфейса
  • Понятие композиции и коллекции класса
  • Понятие делегата
  • Понятие события
Key reading
  • Стивен Прата Язык программирования С++ Лекции и упражнения. Учебник. Киев – 2001г.
  • Т.Уильям, Ф.Уильям Структуры данных в С++. Москва. ЗАО «Издательство БИНОМ» 2000г.
  • Х.М. Дейтел, П.Дж. Дейтел Как программировать на С++. ЗАО «Издательство БИНОМ» 2000г.
Further reading
  • Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 2018 г. – 896с. 3 Т.А. ПавловскаяC#, Программирование на языке высокого уровня. Учебник для вузов, СПб,: Питер, 2009г.
  • Д. Кнут. Искусство программирования для ЭВМ. Т.3./ Сортировка и поиск / - М.:Мир,1976