You are on page 1of 5

OSNOVNI PODACI: Organizaciona jedinica Skraenica Katedra Predmet/modul VRSTA PREDMETA: Funkcionalna oblast Nivo apstraktnosti

Jezgreni Osnovni
01.07.300. FPI-CIT 01.06.040. 2.09.06.001. Katedra za softverski inenjering i vjetaku inteligenciju

Fakultet informacionih tehnologija

Principi programiranja

Tip predmeta-obaveznost Obavezni MATINOST PREDMETA: Nauna oblast Nauno polje Ua nauna oblast OPIS PREDMETA:
Introduces the fundamental concepts of procedural programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. Introduce the fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, Obrazovni i profesionalni the underlying philosophy of object-oriented programming, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), ciljevi: the basics of algorithmic analysis, and an introduction to the principles of language translation. The course also offers an introduction to the historical and social context of computing and an overview of computer science as a discipline ("Computing Curricula 2001 Computer Science"). Po zavretku kursa, student ima osnovna znanja o funkcionisanju raunarskog sistema i jezikog procesora. Nadalje, razumije pojam algoritma i programa, faza u razvoju programa, kao i razliite programske paradigme. Student je u stanju da razloi program u funkcionalne cjeline (potprograme). U stanju je da koristi algoritme pretraivanja i sortiranja, kao i dinamike strukture podataka u cilju rjeavanja problema. Pojam algoritma i programa. Faze u razvoju programa. Fundamentalni algoritmi i strukture podataka. Programski jezik C. Strukturno programiranje i modularni programi. Programske paradigme.
Razvoj raunarstva. Struktura i funkcionisanje raunarskog sistema. Programski jezici. Jeziki procesori. Struktura kompilatora i interpretatora. Neformalna i formalna definicija algoritma. Algoritamski nerjeivi problemi. Kompleksnost problema i algoritama, donja i gornja ocjena. NP-problemi. Faze u rjeavanju zadataka na raunaru. Elementarne komponente programskog jezika. Projektovanje programa. Programi zasnovani na iteraciji. Algoritmi pretraivanja i sortiranja. Potprogrami tj. funkcije. Rekurzija. Programi zasnovani na rekurziji. Rekurzivne procedure pretraivanja i 2 2.09. 2.09.06. Tehnike nauke Raunarstvo i informatika Softverski inenjering (programski jezici)

Kompetencije/obrazovni ishodi:

Savladane vjetine: Sadraj predmeta:

sortiranja. Dinamike strukture, sortiranje i pretraivanje dinamikih struktura. Izbor iz algoritama kombinatorike, geometrije, teorije grafova, obrade niski, numerike matematike. Strukturno i modularno programiranje. Korienje API-ja. Programske paradigme: proceduralno, funkcionalno, logiko programiranje, objektno programiranje i programiranje voeno dogadajima.
NAPOMENA: Plan studija i programski sadraji pojedinanih naunih disciplina koje ine jegro kompjuterskih nauka razraeni su prema standardima i programima " Computing Curricula 2001 Computer Science", meunarodno priznate profesionalne organizacije " IEEE Computer Society of the Institute for Electrical and Electronic Engineers " u saradnji sa asocijacijom "ACM - Association for Computing Machinery , koje je izradio zajedniki tim "The Joint Task Force on Computing Curricula ", kao svjetski standard akreditacije ovih programa.

