(2021) Компоновање рачунарских програма – Владимир Миловановић

Preduzetnicki menadzment

Напомена: Основни универзитетски уџбеник "Компоновање рачунарских програма" можете купити у библиотеци Факултета инжењерских наука. Цена уџбеника је 500,00 динара.

Наслов: Компоновање рачунарских програма

Тип: Основни универзитетски уџбеник
Аутор: Владимир М. Миловановић
Издавач: Факултет инжењерских наука Универзитета у Kрагујевцу, Kрагујевац, 2021.
ISBN: 978-86-6335-081-6

Из предговора

Овај уџбеник је првенствено намењен студентима Факултета инжењерских наука у Крагујевцу који се школују за дипломиране инжењере електротехнике и рачунарства и слушају основе програмирања у првом семестру студија. Он такође може бити користан и студентима сродних факултета на којима се уводни програмерски концепти предају заснивајући се на програмском језику Пајтон. Уџбеник такође могу користити и самоуки ентузијасти, али и професионалци као референцу, односно неку врсту подсетника надасве добрих програмерских пракси.

Књига је писана у Sphinx генератору документације и поред штампаног издања, објављене су слободно доступне и електронске верзије уџбеника које се могу видети и преузети са интернет адресе https://milovanovic.github.io/krp и које су бесплатне.

Садржај

1.АПСТРАКЦИЈА ФУНКЦИЈАМА

    • Почетак
    • Елементи програмирања
    • Дефинисање нових функција
    • Пројектовање функција
    • Управљање
    • Функције вишег реда
    • Рекурзивне функције
  1. АПСТРАКЦИЈА ПОДАЦИМА
    • Увод
    • Апстракција података
    • Секвенце
    • Променљиви подаци
    • Објектно-оријентисано програмирање
    • Имплементација класа и објеката
    • Објектна апстракција
    • Ефикасност
    • Рекурзивни објекти
  2. ТУМАЧЕЊЕ РАЧУНАРСКИХ ПРОГРАМА
  • Увод
  • Функционално програмирање
  • Изузеци
  1. ОБРАДА ПОДАТАКА
  • Увод
  • Имплицитне секвенце
  • Расподељено израчунавање
  • Расподељена обрада података
  • Паралелна обрада
  1. ЗАКЉУЧАК

Из закључка

У основи приступа материји која је предмет овог уџбеника лежи уверење да рачунарство, односно у буквалном преводу „рачунарске науке“ (енг. computer science), није наука, те да сам значај рачунарства чак и нема првенствено везе са рачунарима. Рачунарска револуција заправо је револуција у начину размишљања и у начину изражавања идеја и онога што мислимо. Суштина ове промене је појава парадигме која би се најбоље могла назвати процедурална епистемологија - проучавање структуре знања са императивног становишта, за разлику од декларативног, то јест исказног гледишта класичних математичких предмета. Математика пружа алат и оквир за прецизно баратање појмовима у смислу шта је нешто. Израчунавање пружа оквир и алат за прецизно баратање појмовима како нешто урадити.

За преношење знања и излагање материје изабран је Пајтон, програмски језик високог нивоа који подржава безмало све основне програмерске парадигме: императивно (процедурално), објектно-оријентисано и функционално програмирање. У овом уџбенику Пајтон се не уводи, нити изучава формално, јер га читаоци и без тога савладају за релативно кратко време што је његова велика предност. На крају крајева, циљ и није био изучавати један програмски језик, већ програмирање као такво. Предмет и циљ градива јесу како нешто израчунати, па на том истом курсу и како разложити веће проблеме на мање целине које ће бити обрађиване појединачно. Још једна предност Пајтона је да подржава више стратегија модуларне декомпозиције и растављања програма. Као што је приказано у прва два поглавља, могу се вршити функционалне апстракције и апстракције података, могу се користити функције вишег реда за описивање уобичајених образаца употребе, могу се моделирати локална стања помоћу додељивања и мутације података. Затим, како је приказано у последњем поглављу, могу се повезати делови програма са токовима и одложеним вредновањем, програми се могу паралелизовати путем расподељеног израчунавања и обраде података, а такође се и лако могу имплементирати уграђени, тачније обласно-специфични језици. Све ово је уграђено у доступна интегрисана интерактивна развојна окружења са одличном подршком за инкрементално пројектовање, писање и тестирање програма, као и за отклањање грешака.

Најзад, кроз претходно изложену материју провејава један дух креационизма. Самим тим, за једну од најмоћнијих стратегија пројектовања програма проглашено је пуштање машти на вољу, односно одлагање одлуке о представи података и једноставно замишљање и сањарење које би функције биле најбоље да се одређени проблем реши на најједноставнији могући начин. И то изгледа да је тачно и у програмирању, једном када се у потпуности савладају основе и формализам, нијансе међу добрим инжењерима и програмерима су баш у тим детаљима који долазе из креативности саме индивидуе. И мада на први поглед делује да је дијаметрално супротно, компоновање неког музичког дела, јако личи на писање рачунарских програма. Отуда је и овај глагол употребљен као алегорија, тачније метафора у наслову уџбеника.

И коначно, иако многи, па и сам аутор, често каже да је програмирање занат, ипак је оно далеко више налик магији или уметности. И ако постоји једна једина ствар коју би читаоци требали да заувек запамте и понесу као закључак ове књиге - јесте управо та!

Претрага