Objektno orijentirano programiranje

Ishodi učenja

  1. Opisati načela objektno orijentirane paradigme
  2. Primijeniti koncepte apstrakcije, enkapsulacije podataka, nasljeđivanja i polimorfizma na razvoj programa
  3. Koristiti objektno orijentirani programski jezik i pripadne biblioteke za razvoj programa
  4. Razviti, ispitivati i uklanjati pogreške koristeći načela objektnog oblikovanja te integriranih razvojnih okruženja
  5. Razviti i osmisliti programe s grafičkim korisničkim sučeljima
  6. Primijeniti višedretvenost u svrhu razvoja odazivih korisničkih sučelja
  7. Opisati i objasniti faktore koji doprinose dobrom objektno-orijentiranom rješenju

Oblici nastave

Predavanja

popraćena materijalima i prezentacijom stavljenom na web-stranicu predmeta

Auditorne vježbe

demonstracija programskih rješenja i alata te rješavanje zadataka

Samostalni zadaci

priprema za laboratorijske vježbe

Laboratorij

složeni laboratorijski zadaci koji obuhvaćaju objektno orijentirano programiranje u Javi

Način ocjenjivanja

   
Odlukom Fakultetskoga vijeća, u akademskoj godini 2019./2020. međuispiti su ukinuti, a bodovi pridijeljeni toj komponenti prebacuju se u završni ispit, osim u slučaju kad su nositelji drugačije preraspodijelili bodove i komponente provjere. Obavijest o načinu ocjenjivanja potražite među obavijestima vezanim uz svaki predmet.
   
Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Laboratorijske vježbe 50 % 50 % 0 % 50 %
Međuispit: Pismeni 40 % 25 % 0 %
Završni ispit: Pismeni 40 % 25 %
Ispit: Pismeni 50 % 50 %

Tjedni plan nastave

  1. Jednostavni numerički algoritmi. kao što su izračun prosjeka liste brojeva. pronalaženje minimuma. maksimuma i moda u listi. približni izračun kvadratnog korijena broja. ili određivanje najveće zajedničke mjere. Nizovi i obrada nizova.
  2. Zapisi/struktovi (raznorodne nakupine). Upravljanje memorijom i oslobađanje nekorištene memorije. Definicija klasa: polja. metode i konstruktori. Objekto usmjereno izražavanje učahurivanja.
  3. Podklase. nasljeđivanje i prekrivanje metoda.
  4. Apstraktne klase i sučelja. nasljeđivanje. višeobličnost.
  5. Dinamičko upućivanje: definicija poziva metode. Podtipovi.
  6. Linearne podatkovne strukture: polja i liste. Apstraktni tipovi podataka i njihova ugradnja (stogovi. redovi. prioritetni redovi. skupovi. mape).
  7. Pisanje i čitanje datoteka i tokova.
  8. Međuispit.
  9. Ugnježdene i unutarnje klase i funkcije kao prvorazredni objekti.
  10. Korištenje klasa prikupljanja. iteratora i ostlih komponenti iz zajedničke biblioteke.
  11. Korištenje klasa prikupljanja. iteratora i ostlih komponenti iz zajedničke biblioteke. Klase. metode i funkcije kao prvorazredni objekti.
  12. Algoritmi slijednog i binarnog pretraživanja. Klase. metode i funkcije kao prvorazredni objekti.
  13. Razvoj aplikacija s grafičkim korisničkim sučeljem.
  14. Višedretvenost i višedretvene primjene (aplikacije?). Razvoj aplikacija s grafičkim korisničkim sučeljem.
  15. Završni ispit.

Studijski programi

Sveučilišni preddiplomski
Elektrotehnika i informacijska tehnologija i Računarstvo (studij)
(2. semestar)

Literatura

Herbert Schildt (2017.), Java: The Complete Reference, Tenth Edition, McGraw Hill Professional
Marko Čupić (.), Programiranje u Javi, FER, knjiga u nastajanju
Mario Kušek, Marko Topolnik (.), Uvod u programski jezik Java, FER, interna skripta
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft (2018.), Java 8 & 9 in Action, Pearson Professional
Walter Savitch, Kenrick Mock (2015.), Absolute Java, Global Edition, Pearson Higher Ed

Predavanja

Auditorne vježbe

Laboratorijske vježbe

Izvedba

ID 183371
  Ljetni semestar
8 ECTS
R3 Engleski jezik
R1 E-učenje
60 Predavanja
15 Auditorne vježbe
18 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

90 izvrstan
80 vrlo dobar
65 dobar
50 dovoljan