Студијски програм : Основне академске студије

Назив предмета: Објектно-орјентисано програмирање

Наставник: Доц. Зоран Николић

Статус предмета: Обавезни

Број ЕСПБ: 5

Услов:

Циљ предмета: Да уведе студенте у савремене методе објектно-орјентисаног програмирања и апликативног програмирања у интерактивном графичком окружењу.

Исход предмета: Усвајање основних појмова објектно-оријентисаног програмирања. Стицање практичних знања неопходних за развој комплексних апликација, базираних на развоју и поновном коришћењу сопственог кода, као и коришћењу функционалних библиотека. Примене STL библиотеке у решавању комплексних проблема у обрадама велике количине комплексних типова података, са ограниченим хардверским ресурсима. Развој алгоритама базираних на STL библиотеци који манипулишу сложеним типовима података (сиглали, фотографије, ... и декомпозиције таквих података на објекте и њихове анализе) у обрадама резултата у савременој науци.

Садржај предмета:

Теоријска настава: Преглед језика C++. Примери класе stack и повезане листе реализоване у језику C++. Апстрактни типови контејнера. Вектор, листа, мапа и сет. Итератори. Мултимапе и мултисетови. Ред за чекање и ред за чекање са приоритетом. Програмирање засновано на процедурама. Функције. Преношење аргумената и враћање резултата. Глобални и локални објекти и функције. Динамички алоцирани објекти и њихов значај. Преоптерећивање функција. Конверзије типа аргумента. Шаблони функција. Дедукција аргумената шаблона. Експлицитни аргументи шаблона. Управљање изузецима. Хватање и спецификације изузетака. Изузеци и проблеми пројектовања програма. Генерички алгоритми. Функцијски објекти. Програмирање засновано на објектима. Класе. Имплицитни показивач тхис. Угнеждене класе. Иницијализација, додела и деструкција. Преоптерећени оператори и кориснички дефинисане конверзије. Шаблони класа. Дефиниција и реализација шаблона класе.  Функције чланице шаблона класе. Декларације пријатеља у шаблонима класа. Угњеждени типови шаблона класа. Виртуелне функције. Вишеструко и виртуелно наслеђивање. Јавно, приватно и заштићено наслеђивање. Идентификација типа у фази извршавања. Библиотека иостреам. Преоптерећивање излазног и улазног оператора. STL- библотека и њени генерички алгоритми. Примене STL библиотеке у решавању комплексних проблема у програмирању. Увод у WIN32 SDKAPI. Креирање прозора и пратеће API функције. Улаз са тастатуре. Стандардне контроле – User API. Common контроле. Поруке, догађаји и асинхрони улаз у WIN32. Управљање меморијом. Фајлови и меморијско мапирање фајлова. Unicode i ASCII. Graphics Device Interface. Регистар база података. Размена података између програма. Clipboard. Обрада изузетака у WIN32. Процеси и токови. Размена података између независних токова у програму. Програмирање у хибридном окружењу. Употребљиви код различитих програмских језика. Библиотеке са run-time приступом (Dynamic Link Libraries). Коришћење и креирање DLL-ова.

Литература:

1. S. B. Lippman, J. Lajoie, C++ Primer, Addison-Wesley, (2000) – Prevod: C++ Izvornik, CET Computer Equipment and Trade, Beograd, (2000).

2. J. Richter, Advanced Windows : the developer’s guide to the Win32 API for Windows NT and Windows 95, Microsoft Press, (1995).

Број часова  активне наставе:  4

Теоријска настава:  4 (2+2)

Практична настава:

Методе извођења наставе

Предавања (Теоријска обрада тематских јединица, практични примери, домаћи задаци), рачунске вежбе (домаћи задаци и семинари).

Оцена  знања (максимални број поена 100)

Предиспитне обавезе

поена

 

Завршни испит

поена

активност у току предавања

15

писмени испит

25

активност у току рачунских вежби

15

усмени испит

25

семинар

20

UKUPNO

100