Студијски
програм : Основне
академске
студије |
||||
Назив
предмета: Објектно-орјентисано
програмирање |
||||
Наставник: Доц. Зоран
Николић |
||||
Статус
предмета:
Обавезни |
||||
Број
ЕСПБ: 5 |
||||
Услов: |
||||
Циљ
предмета:
Да уведе
студенте у савремене
методе објектно-орјентисаног
програмирања
и
апликативног
програмирања
у интерактивном
графичком
окружењу. |
||||
Исход
предмета: Усвајање
основних
појмова објектно-оријентисаног
програмирања. Стицање
практичних знања
неопходних
за развој
комплексних
апликација,
базираних
на развоју и
поновном
коришћењу
сопственог
кода, као и
коришћењу
функционалних
библиотека. Примене
STL
библиотеке
у решавању
комплексних
проблема у
обрадама
велике
количине
комплексних
типова
података, са
ограниченим
хардверским
ресурсима. Развој
алгоритама
базираних
на STL
библиотеци који
манипулишу
сложеним
типовима
података (сиглали,
фотографије,
... и
декомпозиције
таквих
података на
објекте и
њихове
анализе) у
обрадама
резултата у
савременој
науци. |
||||
Садржај
предмета: Теоријска
настава: Преглед
језика C++.
Примери
класе stack и
повезане
листе
реализоване
у језику C++.
Апстрактни
типови
контејнера.
Вектор, листа,
мапа и сет.
Итератори.
Мултимапе и
мултисетови.
Ред за
чекање и ред
за чекање са
приоритетом.
Програмирање
засновано
на
процедурама.
Функције.
Преношење
аргумената
и враћање
резултата.
Глобални и
локални
објекти и
функције.
Динамички
алоцирани
објекти и
њихов
значај.
Преоптерећивање
функција.
Конверзије
типа
аргумента.
Шаблони
функција.
Дедукција
аргумената
шаблона. Експлицитни
аргументи
шаблона.
Управљање
изузецима.
Хватање и
спецификације
изузетака.
Изузеци и
проблеми
пројектовања
програма.
Генерички
алгоритми.
Функцијски
објекти.
Програмирање
засновано
на
објектима. Класе.
Имплицитни
показивач
тхис.
Угнеждене
класе. Иницијализација,
додела и
деструкција.
Преоптерећени
оператори и
кориснички
дефинисане
конверзије.
Шаблони
класа.
Дефиниција
и
реализација
шаблона
класе.
Функције
чланице
шаблона
класе.
Декларације
пријатеља у
шаблонима
класа. Угњеждени
типови
шаблона
класа.
Виртуелне
функције.
Вишеструко
и виртуелно
наслеђивање.
Јавно,
приватно и
заштићено
наслеђивање.
Идентификација
типа у фази
извршавања.
Библиотека
иостреам.
Преоптерећивање
излазног и
улазног
оператора. STL-
библотека и
њени генерички
алгоритми.
Примене STL
библиотеке
у решавању
комплексних
проблема у
програмирању.
Увод у WIN32 SDK – API. Креирање
прозора и
пратеће 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, 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 |
|