Skip to main content

IT - Object-Oriented Programming

Subject name

Object-Oriented Programming

Details
Code
VSITE124
Abbrev.
OBJ
ECTS
5
Year
3
Semester
Winter semester
Type
major elective
NQF Level 6
Bachelor study
E-Learning
0%
Activities
IT zg - Win 24/25
ECTS
Units
Hours
Total
T
1
15
2
30
N
0.5
15
1
15
L
0.5
6
2
15
S
0
0
0
0
PN
0
0
0
0
PT
0
2
1
0
PR
0
0
0
0
EN
0
0
0
0
ET
0
1
2
0
AL
3
1
90
90
TeachersLeaders: Nenad Čaklović, pred.
PrerequisitsNone
Content

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.

Learning objectives

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

Learning outcomes

1. Understand the distinctions, foundations and principles of object programming.
2. Read, understand and analyze the existing code- examples, modules or projects.
3. Follow modern tendencies, standards and tools in object programming.
4. Design and run minor projects - problem analysis, specification, planning, documentation.
5. Perform minor projects independently - from definition of modules, libraries, classes and functions up to implementation.
6. To fit into larger (new or existing) projects within the developing team without any problems.

Competencies

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++

Recommended Literature

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.

Additional Literature

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

lectures (T)
  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. Not defined
numeric exercises (N)
  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. Not defined
laboratory exercises (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
preliminary exam - theory (PT)
  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.
exam - theory (ET)
  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.
autonomus learning (AL)
  1. / kolokviji, konzultacije, samostalno učenje, samostalno rješavanje numeričkih zadataka, samostalni rad u laboratoriju

Ulica Vjekoslava Klaića 7, 10000 Zagreb, tel. 01/3764200 fax. 01/3764264