Naziv predmeta

Objektno programiranje

Detalji
Kod
VSITE124
Skr.
OBJ
ECTS
5
Godina
3
Semester
Zimski semestar
Vrsta
izborni smjera
Razina HKO 6
Preddiplomski studij
E-Learning
0%
Aktivnosti
IT zg - Ljet 19/20
ECTS
Jedinice
Sati
Svega
P
1
15
2
30
A
0.5
15
1
15
L
0.5
6
2
15
S
0
0
0
0
KA
0
0
0
0
KP
0
2
1
0
PR
0
0
0
0
IP
0
0
0
0
IU
0
1
2
0
SU
3
1
90
90
NastavniciNositelji: Nenad Čaklović, pred.
PreduvjetiNema
Sadržaj

Oblikovanje i implementacija programa u C++ jeziku: forma, funkcije i primitivni tipovi podataka. Klase i objekti. Nizovi, tokovi i operatori. Sučelje klase, apstrakcija i implementacija. Iteratori i obrasci. Polimorfizam i nasljeđivanje. Apstraktne klase. Generičke klase. Rukovanje iznimkama. Temeljne dinamičke strukture podataka. Interakcija s Windows 2000 operativnim sustavom. Pristup izradi većih projekata. Analiza zahtjeva, izrada zadatka, model sustava i objekata, izrada, testiranje i analiza upotrebe programa. Uvod u MFC klase.

Ciljevi učenja

Opća.
Principi objektnog i generičkog programiranja. Analiza postojećeg koda.
Vođenje manjih projekata. Pisanje sigurnog, jednostavnog i razumljivog
koda.

Posebna.
Programski jezik C++: definicija klasa i funkcija članova; izvođenje;
polimorfizam; predlošci; iznimke; standardna biblioteka

Ishodi učenja

1. Razumjeti odlike, temelje i principe objektnog programiranja.
2. Čitati, razumjeti i analizirati postojeći kod - primjere, module ili projekte.
3. Pratiti moderne tendencije, standarde i alate u objektnom programiranju.
4. Dizajnirati i voditi manje projekte - analiza problema, specifikacija, planiranje, dokumentacija.
5. Samostalno izvoditi manje projekte - od definicije modula, biblioteka, klasa, funkcija do implementacije.
6. Bez problema se uklopiti u veće (nove ili postojeće) projekte unutar razvojnog tima

Sposobnosti

Kolegij pruža specijalistička znanja s područja programiranja kao nadogradnju jezgre računarstva i osposobljava polaznike za programiranje u programskom jeziku MS C++

Preporučena literatura

1. Motik, Boris; Šribar, Julijan: «Demistificirani C++», Element Zagreb, 1997. 2. N. Plaziv+bat, Objektno orijentirano programiranje, Veleučilište u Splitu, Split 2002. 3. Eckel, B: «Thinking in C++», Second Edition, Prentice Hall, 2000. 4. Stroustrup, B: «The C++ Programming Language», Adison Wesley, 1986.

Dodatna literatura

1. Liberty, Jesse: «Teach Yourself C++ in 21 Days», SAMS Publishing, 2001.

