Objektno orijentirano programiranje

Prikazani su podaci za akademsku godinu: 2023./2024.

Predavanja

Auditorne vježbe

Laboratorijske vježbe

Opis predmeta

Osnovna načela objektno orijentiranog programiranja i oblikovanja. Modeliranje. Ponovna iskoristivost koda. Programski okviri za razvoj programa. Programski jezik Java. Java kao strojno neovisna platforma. Alati za programiranje. Rad iz komandne linije.Konvencije pisanja koda. Reorganizacija programa. Apstrakcija. Enkapsulacija. Klase i objekti. Statički članovi. Modifikatori vidljivosti. Konstruktori. Veze između klasa. Upravljanje memorijom i sakupljači smeća. Nasljeđivanje. Polimorfizam. Apstraktne klase. Sučelja. Iznimke. Datoteke i tokovi. Kolekcije. Općeniti algoritmi nad kolekcijama. Jednostavni i složeni komparatori. Generici. Višedretvenost i višedretvene aplikacije. Izrada aplikacija s grafičkim korisničkim sučeljem. Jednostavne i složene grafičke komponente

Studijski programi

Sveučilišni preddiplomski
(2. semestar)

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 0 % 10 % 0 % 0 %
Kratke provjere znanja 0 % 10 % 0 % 0 %
Međuispit: Pismeni 25 % 40 % 0 %
Završni ispit: Pismeni 25 % 40 %
Ispit: Pismeni 50 % 100 %

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

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

Za studente

Izvedba

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

Ocjenjivanje

90 izvrstan
80 vrlo dobar
65 dobar
50 dovoljan