Fakultet tehničkih nauka

Predmet: Objektno orijentisano programiranje 2 (17.SE1006)

Matične organizacione jedinice predmeta: Odsek za računarsku tehniku i računarske komunikacije
Osnovne informacije:
 
Kategorija Naučno-stručni
Uža naučna oblast Primenjene računarske nauke i informatika
Multidisciplinarna Ne
ESPB 6
Cilj:

Upoznavanje studenata sa naprednim konceptima objektno-orijentisanog pristupa upotrebom programskog jezika Ce++ i razvojem programa istovremenom upotrebom više programerskih paradigmi (multi-paradigm programming)

Ishod:

Student koji uspešno završi kurs upoznat je sa mogućnostima programskog jezika Ce++; ume da efikasno koristi elemente standardne biblioteke; shvata osnovne principe na kojima je objektno orijentisan jezik razvijen; upoznat je sa prednostima i nedostacima jezika i ume da prepozna situacije u kojima je primereno koristiti jezik Ce++; svestan je na koji način jezik podržava različite pristupe programiranju i prepoznaje prednosti i nedostatke svakog od podržanih pristupa;

Sadržaj:

Uvod: osnovne karakteristike jezika, evolucija jezika. Organizacija programa: zaglavlja i biblioteke. Struktura Ce++ programa: globalne funkcije, funkcija main(), klase, šabloni (funkcija i klasa). Automatski generisane funkcije članice: konstruktori i operatori dodele. Tokovi podataka: ulaz i izlaz, datoteke, prilagođavanje tokova. Kategorije izraza: rvalue, lvalue, xvalue, glvalue, prvalue. Prenošenje vrednosti (parametri potprograma i povratna vrednost): po vrednosti, po pokazivaču, po lvalue referenci, po rvalue referenci. Greške u programu: reakcija programa na pojavu greške, pojava izuzetka, obrada izuzetaka, klase izuzetaka iz standardne biblioteke. Elementi standardne biblioteke: znakovni nizovi (stringovi), kontejneri, iteratori, algoritmi. Kontejneri: sekvencijalni (vektor, stek (stog), lista, red), asocijativni-uređeni i asocijativni-heširani (skup, mapa, multi-skup, multi-mapa). Iteratori: ulazni, izlazni, jednosmerni u napre i u nazad, bidirekcioni, sa direktnim pristupom. Algoritmi: za pretraživanje, izmenu, uređivanje, operacije sa hipom (heap).

Metodologija izvođenja nastave:

Predavanja; Računarske vežbe; Konsultacije. Ocena ispita se formira na osnovu uspeha sa laboratorijskih vežbi i teorijskog dela ispita.

Literatura:
Autori Naziv Godina Izdavač Jezik
Kupusinac, A. Zbirka rešenih zadataka iz programskog jezika C++ 2013 Fakultet tehničkih nauka, Novi Sad Srpski jezik
Bjarne Stroustrup Programming – Principles and Practices Using C++ 2014 Addison-Wesley Engleski
Kraus, L. Programski jezik C++ 1991 Mikro knjiga, Beograd Srpski jezik
Bjarne Stroustrup The C++ Programming Language (4th Edition) 2013 Addison-Wesley Engleski
Malbaški, D. Objektno orijentisano programiranje kroz programski jezik C++ 2008 Fakultet tehničkih nauka, Novi Sad Srpski jezik
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Teorijski deo ispita Ne Da 50.00
Predmetni projekat Da Da 25.00
Domaći zadatak Da Da 5.00
Prisustvo na računarskim vežbama Da Da 5.00
Složeni oblici vežbi Da Da 15.00
Izvođači nastave:
Računarske vežbe
Računarske vežbe
Računarske vežbe
Predavanja
Predavanja