Fakultet tehničkih nauka

Predmet: Osnove programiranja (17.SE0001)

Matične organizacione jedinice predmeta: Odsek za primenjene računarske nauke i informatiku
Osnovne informacije:
 
Kategorija Naučno-stručni
Uža naučna oblast Primenjene računarske nauke i informatika
Multidisciplinarna Ne
ESPB 9
Cilj:

Upoznavanje studenata sa osnovnim konceptima, elementima i strukturom računarskih programa, i osnovnim algoritmima za obradu podataka.

Ishod:

Nakon uspešno završenog kursa student poznaje koncepte računarskih programa i piše programe koji vrše interakciju sa korisnikom; rukuje različitim tipovima podataka u računarskom programu; koristi osnovne strukturne elemente programa: sekvence, selekcije i iteracije; koristi potprograme i vrši dekompoziciju složenijih programa; poznaje elemente procesa razvoja programa; poznaje elemente analize algoritama.

Sadržaj:

Pojam računarskog programa: uloga hardvera i softvera u računarskom sistemu; principi rada modernog računara; oblik i svrha programskih jezika; karakteristike programskog jezika Python; elementi Python programa. Rukovanje brojevima: pojam tipova podataka; numerički tipovi podataka; reprezentacija brojeva u računaru; akumulatorske promenljive; korišćenje matematičkih funkcija. Rukovanje stringovima: pojam stringa i njegova računarska reprezentacija; operacije nad stringovima; formatiranje stringova. Grananje u programu: pojam grananja u programu; jednostruko, dvostruko i višestruko grananje; obrada izuzetaka. Petlje i logički izrazi: pojam petlje; konačna i beskonačna petlja; interaktivna i sentinel petlja; ugnježdene petlje; Bulova algebra i Bulovi izrazi. Potprogrami: dekompozicija programa; pozivanje potprograma; prenos parametara i rezultata; kolekcije potprograma; pojam i primena rekurzije. Kolekcije podataka: pojam niza; operacije nad nizovima; višedimenzionalni nizovi; pojam rečnika; operacije nad rečnikom. Razvoj programa: reprezentacija realnog sistema u računarskom programu; top-down i spiralne tehnike razvoja programa; testiranje programa. Analiza algoritama: osnovne za analizu efikasnosti algoritama; pojam pretraživanja, linearna i binarna pretraga; pojam i algoritmi sortiranja.

Metodologija izvođenja nastave:

Predavanja; Računarske vežbe; Konsultacije. Završni ispit je usmeni. Ocena ispita se formira na osnovu uspeha sa računarskih vežbi i završnog ispita.

Literatura:
Autori Naziv Godina Izdavač Jezik
Lubanovic, B. Uvod u Python 2015 CET, Beograd Srpski jezik
J.M. Zelle Python Programming: An Introduction to Computer Science, 2nd edition 2010 Franklin, Beedle & Associates Engleski
Formiranje ocene:
Predmetna aktivnost Predispitna Obavezna Broj poena
Usmeni deo ispita Ne Da 50.00
Odbrana projekta Da Da 50.00
Izvođači nastave:
Računarske vežbe
Računarske vežbe
Računarske vežbe
Računarske vežbe
Predavanja
Računarske vežbe
Predavanja
Predavanja