ООП - Java2
ООП - Java 2
Циљ наставе
Да студент научи да у програмирању користи програмске нити, колекције, да научи основе програмирања у мрежи и да научи како се ради са графичким интерфејсом у програмском језику Јава.
Предавања
УВОД: Преглед градива из предмета ООП - Java 1.
ПРОГРАМСКЕ НИТИ: Јавин модел програмске нити. Главна програмска нит. Прављење нити. Прављење више нити. Приоритет извршавања нити. Синхронизовање. Комуницирање између нити. Суспендовање, настављање и заустављање нити.
ГЕНЕРИЧКИ ТИПОВИ: Генерички типови. Пример генеричке класе. Општи облик генеричке класе. Ограничени типови. Употреба џокерских аргумената. Генеричке методе. Генерички интерфејси. Хијерархије генеричких класа. Брисање. Грешке вишезначности. Ограничења генеричких типова.
КОЛЕКЦИЈЕ: Преглед колекција. Интерфејси и класе за рад са листама, скуповима, редовима, стаблима, хеш табелама. Итератори. For-each петља. Мапе. Компаратори. Алгоритми за рад са колекцијама. Класа Arrays. Класа Vector. Класа Stack.
НЕКЕ КЛАСЕ ИЗ ПАКЕТА java.util: Класе за рад са датумом и временом. Класа Random. Класа Observable. Класе Timer и TimerTask.
РАД У МРЕЖИ: Основи појмови. Класа InetAddress. Клијентска TCP/IP утичница. Класа URL. Серверске TCP/IP утичнице. Датаграми.
КЛАСА Applet: Аплети. Архитектура аплета. Структура аплета. Методе за приказивање аплета. Аплети у HTML документима. Прослеђивање параметара аплетима.
ОБРАДА ДОГАЂАЈА: Модел прослеђивања догађаја. Класе догађаја. Извори догађаја. Интерфејси пријемника догађаја. Употреба модела прослеђивања догађаја. Класе адаптера. Унутрашње класе.
РАД СА ПРОЗОРИМА: АWТ класе. Прозори. Класа Frame. Прозор типа Frame у аплету. Програми са прозорима.
РАД СА ГРАФИЧКИМ ОБЈЕКТИМА И ТЕКСТОМ: Графички објекти: цтрање, рад са бојама, начини исцртавања. Рад са текстом: приказивање текста, избор фонт-а, подешавање параметара фонт-а.
AWT КОНТРОЛНИ ОБЈЕКТИ, РАСПОРЕЂИВАЧИ И МЕНИЈИ: Контролни објекти: лабела, дугме, check box, радио дугмад, pop-up листа, листа, scroll bar, текстуално поље, вишередно текстуално поље. Распоређивачи. Менији. Дијалози. Класа FileDialog.
ГРАФИЧКА БИБЛИОТЕКА Swing: Класа JApplet. Класе из пакета Swing: лабела, текстуално поље, дугме, check box, радио дугмад, падајућа листа, tabbed pane, стабло, табела.
РАД СА СЛИКАМА: Формати датотека. Прављење, учитавање и приказивање слике. Обрада слике. Анимација.
КОНКУРЕНТНО ПРОГРАМИРАЊЕ: Пакети за конкурентно програмирање. Коришћење објеката за синхронизацију. Интерфејс Executor. Interfejs Lock. Атомске операције.
ПАКЕТ NIO, РЕФЛЕКСИЈА, RMI: Пакет NIO. Обрада регуларних израза. Рефлексија. Даљинско позивање метода (Remote Method Invocation - RMI).
ЗРНА ЈАВЕ: Зрно. Предности технологије зрна. Интроспекција. Прављење једноставног зрна.
SERVLETI: Сервлет. Пример једноставног сервлета. Параметри сервлета. Обрада HTTP захтева и одговора. Сесије.
Вежбе су аудиторне у учионици и лабораторијске на рачунару.
Полаже се колоквијум у облику теста који носи 10% оцене. Може се радити у штампаној форми или на рачунару.
Једном се оцењују лабораторијске вежбе које носе 20% оцене. Раде се варијанте задатака који су познати студентима.
Студент ради семинарски рад који носи 40% оцене, а састоји се од писања програма на језику Јава, писања документације за програм, демонстрације рада програма и усмене одбране семинарског рада.
Испит је у облику теста и носи 30% оцене. Тест се може радити у штампаној форми или на рачунару.
Литература:
1. Herbert Schildt, JavaTM J2SETM 5: kompletan priručnik, Mikro knjiga, Beograd, 2006, originalno izdanje: JavaTM: The Complete Reference, J2SETM 5 Edition, The McGraw-Hill Companies, 2005.
2. Ласло Краус, Збирка задатака из објектно оријентисаног софтвера, Академска мисао, Београд, 2002.
3. Ласло Краус, Збирка задатака из програмских језика и метода програмирања, Академска мисао, Електротехнички факултет, Београд, 2001.
4. Презентације за предавања и аудиторне вежбе у електронској и штампаној форми.