predavanja (P)
  1. 1. UVOD 1.1. Odlike objektnog programiranja 1.2. Uvod u programski jezik C++ 1.3. Razlike programskih jezika C i C++
  2. 2. ELEMENTI OBJEKTNOG PROGRAMIRANJA 2.1. Pojam objekta 2.2. Razredi objekata
  3. 3. UPOTREBA OBJEKATA 3.1. Članovi i metode 3.2. Prava pristupa 3.3. Vrste metoda
  4. 4. KREIRANJE I INICIJALIZACIJA OBJEKATA 4.1. Dinamička alokacija 4.2. Konstruktor, destruktor 4.3. Redoslijed inicijalizacije 4.4. Statički članovi
  5. 5. NAMESPACE 5.1. Pojam namespace-a 5.2. Operator:: 5.3. Objekti iz standardnog namespace-a
  6. 6. NASLJEĐIVANJE 6.1. Princip nasljeđivanja 6.2. Bazna i izvedena klasa 6.3. Prava pristupa 6.4. Redoslijed inicijalizacije
  7. 7. VIRTUALNE FUNKCIJE 7.1. Pojam virtualne funkcije 7.2. Implementacija virtualnih funkcija 7.3. Virtualni destruktor 7.4. Čisto virtualne funkcije, apstraktne klase, interface
  8. 8. VIŠESTRUKO NASLJEĐIVANJE 8.1. Višestruke bazne klase 8.2. Redoslijed inicijalizacije 8.3. Virtualno izvođenje
  9. 9. OPERATORI 9.1. Pojam friend 9.2. Funkcije operatori 9.3. Preopterećenje operatora 9.4. Operatori implicitne pretvorbe
  10. 10. TEMPLATE 10.1. Template klase 10.2. Template funkcije 10.3. Instanciranje 10.4. Specijalizacija 10.5. Eksplicitna konverzija
  11. 11. IZNIMKE 11.1. Bacanje i hvatanje iznimki 11.2. Hijerarhija iznimki 11.3. Deklaracija funkcija
  12. 12. STANDARDNA BIBLIOTEKA - KOLEKCIJE 12.1. Osobine standardnih kolekcija, iteratori 12.2. Sekvencijalne kolekcije: vector, deque, list 12.3. Adapteri: stack, queue, priority_queue 12.4. Asocijativne kolekcije: map, multimap, set, multiset
  13. 13. STANDARDNA BIBLIOTEKA - ALGORITMI 13.1. Standardni algoritmi, standardni objekti 13.2. Funkcijski objekti, predikat 13.3. Podjela algoritama, primjeri
  14. 14. BIBLIOTEKE ZA RAD U WINDOWSIMA 14.1. Javne besplatne biblioteke, OWL, ATL 14.2. MFC, hijerarhija klasa, primjer jednostavnog programa
  15. Nije definirano
auditorne vježbe (A)
  1. 1. UVOD 1.1. Odlike objektnog programiranja 1.2. Uvod u programski jezik C++ 1.3. Razlike programskih jezika C i C++
  2. 2. ELEMENTI OBJEKTNOG PROGRAMIRANJA 2.1. Pojam objekta 2.2. Razredi objekata
  3. 3. UPOTREBA OBJEKATA 3.1. Članovi i metode 3.2. Prava pristupa 3.3. Vrste metoda
  4. 4. KREIRANJE I INICIJALIZACIJA OBJEKATA 4.1. Dinamička alokacija 4.2. Konstruktor, destruktor 4.3. Redoslijed inicijalizacije 4.4. Statički članovi
  5. 5. NAMESPACE 5.1. Pojam namespace-a 5.2. Operator:: 5.3. Objekti iz standardnog namespace-a
  6. 6. NASLJEĐIVANJE 6.1. Princip nasljeđivanja 6.2. Bazna i izvedena klasa 6.3. Prava pristupa 6.4. Redoslijed inicijalizacije
  7. 7. VIRTUALNE FUNKCIJE 7.1. Pojam virtualne funkcije 7.2. Implementacija virtualnih funkcija 7.3. Virtualni destruktor 7.4. Čisto virtualne funkcije, apstraktne klase, interface
  8. 8. VIŠESTRUKO NASLJEĐIVANJE 8.1. Višestruke bazne klase 8.2. Redoslijed inicijalizacije 8.3. Virtualno izvođenje
  9. 9. OPERATORI 9.1. Pojam friend 9.2. Funkcije operatori 9.3. Preopterećenje operatora 9.4. Operatori implicitne pretvorbe
  10. 10. TEMPLATE 10.1. Template klase 10.2. Template funkcije 10.3. Instanciranje 10.4. Specijalizacija 10.5. Eksplicitna konverzija
  11. 11. IZNIMKE 11.1. Bacanje i hvatanje iznimki 11.2. Hijerarhija iznimki 11.3. Deklaracija funkcija
  12. 12. STANDARDNA BIBLIOTEKA - KOLEKCIJE 12.1. Osobine standardnih kolekcija, iteratori 12.2. Sekvencijalne kolekcije: vector, deque, list 12.3. Adapteri: stack, queue, priority_queue 12.4. Asocijativne kolekcije: map, multimap, set, multiset
  13. 13. STANDARDNA BIBLIOTEKA - ALGORITMI 13.1. Standardni algoritmi, standardni objekti 13.2. Funkcijski objekti, predikat 13.3. Podjela algoritama, primjeri
  14. 14. BIBLIOTEKE ZA RAD U WINDOWSIMA 14.1. Javne besplatne biblioteke, OWL, ATL 14.2. MFC, hijerarhija klasa, primjer jednostavnog programa
  15. Nije definirano
