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 obuhvata sledeće nastavne jedinice:
- Uvod u računare,
- Programski jezici,
- Paradigme programskih jezika,
- Programski jezici višeg nivoa,
- Koncepti tradicionalnog programiranja,
- Osnovi o algoritmima,
- Postupak rešavanja problema,
- Razumevanje problema,
- Formulisanje modela,
- Razvoj algoritma,
- Pisanje programa,
- Testiranje programa,
- Evaluacija rešenja problema,
- Apstrakcija upravljanja i apstrakcija na više nivoa.
- Funkcije i procedure,
- Osnovne algoritamske strategije,
- Impementacija raznih algoritama.
|