Fundamental data structures: Primitive types; arrays; records; strings and string, processing, Stacks; queues; linked lists; hash tables; trees; graphs; Algorithms and problem-solving: Problem-solving strategies; the role of algorithms in the problem-solving process; implementation strategies for algorithms; debugging strategies; the concept and properties of algorithms; Fundamental computing algorithms: O(N log N) sorting algorithms; hash tables including collision-avoidance strategies; binary search trees; representations of graphs; depth- and breadth-first traversals Recursion: The concept of recursion; recursive mathematical functions; simple recursive procedures; divide-and-conquer strategies; recursive backtracking; implementation of recursion; Basic algorithmic analysis: Asymptotic analysis of upper and average complexity bounds; identifying differences among best, average, and worst case behaviors; big O, little o, omega, and theta notation; standard complexity classes; empirical measurements of performance; time and space tradeoffs in algorithms; using recurrence relations to analyze recursive algorithms Algorithmic strategies: Brute-force algorithms; greedy algorithms; divide-andconquer; backtracking; branch-and-bound; heuristics; pattern matching and string/text algorithms; numerical approximation algorithms Fundamental programming constructs: Syntax and semantics of a higher-level language; variables, types, expressions, and assignment; simple I/O; conditional and iterative control structures; functions and parameter passing; structured decomposition Machine level representation of data: Bits, bytes, and words; numeric data representation and number bases; representation of character data Introduction to net-centric computing: Background and history of networking and the Internet; demonstration and use of networking software including e-mail, telnet, and FTP Overview of object-oriented programming: Object-oriented design; encapsulation and information hiding; classes; separation of

behavior and implementation; class hierarchies; inheritance; polymorphism Overview of programming languages: Programming paradigms Software development methodology: Fundamental design concepts and principles; structured design; testing and debugging strategies; test-case design; programming environments; testing and debugging tools Social context of computing: History of computing and computers; evolution of ideas and machines; social impact of computers and the Internet; professionalism, codes of ethics, and responsible conduct; copyrights, intellectual property, and software piracy.

METRIKA PREDMETA:
Nastavne aktivnosti (as) ECTS Kontakt asovi Vjebe treninzi Seminarski i stud. radovi Pedagoke radionice Struna i klni. praksa Individualni rad Individual. i grupno uenje Istraiv. izvora SVEGA asova rada

40

18
Jezici naroda BiH

86

150

Jezici izvoenja nastave

PREDUSLOVI ZA PRISTUP ifra


2.09.11.013. 5.09.01.001. 2.09.01.001.

Naziv predmeta/modula znanja


Diskretne matematike strukture Komunikologija (sa teorijom informacija) Arhitektura raunarskih sistema i mrea

Ocjena

Opis uslova (dodatni)

METODIKA IZVOENJA PREDMETA


U toku obrade predmeta predviena su: 40 kontakt-sati interaktivnih predavanja; 18 sati za programske zadatke iz principa programiranja; 8 sati za istraivanje izvora. Predavanja se vre prema utvrenom rasporedu uz koritenje savremenih prezentacionih i demonstracionih sredstava i tehnika sa primjenom interaktivne metode rada sa studentima ime se stie uvid u njihova predznanja i specifina iskustva zasnovana na obraivanoj problematici, ali i uvid u kontiuitet savladavanja gradiva. Za predmet "Principi programiranja " predvieno je 40 kontakt-sati interaktivne nastave. Predavanja se izvode koritenjem didaktikih i edukativnih sadraja u elektronskoj i digitalnoj formi (koji ukljuuju i snimljena predavanja i mentorske vjebe ) na razliitim video-prezentacionim medijima (interaktivni multimedijalni optiki mediji). Nastava u cjelini se izvodi primjenom informaciono-komunikacionih tehnologija (ICT) koje omoguavaju studentima da kroz kompjuterski podrano uenje i istraivanje ( Computer Assisted Learning & Research)

ostvare aktivan odnos u procesu sticanja znanja uz pomo raunarske i komunikacione tehnologije, da ostvare dublju interakciju sa nastavnim sadrajima i primjenu istraivakih tehnika u samom procesu sticanja znanja. Student moe da vri konsultacije sa rukovodiocima nadlene Katedre za softverski inenjering i vjetaku inteligenciju u predvienim i planiranim terminima za konsultacije. Za obradu predmeta planirano je da student utroi i 8 sati na istraivanju izvora.

Zadaci za vjebanje (Problem Sets)


