Osnovi programiranja

Cilj i ishod predmeta

Cilj predmeta je sticanje osnovnih znanja iz područja razvoja programske podrške. Cilj se dostiže učenjem
i proučavanjem: osnovnih pojmova o programiranju, osnovama razvoja programske podrške, osnovnih
algoritamskih struktura i njihovom primenom u struktuiranom programskom jeziku.
Po završetku kursa, student ima znanja o osnovnim pojmovima iz područja programiranja, znaće koristiti
jednostavne algoritme i znati ih implementirati u odabranom struktuiranom programskom jeziku te će
znati pisati i testirati programe koji rešavaju jednostavne računske probleme korištenjem elementarnih
i jednostavnih strukturnih tipova podataka.

Teorijska nastava

Programiranje, programska podrška (sistemska i aplikativna). Programski jezici i njihove osnovne
karakteristike (mašinski, asemblerski, programski jezici visokog nivoa). Programski prevodioci:
kompajleri i interpreteri. Osnove razvoja programske podrške (analiza i specifikacija problema, razvoj
algoritma, pisanje i unošenje programskih instrukcija u računar, testiranje programa i otklanjanje
grešaka, održavanje, izrada dokumentacije). Pristupi programiranju: monolitno, struktuirano, objektno
orjentisano. Algoritamske strukture: linijske, razgranate, ciklične. Načini korištenja razvojnih
okruženja. Osnovni tipovi podataka i njihov zapis u memoriji računara. Podalgoritamske strukture:
funkcije i procedure. Prenošenje parametara u programiranju i rad sa stekom. Iteracija i rekurzija.
Strukturni tipovi podataka. Dinamičko alociranje memorije. Rad sa ulazno-izlaznim uređajima. Rad sa
tekstualnim i binarnim datotekama. Testiranje programa. Izrada dokumentacije.

Praktična nastava

Upoznavanje sa razvojnim okruženjem za pisanje programa i njegova primena. Način kompajliranja programa
i njihovog izvršavanja prikazan na jednostavnim primerima. Pisanje jednostavnog programa u
struktuiranom programskom jeziku. Korištenje jednostavnih algoritamskih struktura. Grananja i skokovi
u programiranju. Naredbe za pisanje cikličnih programskih struktura. Rad sa podalgoritamskim
strukturama – funkcijama. Rad sa strukturnim tipovima podaka. Definisanje korisničkih tipova
podataka. Korištenje dinamičkog alociranja memorije. Naredbe i funkcije za ulaz i izlaz, rad sa
datotekama (tekstualnim i binarnim).

2908-osnovi-programiranja