Объектно-ориентированное программирование

ТРУДОЕМКОСТЬ ДИСЦИПЛИНЫ
Общая трудоемкость дисциплины составляет 7 ЗЕТ (252 час.).

ЦЕЛИ И ЗАДАЧИ ДИСЦИПЛИНЫ
Целью курса является обучение студентов основам объектно-ориентированного проектирования и программирования в современных средах разработки ПО.
Основой задачей изучения курса является получение знаний и практических навыков в области проектирования и разработки объектно-ориентированных программ. В результате изучения курса студент должен иметь представление о предпосылках возникновения ООП и его месте в эволюции парадигм программирования, знать принципы объектно-ориентрованного проектирования и программирования, а также уметь разрабатывать объектно-ориентированные программы на языках C++, C++ CLI и C# с применением библиотек классов STL и .NET.

МЕСТО ДИСЦИПЛИНЫ В СТРУКТУРЕ ООП
Дисциплина «Объектно-ориентированное программирование» относится к вариативной части профессионального цикла дисциплин. Изучение объектно-ориентированного программирования необходимо для освоения на следующих курсах таких дисциплин, как «Основы разработки программного обеспечения», «Операционные системы», «Теория языков программирования и методы трансляции», «Теория вычислительных процессов» и многих других дисциплин, связанных с разработкой и написанием программ, т.к. все современные языки программирования и программные библиотеки являются объектно-ориентированными.

ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ ДИСЦИПЛИНЫ
Процесс изучения дисциплины направлен на формирование следующих общекультурных (ОК), профессиональных (ПК) и профессионально-специализированных компетенций (ПСК):

  1. владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановке цели и выбору путей её достижения (ОК-1);
  2. готов к кооперации с коллегами, работе в коллективе (ОК-3);
  3. стремится к саморазвитию, повышению своей квалификации и мастерства (ОК-6);
  4. осознает сущность и значение информации в развитии современного общества; владеет основными методами, способами и средствами получения, хранения, переработки информации (ОК-11);
  5. имеет навыки работы с компьютером как средством управления информацией (ОК-12);
  6. осваивать методики использования программных средств для решения практических задач (ПК-2);
  7. разрабатывать интерфейсы "человек - электронно-вычислительная машина" (ПК-3);
  8. разрабатывать модели компонентов информационных систем, включая модели баз данных (ПК-4);
  9. разрабатывать компоненты программных комплексов и баз данных, использовать современные инструментальные средства и технологии программирования (ПК-5);
  10. применять специализированные программные средства для построения моделей процессов, данных, объектов (ПСК-3);
  11. владеть основными методами процессов разработки программного обеспечения (ПСК-5);
  12. проектировать программное обеспечение с использованием специализированных программных пакетов (ПСК-9);
  13. осуществлять разработку программного обеспечения на современных языках программирования (ПСК-10);
  14. осуществлять отладку программ (ПСК-11);
  15. проводить объектно-ориентированный анализ (ПСК-12);
  16. осуществлять объектно-ориентированное проектирование (ПСК-13).
В результате изучения дисциплины студент должен:
Знать: принципы объектно-ориентированного анализа и проектирования, основы объектно-ориентированного подхода к программированию.
Уметь: проводить объектную декомпозицию предметной области, писать в современных средах разработки объектно-ориентрованные программы, использовать объектно-ориентированные библиотеки классов при разработке ПО.
Владеть: основными приемами объектно-ориентрованного программирования на языках C++, C++ CLI и C#, навыками использования библиотек классов STL, .NET.

СОДЕРЖАНИЕ ДИСЦИПЛИНЫ. ОСНОВНЫЕ РАЗДЕЛЫ
Введение. Основные понятия. Объектно-ориентированный анализ и проектирование. Объектная декомпозиция. Объектно-ориентированное программирование на языке C++ (классы и структуры, члены классов, инкапсуляция, дружественность, перегрузка стандартных операторов, виртуальный и абстрактный полиморфизм, наследование, шаблоны функций и классов). Объектно-ориентированное программирование на языке C# (основы языка, .NET, классы, структуры и интерфейсы, делегаты, свойства, индексаторы, события, универсальные типы).

ВИДЫ УЧЕБНОЙ РАБОТЫ
Лекции, лабораторные работы.

ФОРМА АТТЕСТАЦИИ ПО ДИСЦИПЛИНЕ
Изучение дисциплины заканчивается экзаменом.