Razvoj programskih rješenja (ETF RIO RPR 2360)

Opšte informacije

Naziv kursa

Razvoj programskih rješenja

Oznaka (šifra) predmeta

ETF RIO RPR 2360

Studij

ETF-B

Odsjek

Računarstvo i informatika

Godina

2

Semestar

3

Tip

Obavezni

ECTS

5

Ukupno sati nastave

60

Sati predavanja

38

Sati vježbi

22

Sati tutorijala

0

Cilj kursa - Znanje i vještine koje treba postići student

  Cilj kursa je sticanja znanja o naprednim konceptima objektno orijentisanog programiranja. Sa ovim znanjem studenti mogu dizajnirati i implementirati složenija programskih rješenja.

Program

  1.Napredni koncepti objektno orijentisanog programiranja. 

2.Generički mehanizam: uvod u generički mehanizam, definisanje šablona ("template"), šabloni funkcija, preklapanje funkcijskih šablona, šabloni klasa, nasljeđivanje i generički mehanizam, standardne "template" funkcije 

3.Obrada izuzetaka:tehnike upravljanja greškama, mehanizmi obrade izuzetaka u objektno orijentisanim jezicima, postavljanje izuzetaka (try block), obrada izuzetaka (catch), specifikacije izuzetaka, standardni izuzeci, specijalne funkcije za obradu izuzetaka (terminate, unexpected), izuzeci i efektivnost. 

4.Ulazno/Izlazne funkcije: biblioteke za rad sa ulazom i izlazom ("iostream" biblioteke), ulazno/izlazne klase i objekti, dodatni ulazno/izlazni operatori, preklapanje ulazno-izlaznih operatora, datotečni ("file") ulaz/izlaz. 

5.Razvoj i dizajn programa korištenjem objektno orijentisanih jezika: 

6.razvojni proces, cilj dizajna, koraci dizajn, testiranje, održavanje softvera, efektivnost, uloga klasa. 

7.Razvoj grafičkog korisničkog interfejsa. 

8.Uvod u upravljanje događajima (event-driven) i konkuretno programiranje. 

9.svim navedenim aspektima programiranja i razvoja softvera studenti uče preko praktičnih primjera.  

10.Opis glavnih aspekata vezanih za princip i metode dekompozicije progama, sa posebnim naglaskom na praktični rad studenata koji se odnosi na: Nezavisni razvoj dijelova malih softverskih projekata u malim timovima i njihovo povezivanje u cijelinu. 

11.Programski jezici C++, Java.

Literatura

Obavezna1.Bilješke i slajdovi s predavanja (moći će se preuzeti na WEB siteu Fakulteta); 

2.B. Stroustrup: The C++ Programming Language, Third Edition, AT&T 1997. 

3.Y. Daniel Liang: Introduction to Java Programming: Comprehensive Version", Fifth Edition, Prantice Hall 2005
Preporučena1.Deitel & Deitel. C++ : how to program. 5th.ed. Prentice Hall, 2005.  

2.Deitel & Deitel, Java How to Program. 6th ed. ed. Prentice Hall,2004

Didaktičke metode

  Kurs se izvodi kroz direktna predavanja u auli. Predavanja su praćena odgovarajućim primjerima od strane nastavnika, s ciljem da studenti ovladaju instrumentima i metodama uvedenim tokom predavanja. Predavanja su integrirana i sa vježbama koje studenti rade u laboratoriji 2 sata sedmično, praćeni i vođeni od strane tutora; svaka vježba obrađuje određenu temu, koristeći konkretne zadatke. 

Vježbe u laboratoriji organizirane su tako da svaki student ima na raspolaganju personalni računar na kojemu, pod vodstvom tutora i uz pomoć aplikativnog softvera obavlja predviđene aktivnosti. 

Kroz tutorijal se, pod vođenjem i pratnjom tutora, riješavanju i drugi zadaci, uključujući i zadatke s prethodnih ispitnih rokova; ove aktivnosti organizirane su na takav način da se već tokom izvođenja nastavnog programa kroz domaće zadaće i parcijalne ispite kontinuirano provjerava stupanj pripremljenosti studenta da ovlada znanjima i vještinama koje treba postići u okviru ovog kursa. 

Način provjere znanja

  Tokom trajanja kursa student prikuplja bodove prema slijedećem sistemu: 

- prisustvo satima predavanja, vježbi i tutorijala: 10 bodova, student koji više od tri puta izostane s predavanja,vježbi i/ili tutorijala ne može ostvariti bodove po ovoj osnovi; 

- izrada domaćih zadaća: maksimalno 10 bodova; predviđena je izrada od 5 do 10 domaćih zadaća ravnomjerno raspoređenih tokom semestra; 

- parcijalni ispiti: dva pismena parcijalna ispita, pri čemu svaki pozitivno ocijenjen parcijalni ispit donosi 20 bodova; 
Student koji je tokom trajanja semestra ostvario manje od 20 bodova ponovno upisuje ovaj kurs. 

Student koji je tokom trajanja semestra ostvario 40 i više bodova pristupa usmenom završnom ispitu; ovaj ispit sastoji se iz diskusije zadataka s parcijalnih ispita, domaćih zadaća i odgovora na jednostavna pitanja koja se odnose na teme kursa.  

Usmeni završni ispit donosi maksimalno 40 bodova. Da bi postigao pozitivnu završnu ocjenu, student na ovom ispitu mora ostvariti minimalno 20 bodova.
Student koji ne ostvari ovaj minimum pristupa usmenom dijelu popravnog ispita. 

Student koji je tokom trajanja semestra ostvario 20 i više bodova, a manje od 40 bodova, pristupa popravnom ispitu. Popravni ispit struktuiran je na slijedeći način: 

- pismeni dio koji je struktuiran na isti način kao i pismeni parcijalni ispit; u okviru ovog ispita student polaže zadatke iz tema za koje nije postigao prolaznu ocjenu (10 i više bodova) polažući parcijalne pismene ispite, 

- usmeni dio koji je struktuiran na isti način kao usmeni dio završnog ispita. 

Usmenom dijelu popravnog ispita može pristupiti student koji je nakon polaganja pismenog dijela popravnog ispita uspio stvariti ukupan skor od 40 i više bodova; ovaj skor sastoji se od bodova ostvarenih kroz: prisustvo nastavi, izradu domaćih zadaća, polaganje parcijalnih sipita i polaganje pismenog dijela popravnog ispita. 

Usmeni popravni ispit donosi maksimalno 40 bodova. Da bi postigao pozitivnu završnu ocjenu student na ovom ispitu mora ostvariti minimalno 20 bodova.
Student koji ne ostvari ovaj minimum ponovno upisuje ovaj kurs. 

Napomene

  Prilikom polaganja pismenog ispita, student može koristiti od strane nastavnika pripremljenu listu formula koje mogu biti od koristi prilikom rješavanja zadataka. Nije dozvoljeno korištenje drugih bilješki, knjiga, mobilnih telefona niti drugih elektronskih pomagala, osim džepnog elektronskog kalkulatora. 

Zadaci koje student treba riješiti na ispitu su istog tipa kao oni rješavani tokom izvođenja predavanja i tutorijala.