ОО2 — разлика између измена
Нема описа измене |
|||
(Нису приказане 23 међуизмене 3 корисника) | |||
Ред 1: | Ред 1: | ||
{{ | {{Предмет | ||
'''Објектно оријентисано програмирање 2''' је обавезан предмет у четвртом семестру, настављајући се на [[ОО1|Објектно оријентисано програмирање 1]]. | | назив = Објектно оријентисано програмирање 2 | ||
| шифра = 13С112ОО2, 13Е112ОО2 | |||
| семестар = 4 | |||
| статус = обавезни | |||
| страница = [https://rti.etf.bg.ac.rs/rti/ir2oo2/ rti.etf.rs/rti/ir2oo2] | |||
| одсек = СИ, РТИ | |||
| претходни = ОО1 | |||
| следећи = Пројектовање софтвера | |||
}} | |||
'''Објектно оријентисано програмирање 2''' је обавезан предмет у четвртом семестру за СИ и РТИ, настављајући се на [[ОО1|Објектно оријентисано програмирање 1]]. Наводи су нетачни. | |||
== Корисне везе == | |||
* [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://app.box.com/s/0r50je333z1qyypz0h3rm0iqb9s0d64f/folder/8381893109 ETF Materijali (Box)] | |||
== | == Настава == | ||
* | Као наставак [[ОО1#Настава|ОО1]], на предмету се обрађују сличне области али на програмским језицима Java и C#: | ||
* '''Први блок:''' Објекти и класе, извођење и проширивање класа | |||
* '''Други блок:''' Интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази (до ове области на колоквијуму за РТИ), нити и конкурентно програмирање | |||
* '''Трећи блок:''' Графички кориснички интерфејс и догађаји, генерици, .NET концепти, разлике C# у односу на Java, својства, делегати, догађаји | |||
Презентације из области зрна и нити на језику C# се обично не предају током семестра и не могу доћи на испиту у прва два испитна рока, али могу после тога. | |||
На вежбама се програмира у Java програмском језику, у окружењу ''Eclipse''. Градиво вежби прати градиво предавања. Пред крај се такође ради језик C#, али закључно са нитима, те C# не долази у обзир за лабораторијске вежбе. | |||
== Домаћи == | == Домаћи == | ||
Домаћи задаци се раде пре лабораторијских вежби и услов су за бодове на лабораторијским вежбама, али сами по себи углавном не носе бодове. Постоји могућност да се са предатим празним домаћим задатком дође на лабораторијску вежбу и на њој ради цео домаћи, али ово се не препоручује због временског ограничења. Домаћи задаци претходних година могу се пронаћи [https://rti.etf.bg.ac.rs/rti/ir2oo2/lab/ на страници предмета.] Један пример решења из 2021/2022. године може се наћи [[github:lordofdestiny/OO2Domaci|овде]]. | |||
== | == Лабораторијске вежбе == | ||
Исто као и на [[ОО1#Лаб вежбе|ОО1]]. | Исто као и на [[ОО1#Лаб вежбе|ОО1]]. Лабораторијске вежбе се раде искучиво на програмском језику Јава. | ||
; Градиво: | |||
* Прва (показна) лабораторијска вежба - Објекти и класе, извођење, проширивање класа, интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази | |||
* Друга лабораторијска вежба - Области за прву лабораторијску вежбу | |||
* Трећа лабораторијска вежба - Целокупно градиво обрађено на програмском језику Јава | |||
; Оцењивање: | |||
* Друга лабораторијска вежба се оцењује аутоматски, коришћењем ''JUnit''-а. Свака класа се бодује засебно. За сваку од метода постоји неколико тестова који укључују обичне и граничне случајеве. Број поена на тестовима представља максимум поена који се могу освојити, али се због грешака у коду могу додатно умањити поени. | |||
* Трећа лабораторијска вежба се оцењује тако што се програм покрене и тестирају се могућности дефинисане поставком лабораторијске вежбе. На самој вежби је доступан кључ за бодовање по ком ће асистенти оцењивати. Као и са тестовима на другој лабораторијској вежби, ово представља максимум поена, а уочене грешке у коду повлаче одређено умањење. | |||
Следеће модификације са претходних лабораторијских вежби су доступне: | |||
{{#dpl: | {{#dpl: | ||
| titleregexp = ОО2/Лаб | | titleregexp = ОО2/Лаб | ||
Ред 25: | Ред 47: | ||
== Испитни рокови == | == Испитни рокови == | ||
Слична прича као и за [[ОО1#Испитни рокови|ОО1]] . | Слична прича као и за [[ОО1#Испитни рокови|ОО1]]. | ||
Уколико желите да додате рок, посетите '''[[Project:Направи#Moodle|страницу за прављење рока]]'''. | |||
=== Пробни тестови === | === Пробни тестови === | ||
Овде се налазе пробни тестови дати за вежбу пред колоквијум на Moodle платформи. | Овде се налазе пробни тестови дати за вежбу пред колоквијум на ''Moodle'' платформи. | ||
{{#dpl: | {{#dpl: | ||
| titleregexp = ОО2/Пробни тестови | | titleregexp = ОО2/Пробни тестови | ||
Ред 38: | Ред 62: | ||
{{#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}²]],, | ||
Ред 53: | Ред 84: | ||
| titleregexp = ОО2/.* \d+$ | | titleregexp = ОО2/.* \d+$ | ||
| nottitleregexp = ОО2/К\d | | nottitleregexp = ОО2/К\d | ||
| nottitleregexp = ОО2/К \d | |||
| nottitleregexp = ОО2/Пробни тестови | | nottitleregexp = ОО2/Пробни тестови | ||
| nottitleregexp = ОО2/Лаб | | nottitleregexp = ОО2/Лаб | ||
Ред 60: | Ред 92: | ||
== Начин оцењивања == | == Начин оцењивања == | ||
Исто као и на [[ОО1#Начин оцењивања|ОО1]]. | Исто као и на [[ОО1#Начин оцењивања|ОО1]]. Могуће је радити и испит у јуну и поправну трећу лабораторијску вежбу (детаљи на ОО1 страници). | ||
== Литература == | == Литература == | ||
Предмет је могуће положити са највишом оценом без коришћења литературе. Градиво предмета покривено је у ширини у уџбеницима | Предмет је могуће положити са највишом оценом без коришћења литературе. Градиво предмета покривено је у ширини у уџбеницима, док су збирке од мањег значаја након увођења новог формата колоквијума. | ||
* '''[https://akademska-misao.rs/ | * '''[https://akademska-misao.rs/product/programski-jezik-java-sa-resenim-zadacima-3-izdanje-jse-13/ Програмски језик Java са решеним задацима]''' 3. издање, Ласло Краус, ''Издавач: Академска Мисао, Београд'' | ||
* '''[https://akademska-misao.rs/ | * '''[https://akademska-misao.rs/product/programski-jezik-c-sa-resenim-zadacima-2/ Програмски језик C# са решеним задацима]''' 1. издање, Ласло Краус, ''Издавач: Академска Мисао, Београд'' | ||
* '''[https://akademska-misao.rs/product/reseni-zadaci-iz-programskog-jezika-java-sa-resenim-zadacima-5-izdanje/ Решени задаци из програмског језика Java]''' 5. издање, Ласло Краус, ''Издавач: Академска Мисао, Београд'' | |||
* '''[https://akademska-misao.rs/ | * '''[https://akademska-misao.rs/product/reseni-zadaci-iz-programskog-jezika-c-ii-izdanje/ Решени задаци из програмског језика C#]''' 2. издање, Ласло Краус, ''Издавач: Академска Мисао, Београд'' | ||
* '''[https://akademska-misao.rs/ | |||
== Потребна помоћ == | == Потребна помоћ == | ||
* {{zadaci|postavke}} | * {{zadaci|postavke}} | ||
** Од користи су такође модификације добијене на лабораторијским вежбама, како би студенти знали отприлике шта их на лабораторијским вежбама чека. | ** Од користи су такође модификације добијене на лабораторијским вежбама, како би студенти знали отприлике шта их на лабораторијским вежбама чека. | ||
Тренутна верзија на датум 1. април 2024. у 07:33
Објектно оријентисано програмирање 2 је обавезан предмет у четвртом семестру за СИ и РТИ, настављајући се на Објектно оријентисано програмирање 1. Наводи су нетачни.
Корисне везе
- Преузимање Eclipse, развојног окружења које се користи на вежбама
- Скрипта са свим презентацијама комбинованим у једном документу, спремно за штампу (изворни Word документ)
- ETF SI (питалице, стари лабови)
- ETF Materijali (Box)
Настава
Као наставак ОО1, на предмету се обрађују сличне области али на програмским језицима Java и C#:
- Први блок: Објекти и класе, извођење и проширивање класа
- Други блок: Интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази (до ове области на колоквијуму за РТИ), нити и конкурентно програмирање
- Трећи блок: Графички кориснички интерфејс и догађаји, генерици, .NET концепти, разлике C# у односу на Java, својства, делегати, догађаји
Презентације из области зрна и нити на језику C# се обично не предају током семестра и не могу доћи на испиту у прва два испитна рока, али могу после тога.
На вежбама се програмира у Java програмском језику, у окружењу Eclipse. Градиво вежби прати градиво предавања. Пред крај се такође ради језик C#, али закључно са нитима, те C# не долази у обзир за лабораторијске вежбе.
Домаћи
Домаћи задаци се раде пре лабораторијских вежби и услов су за бодове на лабораторијским вежбама, али сами по себи углавном не носе бодове. Постоји могућност да се са предатим празним домаћим задатком дође на лабораторијску вежбу и на њој ради цео домаћи, али ово се не препоручује због временског ограничења. Домаћи задаци претходних година могу се пронаћи на страници предмета. Један пример решења из 2021/2022. године може се наћи овде.
Лабораторијске вежбе
Исто као и на ОО1. Лабораторијске вежбе се раде искучиво на програмском језику Јава.
- Градиво
- Прва (показна) лабораторијска вежба - Објекти и класе, извођење, проширивање класа, интерфејси, набрајања, изузеци, угнежђени типови, ламбда изрази
- Друга лабораторијска вежба - Области за прву лабораторијску вежбу
- Трећа лабораторијска вежба - Целокупно градиво обрађено на програмском језику Јава
- Оцењивање
- Друга лабораторијска вежба се оцењује аутоматски, коришћењем JUnit-а. Свака класа се бодује засебно. За сваку од метода постоји неколико тестова који укључују обичне и граничне случајеве. Број поена на тестовима представља максимум поена који се могу освојити, али се због грешака у коду могу додатно умањити поени.
- Трећа лабораторијска вежба се оцењује тако што се програм покрене и тестирају се могућности дефинисане поставком лабораторијске вежбе. На самој вежби је доступан кључ за бодовање по ком ће асистенти оцењивати. Као и са тестовима на другој лабораторијској вежби, ово представља максимум поена, а уочене грешке у коду повлаче одређено умањење.
Следеће модификације са претходних лабораторијских вежби су доступне:
Испитни рокови
Слична прича као и за ОО1.
Уколико желите да додате рок, посетите страницу за прављење рока.
Пробни тестови
Овде се налазе пробни тестови дати за вежбу пред колоквијум на Moodle платформи.
Колоквијум 1
Колоквијум
Колоквијум 2
Испит
Начин оцењивања
Исто као и на ОО1. Могуће је радити и испит у јуну и поправну трећу лабораторијску вежбу (детаљи на ОО1 страници).
Литература
Предмет је могуће положити са највишом оценом без коришћења литературе. Градиво предмета покривено је у ширини у уџбеницима, док су збирке од мањег значаја након увођења новог формата колоквијума.
- Програмски језик Java са решеним задацима 3. издање, Ласло Краус, Издавач: Академска Мисао, Београд
- Програмски језик C# са решеним задацима 1. издање, Ласло Краус, Издавач: Академска Мисао, Београд
- Решени задаци из програмског језика Java 5. издање, Ласло Краус, Издавач: Академска Мисао, Београд
- Решени задаци из програмског језика C# 2. издање, Ласло Краус, Издавач: Академска Мисао, Београд
Потребна помоћ
- На овом предмету фале поставке рокова. Помозите викију памћењем/преписивањем рокова и постављањем на вики.
- Од користи су такође модификације добијене на лабораторијским вежбама, како би студенти знали отприлике шта их на лабораторијским вежбама чека.