Ects: 5
Predavanja: 2
Vježbi: 2
Cilj predmeta:
Upoznati studenta s konceptima objektno orijentiranog programiranja.
Sadržaj predmeta:
Definicija objektno orijentiranog programiranja. Razlika između objektnog i proceduralnog programiranja. Upoznavanje s programskim alatima i platformom. Klase i objekti. Nasljeđivanje i enkapsulacija. Polimorfizam. Apstraktne klase. Apstraktne i virtualne metode. Preopterećenje metoda, svojstava i operatora. Definicija i korištenje delegata i događaja. Definiranje i implementacija sučelja. Klasni i objekti dijagrami. Dijagrami sekvencije i suradnje. Dijagrami aktivnosti i stanja.
Kompetencije:
Student će upoznati karakteristike i koncepte objektno orijentiranog programiranja. Praktičan rad pri definiranju i razvoju aplikacija omogućit će studentu stjecanje praktičnih znanja i vještina za primjenu objektnog programiranja u programskom rješavanju određenih problema, vještina pri uporabi objektno orijentiranih programskih jezika i vještina pri uporabi razvojnih alata.
Ishodi učenja:
Student će nakon polaganja ispita ovog predmeta moći: 1) Napisati jednostavan program temeljen na objektno-orijentiranim principima. 2) Izabrati opciju razvoja u aplikacija u objektno-orijentiranom ili proceduralnom programskom jeziku. 3) Organizirati dijelove aplikacije u klase, sučelja i pakete u skladu s objektno orijentiranim principima programiranja. 4) Kreirati objektno-orijentirani model hijerarhije klasa na kojem će se temeljiti implementacija aplikacije. 5) Samoprocijeniti je li potrebno složenije klase strukturirati u više jednostavnijih, radi bolje modularnosti. 6) Organizirati klase na način da koriste ostale komponente aplikacije preko drugih klasa. 7) Osmisliti strukturu kako bi bila prilagođena za naknadna proširenja. 8) Upravljati alatima koji na osnovi grafičkog modela klasa generiraju programski kod s osnovnom strukturom. 9) Preurediti postojeći dijagram klasa na kako bi bilo moguće implementirati nove korisničke zahtjeve. 10) Povezati znanja proceduralnih programskih jezika sa znanjima objektno-orijentiranih programskih jezika i komponetnog dizajna. 11) Kritički prosuđivati prednosti i mane objektno orijentiranih programskih jezika Java s obzirom na ostale vrste programskih jezika. Navedeni ishodi učenja doprinose ishodima učenja studijskog programa: – Osmisliti i razviti programske aplikacije korištenjem suvremenih strukturnih, proceduralnih i objektnih programskih jezika. – Prezentirati vlastiti stručni rad (seminarski, diplomski, projekt,..) – Koristiti stručnu literaturu i pretraživanje dostupnih baza informacija i baza znanja.