Naziv predmeta KI102 Osnove programiranja
Opis predmeta
Računar nam omogućava da postavljene zadatke obavimo brže, efikasnije i tačnije nego što bi te iste zadatke uradili sami i ručno. To znači da mi moramo da specificiramo računaru šta želimo da on uradi za nas i na koji način. Stoga se studenti u okviru ovog predmeta pre svega upoznaju sa tim šta je računar, šta je rešavanje problema, i osposobljavaju se da pravilno fomulišu realni problem. Zatim se upoznaju sa programskim jezicima, paradigmama programskih jezika, sintatkom i semantikom programskih jezika, kao i njihovom osnovnom podelom. Kompjuter, naime,  nije inteligentan - on ne može da analizira problem i da onda osmisli rešenje za njega. Programer je taj koji mora da analizira problem, da razvije skup instrukcija za postavljeni problem, a tek onda da prosledi računaru te instrukcije koje on treba da izvrši. Stoga, u cilju rešavanja velike klase problema, studenti izučavaju osnovne stategije, pri čemu se detaljno izlažu koraci u rešavanju problema, kao što su: razumevanje problema, formulisanje modela, razvoj algoritma, pisanje programa, testiranje programa, i konačno, evaluacija rešenja problema. Nakon toga se studenti obučavaju da, u cilju lakšeg i efikasnijeg rešavanja složenog problema, algoritam podele na pod-algoritme ili module, koji služe za rešavanje prostijeg podproblema u okviru složenog problema. Na kraju se upoznaju sa uobičajenim i dobro poznatim algoritmima kompjuterskog sveta koji predstavljaju osnovu za sve druge probleme na koje mogu da naiđu u toku svog programerskog razvoja.
Program predmeta
Program predmeta obuhvata sledeće nastavne jedinice:
  1. Uvod u računare,
  2. Programski jezici,
  3. Paradigme programskih jezika,
  4. Programski jezici višeg nivoa,
  5. Koncepti tradicionalnog  programiranja,
  6. Osnovi o algoritmima,
  7. Postupak rešavanja problema,
  8. Razumevanje problema,
  9. Formulisanje modela,
  10. Razvoj algoritma,
  11. Pisanje programa,
  12. Testiranje programa,
  13. Evaluacija rešenja problema,
  14. Apstrakcija upravljanja i apstrakcija na više nivoa.
  15. Funkcije i procedure,
  16. Osnovne algoritamske strategije,
  17. Impementacija raznih algoritama.