Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Programiranje 2
Programming 2
2025/2026
5 ECTSa
Informacijski i poslovni sustavi 1.2 (IPS)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
ZP
2. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.2 (IPS) 2 obavezan
Cilj kolegija
Kolegij se nastavlja na Programiranje I s kojim predstavlja cjelinu. Po završetku, studenti trebaju biti sposobni oblikovati, kodirati, testirati, ispravljati i dokumentirati programska, prije svega objektno orijentirana rješenja problema algoritamskog tipa. Ciljna razina složenosti programa jesu programi koji rade s više datoteka i više klasa.
Preduvjeti
Norma kolegija
Predavanja
30 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Konecki Mladen Nositelj Predavanja
Vježbe u praktikumu
15
15
2
2
1
3
Radošević Danijel Nositelj Predavanja
Vježbe u praktikumu
15
15
2
2
1
6
Banić Bojan Vanjski suradnik Vježbe u praktikumu 15 2 3
Peroković Mario Vanjski suradnik Vježbe u praktikumu 15 2 3
Slunjski Toni Vanjski suradnik Vježbe u praktikumu 15 2 3
Cafuk Renato Vanjski suradnik Vježbe u praktikumu 15 2 3
Cmrk Matija Vanjski suradnik Vježbe u praktikumu 15 2 3
Sadržaj predavanja
  • Uvodno predavanje: logički razvoj programa. (2 sata)
    Razvoj programa uz korištenje kontrolnih točaka na kojima se program verificira sintaksno i logički. Tehnika pisanja programa na način da on bude provjerljiv unutar 10 novih programskih redaka. Programiranje uz pomoć sučelja %22Verifikator%22.
  • Implementacija i primjena dinamičkih struktura podataka u programiranju. (6 sati)
    Dinamičke strukture podataka i instrumenti njihove implementacije u C++. Implementacija vezane liste: kreiranje, dodavanje elemenata, pretraživanje, sortiranje, brisanje elemenata, dealokacija liste. Primjena vezane liste unutar programa u C++. Implementacija binarnog stabla: kreiranje, dodavanje elemenata, pretraživanje, brisanje elemenata, dealokacija stabla. Rekurzivne funkcije. Biblioteke. Primjer: biblioteka funkcija za mjerenje vremena.
  • Rad s datotekama. (4 sata)
    Datoteke s fiksnom veličinom zapisa: sekvencijalne, relativne i indeksne. Rad s datotečnim pokazivačem. Primjer: program predložak za rad s datotekama u C++. Pretraživanje indeksa: slijedno i binarno. Analiza brzine pretraživanja kod sekvencijalnih, relativnih i indeksnih datoteka. Primjer u C++: telefonski imenik. Primjer u C++: kopiranje podataka između datoteka i vezanih lista, te datoteka i polja.
  • Objektni pristup. (10 sati)
    Koncepti objektnog programiranja. Usporedba sa strukturnim pristupom. Primjer: biblioteka klasa za mjerenje vremena u odnosu na biblioteku funkcija za mjerenje vremena. Nasljeđivanje, tipovi nasljeđivanja, višestruko nasljeđivanje, virtualne metode i polimorfizam, prijatelj klase. Apstraktne klase i čiste virtualne metode. Primjer polimorfizma: vezana lista s heterogenim elementima. Primjer u C++: registar vozila. Primjer objektno-orijentiranog razvoja programa uz implementaciju objektnog mehanizma za upravljanje indeks-sekvencijalnim datotekama. Primjer u C++: prijave studenata.
  • Predlošci funkcija i klasa. (2 sata)
    Primjer u C++: implementacija vezanih listi uz pomoć predložaka klasa. Standardna biblioteka predložaka (STL). Implementacija vezane liste, stoga i asocijativne mape pomoću STL.
  • Napredne tehnike programiranja. (4 sata)
    Algoritmi temeljeni na rekurziji. Primjeri u C++: pronalaženje najkraćeg puta, popunjavanje zatvorenog poligona, pretraživanje binarnog stabla. Primjer u C++: upotreba binarnog stabla kao pomoćne strukture za sortiranje. Sortiranje postupkom Heapsort. Primjeri implementacije hrpe, stoga i redova čekanja u C++. Upravljanje iznimkama pomoću strukture try-catch.
  • Modeliranje kao osnova programiranja. (2 sata)
    Model podataka objekti-veze-svojstva i njegova implementacija uz pomoć objektnog modela. Primjena UML dijagrama u razradi objektnog modela programa (dijagram klasa, dijagram komunikacije). Implementacija modela podataka objekti-veze-svojstva uz pomoć objektnog modela.
Sadržaj seminara/vježbi
Ishodi učenja kolegija
  • Izgraditi vlastite biblioteke potprograma s često korištenim potprogramima te ih po potrebi uključivati u programe.
  • Osmisliti hijerarhiju klasa podataka i nasljeđivanje i prikazati model dijagramom klasa podataka.
  • Formulirati privatnost podataka u klasama podataka i prikazati model dijagramom klasa podataka.
  • Formulirati metode koje se odnose na zadanu klasu podataka te ih opisati dijagramom klasa podataka i aktivnosti.
  • Opisati temeljne koncepte testiranja programskog rješenja.
  • Otkriti logičke pogreške u zadanom programskom rješenju korištenjem programskog alata (eng. debugging).
  • Razviti rekurzivno rješenje zadanog programskog problema i izvesti ga u odabranom imperativnom programskom jeziku.
  • Odabrati testne primjere ulaznih podataka ta testiranje zadanog programa za uobičajene i rubne dozvoljene instance zadanog problema.
  • Modelirati indeksne datoteke za podatke prema potrebama pretraživanja podataka i njihovoj količini te implementirati rješenje u zadanom imperativnom programskom jeziku.
  • Osmisliti implementaciju izrađenog objektnog modela korištenjem koncepata nasljeđivanja, enkapsulacije, polimorfizma i apstrakcije u zadanom programskom jeziku.
  • Implementirati standardne operatore za implementiranu klasu podataka.
Ishodi učenja programa
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
Osnovna literatura
  • Radošević, D., Programiranje 2, TIVA Tiskara Varaždin i Fakultet organizacije i informatike, Varaždin, 2007.
  • Motik, B., Šribar, J., Demistificirani C++, 5. dopunjeno izdanje, Element, Zagreb, 2018.
Dopunska literatura
  • Stroustrup, B., Programming: Principles and Practice Using C++, second edition, Addison-Wesley, 2014.
  • Lippman, S. B., Lajoie, J., Moo, E., C++ Primer, 6th edition, Addison-Wesley, 2015.
  • Sawitch,W., Absolute C++,6th edition, Addison-Wesley, 2015.
Slični kolegiji
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 24.04.2026.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2025 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda