Основи програмирања

Циљ и исход предмета

Циљ предмета је стицање основних знања из подручја развоја програмске подршке. Циљ се достиже учењем
и проучавањем: основних појмова о програмирању, основама развоја програмске подршке, основних
алгоритамских структура и њиховом применом у структуираном програмском језику.
По завршетку курса, студент има знања о основним појмовима из подручја програмирања, знаће користити
једноставне алгоритме и знати их имплементирати у одабраном структуираном програмском језику те ће
знати писати и тестирати програме који решавају једноставне рачунске проблеме кориштењем елементарних
и једноставних структурних типова података.

Теоријска настава

Програмирање, програмска подршка (системска и апликативна). Програмски језици и њихове основне
карактеристике (машински, асемблерски, програмски језици високог нивоа). Програмски преводиоци:
компајлери и интерпретери. Основе развоја програмске подршке (анализа и спецификација проблема, развој
алгоритма, писање и уношење програмских инструкција у рачунар, тестирање програма и отклањање
грешака, одржавање, израда документације). Приступи програмирању: монолитно, структуирано, објектно
орјентисано. Алгоритамске структуре: линијске, разгранате, цикличне. Начини кориштења развојних
окружења. Основни типови података и њихов запис у меморији рачунара. Подалгоритамске структуре:
функције и процедуре. Преношење параметара у програмирању и рад са стеком. Итерација и рекурзија.
Структурни типови података. Динамичко алоцирање меморије. Рад са улазно-излазним уређајима. Рад са
текстуалним и бинарним датотекама. Тестирање програма. Израда документације.

Практична настава

Упознавање са развојним окружењем за писање програма и његова примена. Начин компајлирања програма
и њиховог извршавања приказан на једноставним примерима. Писање једноставног програма у
структуираном програмском језику. Кориштење једноставних алгоритамских структура. Гранања и скокови
у програмирању. Наредбе за писање цикличних програмских структура. Рад са подалгоритамским
структурама – функцијама. Рад са структурним типовима подака. Дефинисање корисничких типова
података. Кориштење динамичког алоцирања меморије. Наредбе и функције за улаз и излаз, рад са
датотекама (текстуалним и бинарним).

2908-osnovi-programiranja