Kontakti Predavanja Vježbe dr. sc. Željko Kovačević, v. pred. 1) dr. sc. Aleksandar Stojanović, v. pred. zeljko.kovacevic@tvz.hr aleksandar.stojanovic@tvz.hr
2) Silvio Plehati, mag. ing. techn. inf., asist.
silvio.plehati@tvz.hr
3) Branimir Barun, mag. ing. techn. inf., asist.
branimir.barun@tvz.hr Ciljevi predmeta Usvojiti osnovna načela objektno orijentiranog programiranja Naučiti oblikovati klase na temelju definicije svojstava i ponašanja objekata Oblikovati programska rješenja u C++u pomoću klasa primjenom koncepata objektno orijentirane paradigme Teme • Osnove klasa, • Konstruktor i destruktor klase • Preopterećenje funkcije • Statički i dinamički objekti • Pametni pokazivači • Enkapsulacija i const metode • Prijenos argumenata • Imenovani prostor • Kopirni konstruktor • Operator pridruživanja • Prijenosni konstruktor i operator pridruživanja Teme • Deklaracija friend • Statički podatkovni članovi klase • Statičke funkcije klase • Iznimke • Iznimke korisničkih i standardnih tipova • Ugniježđene i proslijeđene iznimke • Neprihvaćene iznimke • Specifikacija iznimki u deklaraciji funkcije • Članske operatorske funkcije • Ne-članske operatorske funkcije • Preopterećenja drugih operatora Teme • Nasljeđivanje • Nadređenje metode i koncept „prikrivanja“ imena • Kreiranje i uništavanje objekata izvedene klase • Pretvorbe na više i niže • Polimorfizam • Apstraktne klase • Virtualno nasljeđivanje • Predlošci funkcija • Predlošci klasa • Specijalizacija predloška • Predlošci standardne biblioteke Teme • Predlošci s neograničenim brojem argumenata • Funkcijski objekti • Lambda funkcije • Rekurzivne lambda funkcije Pohađanje nastave - Predavanja su obavezna! ◦ Mogu se pronaći na LMS-2020 stranicama kolegija. ◦ Prisutnost predavanjima bilježi se korištenjem LMS-2020 stranica kolegija ◦ Svaki dolazak na predavanje nosi 0.5 dodatnih bodova (maksimalno kašnjenje: 20 min)
- Laboratorijske vježbe su obavezne!
Ukupno 11 laboratorijskih vježbi (0. vježba + 10 vježbi) Dopuštena maksimalno 3 neopravdana izostanka Plan nastave po tjednima - Objavljeno na LMS-2020 stranicama kolegija Bodovanje - Kolegij se boduje s ukupno 100 bodova: Laboratorijske vježbe (50 bodova) Završni kolokvij/ispit (50 bodova) Dodatno: dolasci na predavanja (~5 bodova)
-Studenti koji na kraju semestra ne uspiju skupiti dovoljno bodova za prolaz pristupaju pismenom ispitu (50 bodova): - 20 bodova teorija + 30 bodova praktični zadaci
-Konačna ocjena proizlazi iz broja bodova stečenih na laboratorijskim vježbama, završnom
kolokviju/ispitu te bodova iz prisutnosti na predavanjima (tablica iznad). - Usmeni ispit za studente koji imaju između 45-50 bodova! Bodovanje Studenti koji nisu zadovoljni predloženom ocjenom imaju mogućnost pristupiti pismenom ispitu. U tom slučaju trajno se odriču bodova stečenih na završnom kolokviju Bodovi stečeni na laboratorijskim vježbama priznaju se do početka sljedeće akademske godine.
Studeni ponavljači mogu:
A. Ponovno pohađati lab. vježbe B. Prebaciti bodove iz lab. vježbi iz prethodne ak. godine • U tom slučaju ne moraju ponovno prisustvovati vježbama • Prebacivanje bodova je moguće samo u prva 2 tjedna nastave! Laboratorijske vježbe Neparne lab. vježbe (1, 3, 5, 7 i 9) nisu za bodove. ◦ Služe kao priprema za sljedeću (parnu) lab. vježbu koja je za bodove ◦ Studenti rješavaju dva praktična zadatka na računalu ◦ Jedan iz područja trenutne, a drugi iz sljedeće tematske cjeline ◦ Moguće korištenje nastavnih materijala, Interneta, rad u parovima, pomoć nastavnika itd. ◦ Tokom neparnih lab. vježbi studenti mogu dobiti uvid u rezultate prethodne lab. vježbe Laboratorijske vježbe Parne lab. vježbe (2, 4, 6, 8 i 10) su za bodove. - Teorijski dio (15 min, 15 pitanja, 4 boda) - Praktični zadaci (65 min, 5 zadataka, 6 bodova) - Uključuje područje trenutne i prethodne tematske cjeline ◦ Svaki od zadataka ocjenjuje se na sljedeći način: ◦ 1 bod – potpuno točno ◦ 0,5 bodova – polovično riješeno (po osobnoj procjeni nastavnika) ◦ 0 – netočno ◦ Predani izvorni kod MORA SE USPJEŠNO PREVODITI korištenjem Microsoft Visual Studio alata/prevoditelja. U protivnom, predano rješenje neće biti ocijenjeno (0 bodova). Laboratorijske vježbe Studenti se za grupe prijavljuju preko web stranica kolegija (moj.tvz.hr, „rezervacija labosa”) Termini vježbi te vrijeme početka prijava biti će unaprijed objavljeni na web stranicama kolegija Prednost pri prijavi imaju studenti koji prvi (brže) odaberu željenu grupu/termin Studenti koji na vrijeme ne odaberu željenu grupu/termin morati će odabrati jednu od slobodnih (nepopunjenih) grupa Studenti se mogu mijenjati za grupe a zamjene su dopuštene najkasnije do početka 3. lab. vježbe Laboratorijske vježbe Studenti na vježbe dolaze isključivo u grupu koju su prijavili putem web stranica kolegija! Ukoliko student iz opravdanih razloga nije u mogućnosti doći u svoju grupu a vježbu želi odraditi u nekoj drugoj grupi taj tjedan obavezan je prethodno tražiti dopuštenje nastavnika kod kojeg izvorno pohađa vježbe Student koji bez prethodne najave i dopuštenja dođe u termin neke druge grupe neće moći prisustvovati vježbi Laboratorijske vježbe Vježbe počinju točno po rasporedu Dopušteno je kašnjenje od maksimalno 15 min (akademska četvrt) Nakon isteka akademske četvrti student može pristupiti vježbi samo uz ispričnicu (dokaz o kašnjenju vlaka od konduktera i sl.) Literatura i resursi Ž. Kovačević, Slajdovi sa predavanja (web stranice kolegija) Snimke online predavanja iz ak. godine 2020/21 (LMS-2020 web stranice kolegija) Ž. Kovačević, M. Slamić, A. Stojanović, Objektno orijentirano programiranje – Nastavni materijal za auditorne i laboratorijske vježbe, 2018 (LMS-2020 web stranice kolegija) Riješeni primjeri i zadaci (40ak zadataka sa lab. vježbi iz prijašnjih godina, LMS-2020 web stranice kolegija) Ž. Kovačević, Video snimke riješenih zadataka, https://www.youtube.com/channel/UC59ocZeEK0BHtDeXLE2ydJw J. Šribar, B. Motik, Demistificirani C++, Element, 1997.