ОО2 — разлика између измена
| (Није приказано 20 међуизмена 3 корисника) | |||
| Ред 9: | Ред 9: | ||
| следећи = Пројектовање софтвера | | следећи = Пројектовање софтвера | ||
}} | }} | ||
'''Објектно оријентисано програмирање 2''' је обавезан предмет у четвртом семестру за СИ и РТИ, настављајући се на [[ОО1|Објектно оријентисано програмирање 1]]. | '''Објектно оријентисано програмирање 2''' је обавезан предмет у четвртом семестру за СИ и РТИ, настављајући се на [[ОО1|Објектно оријентисано програмирање 1]]. Наводи су нетачни. | ||
== Корисне везе == | == Корисне везе == | ||
* [https://eclipse.org/downloads/ Преузимање ''Eclipse'', развојног окружења које се користи на вежбама] | * [https://eclipse.org/downloads/ Преузимање ''Eclipse'', развојног окружења које се користи на вежбама] | ||
* [https://drive.google.com/open?id=1ymKiC-jmr66-FRMDYwP-p15SrVgSNu65 '''Скрипта са свим презентацијама комбинованим у једном документу, спремно за штампу'''] ([https://docs.google.com/document/d/1LZ1pqkOWJ6gH2F2cnYn9s6uE_bfiYXIf изворни ''Word'' документ]) | |||
* [https://drive.google.com/open?id=1tsApPhN_66xrdBYYFg_4PAivufJ4cBVQ ETF SI] (питалице, стари лабови) | * [https://drive.google.com/open?id=1tsApPhN_66xrdBYYFg_4PAivufJ4cBVQ ETF SI] (питалице, стари лабови) | ||
* [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/8381893109 ETF Materijali (Box)] | * [https://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/8381893109 ETF Materijali (Box)] | ||
| Ред 25: | Ред 26: | ||
На вежбама се програмира у Java програмском језику, у окружењу ''Eclipse''. Градиво вежби прати градиво предавања. Пред крај се такође ради језик C#, али закључно са нитима, те C# не долази у обзир за лабораторијске вежбе. | На вежбама се програмира у Java програмском језику, у окружењу ''Eclipse''. Градиво вежби прати градиво предавања. Пред крај се такође ради језик C#, али закључно са нитима, те C# не долази у обзир за лабораторијске вежбе. | ||
== | == Пројекат == | ||
Пројекат се ради као предиспитна обавеза, и служи као основа за модификације. Пројекат као такав самим тим не носи поене. | |||
Претходне поставке пројеката се могу наћи испод: | |||
* [https://rti.etf.bg.ac.rs/rti/ir2oo2/materijali/OOP2_2025_projekat.pdf Пројекат ООП2 2024/2025] | |||
Претходне модификације могу се наћи испод: | |||
{{#dpl: | |||
| namespace = | |||
| titleregexp = ОО2/Модификације | |||
| noresultsheader = Тренутно нема модификација. | |||
| format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦17¦-1}²]],, | |||
}} | |||
== Лабораторијске вежбе == | == Лабораторијске вежбе == | ||
'''''НЕ ДРЖЕ СЕ ОД 2024/2025''''' | |||
Исто као и на [[ОО1#Лаб вежбе|ОО1]]. Лабораторијске вежбе се раде искучиво на програмском језику Јава. | Исто као и на [[ОО1#Лаб вежбе|ОО1]]. Лабораторијске вежбе се раде искучиво на програмском језику Јава. | ||
; Градиво: | |||
Градиво: | * Прва (показна) лабораторијска вежба - Објекти и класе, извођење, проширивање класа, интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази | ||
* Прва (показна) лабораторијска вежба - Објекти и класе, извођење | * Друга лабораторијска вежба - Области за прву лабораторијску вежбу | ||
* Друга лабораторијска вежба - Области за прву лабораторијску вежбу | |||
* Трећа лабораторијска вежба - Целокупно градиво обрађено на програмском језику Јава | * Трећа лабораторијска вежба - Целокупно градиво обрађено на програмском језику Јава | ||
; Оцењивање: | |||
* Друга лабораторијска вежба се оцењује аутоматски, коришћењем ''JUnit''-а. Свака класа се бодује засебно. За сваку од метода постоји неколико тестова који укључују обичне и граничне случајеве. Број поена на тестовима представља максимум поена који се могу освојити, али се због грешака у коду могу додатно умањити поени. | |||
* Трећа лабораторијска вежба се оцењује тако што се програм покрене и тестирају се могућности дефинисане поставком лабораторијске вежбе. На самој вежби је доступан кључ за бодовање по ком ће асистенти оцењивати. Као и са тестовима на другој лабораторијској вежби, ово представља максимум поена, а уочене грешке у коду повлаче одређено умањење. | |||
Следеће модификације | Следеће модификације са претходних лабораторијских вежби су доступне: | ||
{{#dpl: | {{#dpl: | ||
| titleregexp = ОО2/Лаб | | titleregexp = ОО2/Лаб | ||
| Ред 45: | Ред 61: | ||
== Испитни рокови == | == Испитни рокови == | ||
Слична прича као и за [[ОО1#Испитни рокови|ОО1]]. | Слична прича као и за [[ОО1#Испитни рокови|ОО1]]. | ||
Уколико желите да додате рок, посетите '''[[Project:Направи#Moodle|страницу за прављење рока]]'''. | |||
=== Пробни тестови === | === Пробни тестови === | ||
| Ред 57: | Ред 75: | ||
{{#dpl: | {{#dpl: | ||
| titleregexp = ОО2/К1 | | titleregexp = ОО2/К1 | ||
| noresultsheader = Тренутно нема решених рокова. | |||
| format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],, | |||
}} | |||
=== Колоквијум === | |||
{{#dpl: | |||
| titleregexp = ОО2/К \d+ | |||
| noresultsheader = Тренутно нема решених рокова. | | noresultsheader = Тренутно нема решених рокова. | ||
| format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],, | | format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],, | ||
| Ред 72: | Ред 97: | ||
| titleregexp = ОО2/.* \d+$ | | titleregexp = ОО2/.* \d+$ | ||
| nottitleregexp = ОО2/К\d | | nottitleregexp = ОО2/К\d | ||
| nottitleregexp = ОО2/К \d | |||
| nottitleregexp = ОО2/Пробни тестови | | nottitleregexp = ОО2/Пробни тестови | ||
| nottitleregexp = ОО2/Лаб | | nottitleregexp = ОО2/Лаб | ||
| nottitleregexp = ОО2/Модификације | |||
| noresultsheader = Тренутно нема решених рокова. | | noresultsheader = Тренутно нема решених рокова. | ||
| format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],, | | format = ,\n* [[%PAGE%|²{#invoke:String¦sub¦%PAGE%¦5¦-1}²]],, | ||
| Ред 79: | Ред 106: | ||
== Начин оцењивања == | == Начин оцењивања == | ||
Исто као и на [[ОО1#Начин оцењивања|ОО1]]. | Исто као и на [[ОО1#Начин оцењивања|ОО1]]. Могуће је радити и испит у јуну и поправну трећу лабораторијску вежбу (детаљи на ОО1 страници). | ||
== Литература == | == Литература == | ||
Тренутна верзија на датум 26. септембар 2025. у 22:29
Објектно оријентисано програмирање 2 је обавезан предмет у четвртом семестру за СИ и РТИ, настављајући се на Објектно оријентисано програмирање 1. Наводи су нетачни.
Корисне везе
- Преузимање Eclipse, развојног окружења које се користи на вежбама
- Скрипта са свим презентацијама комбинованим у једном документу, спремно за штампу (изворни Word документ)
- ETF SI (питалице, стари лабови)
- ETF Materijali (Box)
Настава
Као наставак ОО1, на предмету се обрађују сличне области али на програмским језицима Java и C#:
- Први блок: Објекти и класе, извођење и проширивање класа
- Други блок: Интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази (до ове области на колоквијуму за РТИ), нити и конкурентно програмирање
- Трећи блок: Графички кориснички интерфејс и догађаји, генерици, .NET концепти, разлике C# у односу на Java, својства, делегати, догађаји
Презентације из области зрна и нити на језику C# се обично не предају током семестра и не могу доћи на испиту у прва два испитна рока, али могу после тога.
На вежбама се програмира у Java програмском језику, у окружењу Eclipse. Градиво вежби прати градиво предавања. Пред крај се такође ради језик C#, али закључно са нитима, те C# не долази у обзир за лабораторијске вежбе.
Пројекат
Пројекат се ради као предиспитна обавеза, и служи као основа за модификације. Пројекат као такав самим тим не носи поене.
Претходне поставке пројеката се могу наћи испод:
Претходне модификације могу се наћи испод:
Лабораторијске вежбе
НЕ ДРЖЕ СЕ ОД 2024/2025
Исто као и на ОО1. Лабораторијске вежбе се раде искучиво на програмском језику Јава.
- Градиво
- Прва (показна) лабораторијска вежба - Објекти и класе, извођење, проширивање класа, интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази
- Друга лабораторијска вежба - Области за прву лабораторијску вежбу
- Трећа лабораторијска вежба - Целокупно градиво обрађено на програмском језику Јава
- Оцењивање
- Друга лабораторијска вежба се оцењује аутоматски, коришћењем JUnit-а. Свака класа се бодује засебно. За сваку од метода постоји неколико тестова који укључују обичне и граничне случајеве. Број поена на тестовима представља максимум поена који се могу освојити, али се због грешака у коду могу додатно умањити поени.
- Трећа лабораторијска вежба се оцењује тако што се програм покрене и тестирају се могућности дефинисане поставком лабораторијске вежбе. На самој вежби је доступан кључ за бодовање по ком ће асистенти оцењивати. Као и са тестовима на другој лабораторијској вежби, ово представља максимум поена, а уочене грешке у коду повлаче одређено умањење.
Следеће модификације са претходних лабораторијских вежби су доступне:
Испитни рокови
Слична прича као и за ОО1.
Уколико желите да додате рок, посетите страницу за прављење рока.
Пробни тестови
Овде се налазе пробни тестови дати за вежбу пред колоквијум на Moodle платформи.
Колоквијум 1
Колоквијум
Колоквијум 2
Испит
Начин оцењивања
Исто као и на ОО1. Могуће је радити и испит у јуну и поправну трећу лабораторијску вежбу (детаљи на ОО1 страници).
Литература
Предмет је могуће положити са највишом оценом без коришћења литературе. Градиво предмета покривено је у ширини у уџбеницима, док су збирке од мањег значаја након увођења новог формата колоквијума.
- Програмски језик Java са решеним задацима 3. издање, Ласло Краус, Издавач: Академска Мисао, Београд
- Програмски језик C# са решеним задацима 1. издање, Ласло Краус, Издавач: Академска Мисао, Београд
- Решени задаци из програмског језика Java 5. издање, Ласло Краус, Издавач: Академска Мисао, Београд
- Решени задаци из програмског језика C# 2. издање, Ласло Краус, Издавач: Академска Мисао, Београд
Потребна помоћ
- На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.
- Од користи су такође модификације добијене на лабораторијским вежбама, како би студенти знали отприлике шта их на лабораторијским вежбама чека.