laboratorijske vježbe (L)
  1. podrška u standardnoj biblioteci za unos i ispis
  2. klasa sa privatnim i javnim članovima za čitanje i pisanje u datoteku
  3. klasa za dinamički spremnik brojeva, alokacija
  4. bazne i izvedene klase, konstruktor/destruktor, redoslijed izvršavanja
  5. apstraktna klasa, virtualne funkcije
  6. klasa sa preopterećenim operatorima
  7. generički spremnik - template klasa
  8. kalkulator sa obradama iznimki
  9. standardna biblioteka - vector, list, map
  10. standardna biblioteka - algoritmi na vektoru cijelih brojeva
kolokvij - teorija (KP)
  1. Kolokvij se polaže kroz test koji se sastoji od 5 do10 kratkih zadataka teoretskog i praktičnog značaja. Obuhvaća sljedeće nastavne cjeline: (2) ELEMENTI OBJEKTNOG PROGRAMIRANJA, (3) UPOTREBA OBJEKATA, (4) KREIRANJE I INICIJALIZACIJA OBJEKATA, (5) NAMESPACE, (6) NASLJEĐIVANJE, (7) VIRTUALNE FUNKCIJE, (8) VIŠESTRUKO NASLJEĐIVANJE. Svaki zadatak se ocjenjuje s 5 - 10 bodova, ovisno o njegovoj težini, a uvjet za prolaz je 50% maksimalnog broja bodova. Kolokvij se u slučaju opravdanog razloga može pisati naknadno. U protivnom, student pripadajući dio gradiva polaže na pismenom ispitu.
  2. Kolokvij se polaže kroz test koji se sastoji od 3 do 5 zadataka praktičnog značaja. Obuhvaća sljedeće nastavne cjeline: (9) OPERATORI, (10) TEMPLATE, (11) IZNIMKE, (12-13) STANDARDNA BIBLIOTEKA. Svaki zadatak se ocjenjuje s 10 - 20 bodova, ovisno o njegovoj težini, a uvjet za prolaz je 50% maksimalnog broja bodova. Kolokvij se u slučaju opravdanog razloga može pisati naknadno. U protivnom, student pripadajući dio gradiva polaže na pismenom ispitu.
ispit - teorija (IU)
  1. Za studente koji su položili kolokvije, ispit se sastoji od usmenog ispita kroz koji se provjerava teoretsko i praktično znanje. Konačna ocjena se formira na osnovu rezultata kolokvija, ocjene laboratorijskih vježbi, ocjena stečenih tijekom nastave na osnovu kratkih testova i ocjene usmenog ispita. Studenti koji nisu položili kolokvije moraju pismeno polagati pripadajuće gradivo kroz test koji se sastoji od 3 zadatka praktičnog značaja.
samostalno učenje (SU)
  1. / kolokviji, konzultacije, samostalno učenje, samostalno rješavanje numeričkih zadataka, samostalni rad u laboratoriju