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