Дисциплини

15 Обектно-ориентирано програмиране 1 част

Седмичен хорариум 2+0+2
Форма на контрол Изпит

Анотация


Дисциплината " Обектно ориентирано програмиране 1 част" се провежда по програма, основана на текущите познания на студентите от специалност "Компютърни системи и технологии", придобити до момента по дисциплините "Програмиране и използване на компютри" и "Синтез и анализ на алгоритми". При съставянето на съдържанието на дисциплината са взети под внимание програмите на авторитетни висши учебни заведения от САЩ и Европейския съюз, както и мнението на асоциацията на С и С++ потребителите. Дисциплината запознава студентите със съвременните технологии за разработка на приложения на езика С++. Основните раздели са "Обектно ориентирано програмиране на C++" и "Стандартна библиотека от шаблонни класове STL". Основните принципи на обектно-ориентираното програмиране се представят чрез имплементация на алгоритми и структури данни, изучавани в предходните курсове, като се разширяват познанията в областта на алгоритмите, обобщава се понятието за алгоритъм и начина за имплементацията му.

Основни цели на дисциплината:

  • Овладяване на принципите на обектно-ориентираното програмиране на С++;
  • Подобряване на алгоритмичната подготовка на студентите;
  • Усвояване на библиотечните функции за работата с абстрактни структури данни;
  • Усвояване на принципите за разработка на приложения с контейнерна организация и общи алгоритми.


Програмна среда на дисциплината е Microsoft Visual Studio 2010 или по-нова

Съдържание


Тема 1. Въведение в дисциплината. Цел и задачи на дисциплината. Указания за начина на подготовка и ползване на литературата Променливи, указатели и референции, предаване на параметри.
Тема 2. Обекти и класове. Член променливи и функции, Конструктори и деструктори. Функции за достъп до член променливите, контрол на достъпа до членовете.
Тема 3. Производност и наследяване. Базов клас, производен клас, приятелски класове и функции.
Тема 4. Полиморфизъм.Виртуални член функции. Абстрактни и конкретни класове. Алгоритмична абстракция. Множествено наследяване. Видове наследяване.
Тема 5. Средства за организация на програмите. Предефиниране на функции. Предефиниране на оператори. Шаблони.
Тема 6. Средства за организация на програмите. Статични членове. Типови преобразувания. Изключения.
Тема 7. Средства за организация на програмите. Именни пространства. Вградени обекти и функции. Подразбиращи се аргументи
Контролна работа
Тема 8. Библиотека STL. Същност и основни елементи.
Тема 9. Последователни контейнери. Вектор. Опашка. Списък. Функции на последователните контейнери.
Тема 10. Итератори на контейнери. Видове, същност и класификация.
Тема 11. Обобщени алгоритми. Принципи на създаване на общи алгоритми, основани на STL.
Тема 12. Асоциативни контейнери
Тема 13. Адаптери. Видове адаптери.
Контролна работа
Тема 14. Съвместна работа на компонентите. Принципи при избор на контейнерите и алгоритмите. Оценка на ефективността при решаване на практически задачи.