Cilj kursa: Savladavanje fundamentalnih principa programiranja, koji su neophodna osnova za svako dalje programiranje i projektovanje. Kurs predstavlja ulaz u svet programiranja, upoznavajući polaznika sa osnovnim elementima programskih jezika, njihovom sintaksom, tipovima podataka i kontrolnim strukturama. Savladavanje algoritamske postavke definisanog problema i izbor odgovarajućeg programerskog rešenja za implementaciju. Savladavanje osnovnih struktura podataka, kao bitnih preduslova za programiranje i modelovanje. Upoznavanje sa osnovnim principima na kojima se projektuju programski jezici, što omogućava lakši i brži prelazak sa jednog na drugi programski jezik.
Sadržaj kursa:
Osnovni algoritmi (sekvencijalni, repetitivni i selekcija)
Algoritamske strategije
Pravilan izbor odgovarajućeg algoritamskog rešenja
Vremenska i prostorna kompleksnost algoritama
Sintaksa i semantika programskih jezika
Vrste progamskih jezika
Namena programskih jezika
Apstrakcija i programski jezici
Podela na jezike nižih, srednjih i viših nivoa
Predstavljanje mašinskog jezika (asemblera)
Ključne i rezervisane reči
Kontrolne strukture
Tipovi podataka
Potprogrami
Prenos parametara pri pozivu potprograma
Strukture podataka
Algoritmi pretraživanja
Algoritmi sortiranja (heap sort, bin sort, quick sort),
Dinamički algoritmi
Tehnike programiranja
Izbor odgovarajuće tehnologije i programskog jezika
Faze razvoja softvera
Modeli razvoja softvera