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

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