Programski zadaci iz oblasti principa programiranja, distribuiraju se studentima redovno - sedmino (najee putem interneta) pratei blokove gradiva koji su savladani tokom sedmice. Programski zadaci su izvedeni iz programskih sadraja predmeta i svojom strukturom odgovaraju zadacima koji e biti dati studentima na ispitu. Savladavanje programskih zadataka je za veinu studenata nabolji nain da se savlada gradivo sa traenim kvalitetom. Obraeni sedmini zadaci za vjebanje vraaju se predmetnom nastavniku i raunaju se kao uee studenata u kontaktnom radu - interakcija na predavanjima, te se boduju i uestvuju u konanoj strukturi ocjene do 30 %. Meutim nema kazni za netano uraene zadatke odn. za zadatke koji nisu vraeni predmetnom nastavniku. U tom sluaju, procenat uea ove kategorije rada studenata ne uestvuje u ukupnoj ocjeni i smanjuje konanu ocjenu za "jedan stepen". Takoe, izostanak ove kategorije rada studenata moe da se nadoknadi relociranjem tog gradiva na i spitne aktivnosti parcijalni test odn. ispitne aktivnosti finalni test.
Procesirani zadaci za vjebanje ne mogu da ugroze prolaznost na ovom predmetu, ali mogu da podignu postignutu ocjenu za jedan stepen i bez poveanja ispitnih testova.

Rjeenja za zadatke za vjebanje e biti objavljena i dostavljena studentima odmah nakon isteka vremena za predaju zadataka predmetnom nastaviku. Zadaci koji su dostavljeni nakon tog vremena nee se prihvatiti

Kolaborativni (grupi) rad studenata i koritenje vanjskih izvora uenja


Univerzitet ohrabruje studente na kolaborativni rad i grupno uenja na isti nain na koji se organizuje obrada nastavnih problema i vjebi u kontaktnom dijelu nastave. Grupe za uenje mogu da budu izvrstan nain za perfekcioniranje programske grae predmeta. Meutim, programski zadaci koji su dodjeljen studentu i koji su predmet evaluacije, moraju da se izrade samostalno bez kopiranja tuih rjeenja. Ukoliko se moraju navoditi izvori tada se obavezno primjenjuju akademski standardi citiranja. Ukoliko je rjeenje odn. zadani rad studenta, rezultat rada vie studenata, tada se moraju navesti svi uesnici u rjeenju odn. radu. Takoe, moraju se navesti i svi ostali izvori koje student koristi mimo materijala za uenje koji je definisan nastavnim programom i/ili materijala koji je distribuiran studentima. Univerzitet obeshrabruje studente, ali ne zabranjuje, koritenje ispitnih i problemskih pitanja i zadataka iz ranijih kolskih godina, koje su studenti pribavili na razne naine. Meutim, student je u takvim prilikama duan da navede koritenje takvog materijala kao izvora u rjeavanju domaih zadataka, odn. zadanih studentskih radova. Izostavljanje takvih navoda e se smatrati "plagijarizmom" i moe da bude predmet sankcionisanja.

EVALUACIJA RADA STUDENTA


Red. br. 01 02 03 04 05

Vrsta evaluacije
Uee u kontaktnom radu - interakcija na predavanjima Programski zadaci Ispitne aktivnosti parcijalni test (problemski test) Ispitne aktivnosti finalni test (problemski test)

Parcijalna/ konana predispitna obaveza predispitna obaveza parcijalni konani

Opciona / obavezna obavezni obavezni obavezni / opcioni obavezni

Procenat uea 10-20 % 20-30 % 10-20 % 30-60 %

LITERATURA / IZVORI (navedena po redosljedu vanosti)


Autor (Prezime, Ime) a/ Osnovna literatura Avramovi Z. Dejan Simi, Pavle Batavelji b/ Dopunska literatura Uvod u teorijske osnove programiranja Organizacija raunara i operativni sistemi Banja Luka Beograd Panevropski univer-zitet "APEIRON" FON 2006 2006 skripta knjiga Naziv publikacije Sjedite izdavaa Izdava God. izdanja Vrsta publk.*

c/ Ostali izvori - asopisi, Autor Prezime, Ime (ukoliko je izvor lanak) Naziv asopisa Sjedite izdavaa Izdava God. Vrsta izdanja asopisa

c/ Ostali izvori Internet (WEB) izvori Naziv sajta Adresa sajta Naziv rada/hiperlink Oitano

(*)Vrsta

publikacije (knjiga, skripta, kompendium, multimedija)

You might also like